Solaris Unlimited: Root Mirroring – Solaris Volume Manager:
HOWTO: Mirrored root disk on Solaris
# format c0t0d0Use the partition tool (=> "p <enter>, p <enter>"!) to setup the slices. We assume the following slice setup afterwards: # Tag Flag Cylinders Size Blocks - ---------- ---- ------------- -------- -------------------- 0 root wm 0 - 812 400.15MB (813/0/0) 819504 1 swap wu 813 - 1333 256.43MB (521/0/0) 525168 2 backup wm 0 - 17659 8.49GB (17660/0/0) 17801280 3 unassigned wm 1334 - 1354 10.34MB (21/0/0) 21168 4 var wm 1355 - 8522 3.45GB (7168/0/0) 7225344 5 usr wm 8523 - 14764 3.00GB (6242/0/0) 6291936 6 unassigned wm 14765 - 16845 1.00GB (2081/0/0) 2097648 7 home wm 16846 - 17659 400.15MB (813/0/0) 8195041. Copy the partition table of the first disk to its future mirror disk # prtvtoc /dev/rdsk/c0t0d0s2 fmthard -s - /dev/rdsk/c0t1d0s22. Create at least two state database replicas on each disk # metadb -a -f -c 2 c0t0d0s3 c0t1d0s3Check the state of all replicas with metadb: # metadbNotes: 3. Create the root slice mirror and its first submirror # metainit -f d10 1 1 c0t0d0s0 # metainit -f d20 1 1 c0t1d0s0 # metainit d30 -m d10Run metaroot to prepare /etc/vfstab and /etc/system (do this only for the root slice!): # metaroot d304. Create the swap slice mirror and its first submirror # metainit -f d11 1 1 c0t0d0s1 # metainit -f d21 1 1 c0t1d0s1 # metainit d31 -m d115. Create the var slice mirror and its first submirror # metainit -f d14 1 1 c0t0d0s4 # metainit -f d24 1 1 c0t1d0s4 # metainit d34 -m d146. Create the usr slice mirror and its first submirror # metainit -f d15 1 1 c0t0d0s5 # metainit -f d25 1 1 c0t1d0s5 # metainit d35 -m d157. Create the unassigned slice mirror and its first submirror # metainit -f d16 1 1 c0t0d0s6 # metainit -f d26 1 1 c0t1d0s6 # metainit d36 -m d168. Create the home slice mirror and its first submirror # metainit -f d17 1 1 c0t0d0s7 # metainit -f d27 1 1 c0t1d0s7 # metainit d37 -m d179. Edit /etc/vfstab to mount all mirrors after boot, including mirrored swap /etc/vfstab before changes: fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s1 - - swap - no - /dev/md/dsk/d30 /dev/md/rdsk/d30 / ufs 1 no logging /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /usr ufs 1 no ro,logging /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /var ufs 1 no nosuid,logging /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /home ufs 2 yes nosuid,logging /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /opt ufs 2 yes nosuid,logging swap - /tmp tmpfs - yes -/etc/vfstab after changes: fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/md/dsk/d31 - - swap - no - /dev/md/dsk/d30 /dev/md/rdsk/d30 / ufs 1 no logging /dev/md/dsk/d35 /dev/md/rdsk/d35 /usr ufs 1 no ro,logging /dev/md/dsk/d34 /dev/md/rdsk/d34 /var ufs 1 no nosuid,logging /dev/md/dsk/d37 /dev/md/rdsk/d37 /home ufs 2 yes nosuid,logging /dev/md/dsk/d36 /dev/md/rdsk/d36 /opt ufs 2 yes nosuid,logging swap - /tmp tmpfs - yes -Notes: 10. Reboot the system # lockfs -fa && init 611. Attach the second submirrors to all mirrors # metattach d30 d20 # metattach d31 d21 # metattach d34 d24 # metattach d35 d25 # metattach d36 d26 # metattach d37 d27Notes: You can use metastat to track the mirroring progress. 12. Change the crash dump device to the swap metadevice # dumpadm -d `swap -l tail -1 awk '{print $1}'13. Make the mirror disk bootable # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0Notes: 14. Determine the physical device path of the mirror disk # ls -l /dev/dsk/c0t1d0s0 ... /dev/dsk/c0t1d0s0 -> ../../devices/pci@1f,4000/scsi@3/sd@1,0:a15. Create a device alias for the mirror disk # eeprom "nvramrc=devalias mirror /pci@1f,4000/scsi@3/disk@1,0" # eeprom "use-nvramrc?=true"Add the mirror device alias to the Open Boot parameter boot-device to prepare the case of a problem with the primary boot device. # eeprom "boot-device=disk mirror cdrom net"You can also configure the device alias and boot-device list from the Open Boot Prompt (OBP a.k.a. ok prompt): ok nvalias mirror /pci@1f,4000/scsi@3/disk@1,0 ok use-nvramrc?=true ok boot-device=disk mirror cdrom netNotes: On my test system, I had to replace sd@1,0:a with disk@1,0. Use devalias on the OBP prompt to determine the correct device path. |
No comments:
Post a Comment