Here is the real-life-production example of upgrading SunFire V240 from system based on Solaris Voluma Manager (SVM) to one based on a ZFS.
The system has running ClearCase software, which supports software configuration management of source code.
The SVM system is Solaris 9 and the new one will be of course Solaris 10.
So here is the file system layout (the V240 has 2 x 73G and 2 x 146G disks).
The info about operational environment file systems:
{host}/> df -F ufs -h Filesystem size used avail capacity Mounted on /dev/md/dsk/d0 486M 84M 353M 20% / /dev/md/dsk/d3 1.5G 905M 529M 64% /usr /dev/md/dsk/d4 1.5G 639M 795M 45% /var /dev/md/dsk/d5 194G 174G 19G 91% /.0 |
{host}/> df -F lofs -h Filesystem size used avail capacity Mounted on /export/vobstore 194G 174G 19G 91% /vobstore /export/viewstore 194G 174G 19G 91% /viewstore /export/shipping 194G 174G 19G 91% /shipping /export/ccase_rls 194G 174G 19G 91% /ccase_rls |
{host}/> metastat -p d5 -m d25 d15 1 d25 2 1 c1t1d0s5 \ 1 c1t3d0s0 d15 2 1 c1t0d0s5 \ 1 c1t2d0s0 d1 -m d11 d21 1 d11 1 1 c1t0d0s1 d21 1 1 c1t1d0s1 d4 -m d14 d24 1 d14 1 1 c1t0d0s4 d24 1 1 c1t1d0s4 d3 -m d13 d23 1 d13 1 1 c1t0d0s3 d23 1 1 c1t1d0s3 d0 -m d10 d20 1 d10 1 1 c1t0d0s0 d20 1 1 c1t1d0s0 |
{host}/> metadb -i flags first blk block count a m p luo r 16 8192 /dev/dsk/c1t0d0s7 a p luo r 8208 8192 /dev/dsk/c1t0d0s7 a p luo r 16 8192 /dev/dsk/c1t1d0s7 a p luo r 8208 8192 /dev/dsk/c1t1d0s7 |
>foreach i (0 1 3 4) >metadetach d${i} d1${i} >metaclear d1${i} >end d0: submirror d10 is detached d10: Concat/Stripe is cleared d1: submirror d11 is detached d11: Concat/Stripe is cleared d3: submirror d13 is detached d13: Concat/Stripe is cleared d4: submirror d14 is detached d14: Concat/Stripe is cleared |
>metadetach d5 d15 d5: submirror d15 is detached >metaclear d15 d15: Concat/Stripe is cleared > metastat -p d5 -m d25 1 d25 2 1 c1t1d0s5 \ 1 c1t3d0s0 d4 -m d24 1 d24 1 1 c1t1d0s4 d3 -m d23 1 d23 1 1 c1t1d0s3 d1 -m d21 1 d21 1 1 c1t1d0s1 d0 -m d20 1 d20 1 1 c1t1d0s0 |
File system | Mount point | quota | owner | permissions | NFS options |
space-CC/cc-pri/var_adm_rational | /var/adm/rational | 1 | root:root | 0755 | off |
space-CC/cc-pri/vobstore | /vobstore | 400 | vobadm:ccusers | 0755 | rw=usershosts (one of our NIS netgroups) |
space-CC/cc-pri/viewstore | /viewstore | 20 | vobadm:ccusers | 2775 | rw=usershosts |
space-CC/cc-pri/ccase_rls | /ccase_rls | 20 | vobadm:ccusers | 0755 | ro |
space-CC/cc-pri/vobadm | /vobadm | 5 | vobadm:ccusers | 0755 | off |
space-CC/cc-pri/buildstore | /buildstore | 20 | vobadm:ccusers | 2775 | rw=usershosts |
space-CC/cc-pri/shipping | /shipping | 5 | root:root | 0555 | off |
> zfs set compression=off space-CC/cc-pri/vobstore > zfs set compression=off space-CC/cc-pri/viewstore > zfs get compression space-CC/cc-pri/viewstore NAME PROPERTY VALUE SOURCE space-CC/cc-pri/viewstore compression off local > zfs get compression space-CC/cc-pri/vobstore NAME PROPERTY VALUE SOURCE space-CC/cc-pri/vobstore compression off local |
- If some disk(s) not visible, run .devfsadm.. - Services metainit/meta/mdmonitor has to run > svcadm enable -r metainit meta mdmonitor - Create SVM database replica on swap slice on disk1: > metadb -afc 3 c1t1d0s1 - Create file /etc/lvm/md.tab and create metadevices from this file with command: >metainit -a >cat /etc/lvm/md.tab # /.0 d25 2 1 c1t1d0s5 \ 1 c1t3d0s0 # /var d24 1 1 c1t1d0s4 # /usr d23 1 1 c1t1d0s3 # / d20 1 1 c1t1d0s0 > metainit -a d25: Concat/Stripe is setup d24: Concat/Stripe is setup d23: Concat/Stripe is setup d20: Concat/Stripe is setup Create legacy mount points >umask 22 >mkdir .p /legacy/root ; mkdir .p /legacy/usr >mkdir .p /legacy/var ; mkdir .p /legacy/.0 Add lines to /etc/vfstab: /dev/md/dsk/d20 /dev/md/rdsk/d20 /legacy/root ufs 1 no ro /dev/md/dsk/d23 /dev/md/rdsk/d23 /legacy/usr ufs 1 no ro /dev/md/dsk/d24 /dev/md/rdsk/d24 /legacy/var ufs 1 no ro /dev/md/dsk/d25 /dev/md/rdsk/d25 /legacy/.0 ufs 2 no ro Run: mount /legacy/root mount /legacy/usr mount /legacy/var mount /legacy/.0 |
> rsync -avH /legacy/.0/ccase_rls/ /ccase_rls/ > rsync -avH /legacy/root/home/vobadm/ /vobadm/ |
>rsync -avH /legacy/var/adm/rational/ /var/adm/rational/ >rsync -avH /legacy/.0/viewstore/ /viewstore/ >rsync -avH /legacy/.0/vobstore/ /vobstore/ >rsync -avH /legacy/.0/shipping/ /shipping/ |
> egrep mountd /lib/svc/method/nfs-server # Start up mountd and nfsd if anything is exported. /usr/lib/nfs/mountd .v |
boot-device=bootdisk mirrdisk use-nvramrc?=true nvramrc= devalias bootdisk /pci@1c,600000/scsi@2/disk@0,0:a devalias mirrdisk /pci@1c,600000/scsi@2/disk@1,0:a |