But I would personally use the root split method over the old one. On Tue, Sep 20, 2016 at 3:10 PM, Мартин Бохниг via openindiana-discuss <[email protected]> wrote: > Hello, > > I have no login credentials nor anything else other than ML access (and never > needed it nor asked for). > But here is some info you may find useful: > > A) As always in all periods/epochs/ages, I took wget copies of all important > sites. > So if anybody ever needs any mailing list copy, bugs database or download > central stuff from opensolaris.org, schillix, belenix, opensparc.net, or oi > or illumos etc, I can help you in most cases > > B) It took me 10 to 15 seconds from your question to google to finding the > links you are referring to (down atm) to google cache. > The content a few lines lower ... > > C) While not most but definitely at lot of most lightweight stuff should > always make it into webarchive.org. > > > Now your requested content: > > > MfG, %martin > > > How to migrate the root pool > Skip to end of metadata > * Page restrictions apply > * Added by Gary Mills , last edited by Predrag Zečević on Dec 05, 2013 ( > view change ) Go to start of metadata > * > I recently wanted to migrate the root pool to a new device. This turned out > to be easy to do, using extisting facilities. The original root pool was on > an old 80-gig disk. This system also had a data pool on a newer 1 TB disk. > Here's what the `format' command showed for them: > 0. c2t0d0 <Unknown-Unknown-0001 cyl 9726 alt 2 hd 255 sec 63> > /pci@0,0/pci1043,8389@11/disk@0,0 > 1. c2t2d0 <ATA-ST31000524AS-JC4B-931.51GB> > /pci@0,0/pci1043,8389@11/disk@2,0I > * wanted to migrate the root pool to a new SSD. The `format' command was > available to prepare the SSD. I could use the `zpool' command to create the > pool on that new device, and `beadm' and `installgrub' to perform the > migration. That part worked out nicely. I had to use a variety of commands > to complete the migration. > * Add the SSD: Just shut down the computer, install the SSD hardware, and > boot the system. Here's the new output from `format': > 0. c2t0d0 <Unknown-Unknown-0001 cyl 9726 alt 2 hd 255 sec 63> > /pci@0,0/pci1043,8389@11/disk@0,0 > 1. c2t1d0 <ATA-SanDiskSDSSDP06-0 cyl 9966 alt 2 hd 224 sec 56> > /pci@0,0/pci1043,8389@11/disk@1,0 > 2. c2t2d0 <ATA-ST31000524AS-JC4B-931.51GB> > /pci@0,0/pci1043,8389@11/disk@2,0 > * Prepare the SSD: Create the fdisk partition within `format': > format> fdisk > No fdisk table exists. The default partition for the disk is: > a 100% "SOLARIS System" partition > Type "y" to accept the default partition, otherwise type "n" to edit the > partition table. > y > > * Create the slice: > partition> 0 > Part Tag Flag Cylinders Size Blocks > 0 unassigned wm 0 0 (0/0/0) 0 > Enter partition id tag[unassigned]: root > Enter partition permission flags[wm]: > Enter new starting cyl[1]: 3 > Enter partition size[0b, 0c, 3e, 0.00mb, 0.00gb]: $ > partition> p > Current partition table (unnamed): > Total disk cylinders available: 9965 + 2 (reserved cylinders) > Part Tag Flag Cylinders Size Blocks > 0 root wm 3 - 9964 59.59GB (9962/0/0) 124963328 > 1 unassigned wm 0 0 (0/0/0) 0 > 2 backup wu 0 - 9964 59.61GB (9965/0/0) 125000960 > 3 unassigned wm 0 0 (0/0/0) 0 > 4 unassigned wm 0 0 (0/0/0) 0 > 5 unassigned wm 0 0 (0/0/0) 0 > 6 unassigned wm 0 0 (0/0/0) 0 > 7 unassigned wm 0 0 (0/0/0) 0 > 8 boot wu 0 - 0 6.12MB (1/0/0) 12544 > 9 unassigned wm 0 0 (0/0/0) 0 > partition> l > Ready to label disk, continue? y > * Get the root pool version: > # zpool get all rpool > NAME PROPERTY VALUE SOURCE > rpool size 74G - > ... > rpool version 28 local > > * Try to create the new root pool, with a new pool name: > # zpool create -o version=28 rpool1 c2t1d0s0 > invalid vdev specification > use '-f' to override the following errors: > /dev/dsk/c2t1d0s0 overlaps with /dev/dsk/c2t1d0s2 > > * Try again with the force option: > # zpool create -f -o version=28 rpool1 c2t1d0s0 > # zpool list > NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT > dpool 928G 85.6G 842G 2.50M 9% 1.00x ONLINE - > rpool 74G 7.05G 66.9G - 9% 1.00x ONLINE - > rpool1 59.5G 108K 59.5G - 0% 1.00x ONLINE - > > * Create the BE, on the new device with a new name: > # beadm create -p rpool1 oi_151a6x > WARNING: menu.lst file /rpool1/boot/grub/menu.lst does not exist, > generating a new menu.lst file > Created successfully > > * Verify that it exists: > # beadm list > BE Active Mountpoint Space Policy Created > oi_151a6 NR / 5.98G static 2012-09-13 16:33 > oi_151a6x R - 4.15G static 2013-06-06 15:55 > openindiana - - 13.5M static 2012-09-13 08:55 > > * Install the boot blocks: > # installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c2t1d0s0 > Updating master boot sector destroys existing boot managers (if any). > continue (y/n)?y > stage2 written to partition 0, 277 sectors starting at 50 (abs 12594) > stage1 written to partition 0 sector 0 (abs 12544) > stage1 written to master boot sector > > * Change the BIOS boot order by shutting the system down and entering the > BIOS setup. Then put the SSD first in the boot order and reboot. > * At this point, I upgraded to oi_151a7. This confirmed that the new root > pool was functional. Here's the initial boot environment: > # beadm list > BE Active Mountpoint Space Policy Created > oi_151a6 R - 6.01G static 2012-09-13 16:33 > oi_151a6x NR / 4.33G static 2013-06-06 15:55 > openindiana - - 13.5M static 2012-09-13 08:55 > > * Upgrade: > # pkg image-update --be-name oi_151a7 > WARNING: The boot environment being modified is not the active one. > Changes made in the active BE will not be reflected on the next boot. > Packages to update: 895 > Create boot environment: Yes > Create backup boot environment: No > ... > A clone of oi_151a6x exists and has been updated and activated. > On the next boot the Boot Environment oi_151a7 will be > mounted on '/'. Reboot when ready to switch to this updated BE. > > * Check the BEs again: > # beadm list > BE Active Mountpoint Space Policy Created > oi_151a6 R - 6.01G static 2012-09-13 16:33 > oi_151a6x N / 101K static 2013-06-06 15:55 > oi_151a7 R - 5.31G static 2013-06-06 16:56 > openindiana - - 13.5M static 2012-09-13 08:55 > > * Shut down OS: > # init 5 > updating //platform/i86pc/boot_archive > updating //platform/i86pc/amd64/boot_archive > > * Press the `Power' button to reboot. Confirm that the upgrade was > successful. Notice that there are still two active boot environments: > $ beadm list > BE Active Mountpoint Space Policy Created > oi_151a6 R - 6.01G static 2012-09-13 16:33 > oi_151a6x - - 16.8M static 2013-06-06 15:55 > oi_151a7 NR / 5.33G static 2013-06-06 16:56 > openindiana - - 13.5M static 2012-09-13 08:55 > > * Some of the old root pool is still in use. My home directory was on > rpool/export/home/mills . To simplify this migration, I decided to move it > to the data pool. First, create new filesystems on the data pool: > # zfs create dpool/export > # zfs create dpool/export/home > > * My home directory in the /etc/passwd file was automounted to /home/mills > from /export/home/mills . The first thing I did was to copy it to > /dpool/export/home/mills using `cpio'. Then I edited /etc/passwd to change > my home directory to /dpool/export/home/mills . After that change, it was no > longer automounted. After a reboot, I confirmed that the old root pool was > no longer needed for my home directory: > # zfs unmount rpool/export/home/mills > # zfs unmount rpool/export/home > # zfs unmount rpool/export > > * Still, there are a few pieces left: > # zfs list | egrep 'dump|swap' > rpool/dump 895M 65.5G 895M - > rpool/swap 952M 65.8G 637M - > > * To move the dump device, first get the properties of the old one: > $ zfs get all rpool/dump | egrep 'SOURCE|local' > NAME PROPERTY VALUE SOURCE > rpool/dump volsize 895M local > rpool/dump checksum off local > rpool/dump compression off local > rpool/dump refreservation none local > rpool/dump dedup off local > > * Create another one on rpool1: > # zfs create -o checksum=off -o compression=off -o refreservation=none -o > dedup=off -V 895M rpool1/dump > > * Try to move it: > # dumpadm -d /dev/zvol/dsk/rpool1/dump > dumpadm: dump device /dev/zvol/dsk/rpool1/dump is too small to hold a > system dump > dump size 1812297728 bytes, device size 938475520 bytes > # dumpadm > Dump content: kernel pages > Dump device: /dev/zvol/dsk/rpool/dump (dedicated) > Savecore directory: /var/crash/ati > Savecore enabled: no > Save compressed: on > > * Expand the volume and try again: > # dumpadm -d /dev/zvol/dsk/rpool1/dump > Dump content: kernel pages > Dump device: /dev/zvol/dsk/rpool1/dump (dedicated) > Savecore directory: /var/crash/ati > Savecore enabled: no > Save compressed: on > * Now, get the properties of the old swap device: > $ zfs get all rpool/swap | egrep 'SOURCE|local' > NAME PROPERTY VALUE SOURCE > rpool/swap volsize 895M local > rpool/swap refreservation 952M local > > * Create a new one on rpool1: > # zfs create -o refreservation=952M -V 895M rpool1/swap > > * Move the swap device by editing /etc/vfstab: > o Move the swap device by editing /etc/vfstab: > root@ati:/etc# cp -p vfstab vfstab- > root@ati:/etc# ex vfstab > root@ati:/etc# diff vfstab- vfstab > 12c12 > < /dev/zvol/dsk/rpool/swap - - swap - > no - > --- > > /dev/zvol/dsk/rpool1/swap - - swap - > no - > > * Reboot and confirm that rpool is no longer used: > # dumpadm > Dump content: kernel pages > Dump device: /dev/zvol/dsk/rpool1/dump (dedicated) > Savecore directory: /var/crash/ati > Savecore enabled: no > Save compressed: on > # swap -l > swapfile dev swaplo blocks free > /dev/zvol/dsk/rpool1/swap 96,2 8 1832952 1832952 > # beadm list BE > Active Mountpoint Space Policy Created > oi_151a6 R - 6.01G static 2012-09-13 16:33 > oi_151a6x - - 16.8M static 2013-06-06 15:55 > oi_151a7 NR / 5.34G static 2013-06-06 16:56 > openindiana - - 13.5M static 2012-09-13 08:55 > # zpool list > NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT > dpool 928G 85.6G 842G 2.50M 9% 1.00x ONLINE - > rpool 74G 6.19G 67.8G - 8% 1.00x ONLINE - > rpool1 59.5G 7.17G 52.3G - 12% 1.00x ONLINE - > > * Export the pool and observe the result: > # zpool export rpool > # zpool list > NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT > dpool 928G 85.6G 842G 2.50M 9% 1.00x ONLINE - > rpool1 59.5G 7.18G 52.3G - 12% 1.00x ONLINE - > # zfs list > NAME USED AVAIL REFER MOUNTPOINT > dpool 85.6G 828G 24K /dpool > dpool/export 83.8G 828G 22K /dpool/export > dpool/export/home 83.8G 828G 83.8G /dpool/export/home > dpool/opt 1.82G 828G 1.82G /dpool/opt > dpool/opt/local 21K 828G 21K /dpool/opt/local > rpool1 8.10G 50.5G 36.5K /rpool1 > rpool1/ROOT 5.17G 50.5G 31K legacy > rpool1/ROOT/oi_151a6x 16.8M 50.5G 4.33G / > rpool1/ROOT/oi_151a7 5.16G 50.5G 4.27G / > rpool1/dump 2.00G 50.5G 2.00G - > rpool1/swap 952M 51.4G 16K - > # getent passwd mills > mills:x:107:10:Gary Mills:/dpool/export/home/mills:/bin/ksh > # beadm list > BE Active Mountpoint Space Policy Created > oi_151a6x - - 16.8M static 2013-06-06 15:55 > oi_151a7 NR / 5.34G static 2013-06-06 16:56 > > * I could have resumed automounting my home directory by changing the mount > point of dpool/export to /export, but I decided to leave it the way it was. > * Here's another upgrade, just to confirm that the new root pool was correct: > # pkg image-update --be-name oi_151a8 > Packages to remove: 16 > Packages to install: 6 > Packages to update: 879 > Create boot environment: Yes > Create backup boot environment: No > DOWNLOAD PKGS FILES XFER (MB) > Completed 901/901 22745/22745 566.2/566.2 > PHASE ACTIONS > Removal Phase 13844/13844 > Install Phase 12382/12382 > Update Phase 23637/23637 > PHASE ITEMS > Package State Update Phase 1780/1780 > Package Cache Update Phase 895/895 > Image State Update Phase 2/2 > ... > root@ati:~# beadm list > BE Active Mountpoint Space Policy Created > oi_151a6x - - 16.8M static 2013-06-06 15:55 > oi_151a7 N / 11.4M static 2013-06-06 16:56 > oi_151a8 R - 8.76G static 2013-08-11 16:12 > # bootadm list-menu > the location for the active GRUB menu is: /rpool1/boot/grub/menu.lst > default 2 > timeout 30 > 0 oi_151a6x > 1 oi_151a7 > 2 oi_151a8 > # init 5 > > * Press the power switch to reboot. The upgrade was successful, completing > the migration to a new device. > > Labels: > None Edit Labels > 3 Comments > Hide/Show Comments > * > Dec 06, 2013 > Predrag Zečević > Hi, > I have also wanted to try SSD (Samsung SSD 840, 120 GB). My current rpool was > on 160 GB HD 7200RPM. I have used slightly different approach, which worked > (I am now writing this from system booted from SSD). > First, I have created same partition layout as existing rpool had (slices 0, > 2 and 8 - similar like in this example). BTW, I have attached SSD disk via > USB docking station... > Then I have created new pool (I have found disk ID using format and fdisk > utilities in steps mentioned at the beginning of this page): > > Next phase is to take recursive snapshot of rpool and to send (verbose= -v , > recursive= -R ) it to and receive it (keep structure= -d , force= -F ) to > new rpool (I have named it RPOOL): > > BTW, my installation has user home directories on second HD, as well as /opt > directory. Boot disk ( rpool in such environment) has occupied 26 GB of > space and system took 28 minutes under normal activities to send/receive > pool... > Now, we need to make new disk bootable. Check (compare and set bootfs > property of new root pool): > > After this, new pool has to be exported and grub installed: > > Now, you can shutdown system and shuffle disks. If you have put SSD disk to > same controller, nothing to do... But, if you have changed location of it, > then you have to fix BIOS boot order. > I found easy enough to boot system FIRST from latest /hipster USB text > installation image (less than 1GG, easy to create - and my installation IS > /hipster one) in order to import copy of rpool under new name: > > After you have started reboot, skip step of booting from removable device and > your system should be started from SSD now. > My impression is that all this is NOT enough to have all benefits of SSD disk > usage... > Actually, I could not say that systems is significantly faster than boot from > normal HD, but it might be needed to do some optimizations. > This is how I did moved rpool to SSD (pardon me on my mistakes in English). > Regards. > P.S. Resources used (beside this page): > * http://ptribble.blogspot.de/2012/09/recursive-zfs-send-and-receive.html > * http://waddles.org/content/replicating-zfs-root-disks > > * Permalink > * > Nov 15, 2014 > Jon Strabala > Predrag > You might be able to do this via "zpool split" without using snapshots ( I > have not tried all these spteps ... yet ) > Lets's assume > * you have a rpool that is a bare drive or a mirrored set with the drive or > one of the members "c1t0d0s0" > * you want to migrate the root pool to a new disk (same size or maybe > bigger) to a new disk "c1t2d0s0" > * Note I'm not sure about any issues that might be caused via a 512 byte vs > 4K disk sector mismatch > so lets assume the sector sizes match on all the disks (old and new) . > Note "zpool split" is not documented in in the illumos man page Bug #2897 > Step 1 - I imaging a "cleaner procedure' with out relying on snapshots might > be doing something like the following: > # zpool attach rpool c1t0d0s0 c1t2d0s0 > # zpool status rpool > *** wait for resilver to complete **** > Step 2 - Now split off the new device it's a perfect clone (by default it > takes the last one added - but we could specify c1t2d0s0 as the last arg ) > # zpool split rpool rpool2 > # installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t2d0s0 > [Optional] You have your clone albiet with a different pool name, however > what if your new drive is larger - your not using the space - but you can > # zfs list > # zpool set autoexpand=on rpool2 > [Optional] not done yet look at how much space you can expand and use and > then use your new space > # zpool get expandsize rpool2 > # zpool online -e rpool2 > # zfs list > # zpool set autoexpand=off rpool2 > [Optional] at this point the new cloned disk may be bigger than the disks you > cloned from if so no more using those old disks later as part of a mirror > with the new disk > Step 3. Time to set up the cloned disk to boot (we need to change it's pool > name ) so shut down and power off > # init 0 > Step 4. Remove the old OS drive (or drives) which is either the original > stand alone disk or the entire original mirror set . > Step 5. Boot from the latest /hipster USB text image - only way I know of to > change the pool name back to 'rpool' > Step 6. Now import the device and change its name from rpool2 to rpool > # zpool import -f rpool2 rpool > # init 6 > IMHO Step 1 & 2 make a perfect clone except for the pool name - it would be > cool if there was a zpool command to rename the split e.g. rpool2 to rpool > WITHOUT bringing it online as it would have a "name" conflict and then you > remove it offsite as a hot spare OS clone backup without rebooting to a > /hipster image to rename it. > > * Permalink > * > Sep 03, 2014 > Stefan Müller-Wilken > Procedure for SPARC (as reported by igork on #oi-dev): need install zfs boot > block by: installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk > /dev/rdsk/c2t1d0s0 > * Permalink > > Powered by a free Atlassian Confluence Community License granted to > OpenIndiana. Evaluate Confluence today . > * Powered by Atlassian Confluence 4.1.7 , the Enterprise Wiki > * Printed by Atlassian Confluence 4.1.7, the Enterprise Wiki. > * · Report a bug > * · Atlassian News > > > > > > >>Вторник, 20 сентября 2016, 10:25 UTC от "Hans J. Albertsson" >><[email protected]>: >> >>Was going to refer to an old document on migrating the root pool, but I >>get 503 Service unavailable from anywhere on wiki.openindiana.org. >> >>Is anyone looking after this site? Will it reappear?? >>Is Gary Mills' short piece on migrating the root pool available elsewhere?? >> > _______________________________________________ > openindiana-discuss mailing list > [email protected] > https://openindiana.org/mailman/listinfo/openindiana-discuss
-- --- Praise the Caffeine embeddings _______________________________________________ openindiana-discuss mailing list [email protected] https://openindiana.org/mailman/listinfo/openindiana-discuss
