2009-06-17

How to do mirror on Solaris

How to do mirror OS on Solaris


Example Information:

Harddisk1 = Harddisk2
/ /dev/dsk/c1t0d0s0 size 30Gb
Swap /dev/dsk/c1t0d0s1 size 16GB #### about 2 x RAM size ####
Replica /dev/dsk/c1t0d0s7 size 30MB ### for save metadb

# prtvtoc /dev/rdsk/c1t0d0s2 fmthard -s - /dev/rdsk/c1t1d0s2
this command is copy layout Harddisk1 to Harddisk2


Step:
backup important file :
# cp /etc/system /etc/system.org
# cp /etc/vfstab /etc/vfstab.org

create metadb on replica
# metadb -a -c 3 -f c1t0d0s7 <-- the root disk
# metadb -a -c 3 -f c1t1d0s7 <-- rootmirror disk

create one way sub mirror for root disk
# metainit -f d10 1 1 c1t0d0s0 <-- the root partition

‘d10’ = sub mirror name

create raid 1 ( mirror )
# metainit d0 -m d10

‘d0’ = mirror name
‘d10’ = sub mirror name

edit /etc/vfstab and /etc/system by command.
# metaroot d0

If more file /etc/vfstab you’ll see.
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -

If more file /etc/system you’ll see.
forceload: misc/md_trans
forceload: misc/md_raid

forceload: misc/md_mirror
forceload: drv/pcisch
forceload: drv/qlc

rootdev:/pseudo/md@0:0,0,blk
* End MDD root info (do not edit)
Reboot
# init 6

After system boot up create another sub mirror
# metainit d20 1 1 c1t1d0s0

‘d20’ = sub mirror name

put new sub mirror into mirror
# metattach d0 d20

Put submirror ‘d20’ into mirror ‘d0’

Mirror for swap

Stop used swap.
# swap –l
swapfile dev swaplo blocks free
/dev/dsk/c1t0d0s1 85,1 16 16780208 16779760

# swap –d /dev/dsk/c1t0d0s1


create raid0 (concat) on swap for both disk
# metainit -f d11 1 1 c1t0d0s1
# metainit d21 1 1 c1t0d0s1

create raid1 (mirror) for swap
# metainit d1 –m d11
# metattach d1 d21

enable use swap
# swap –a /dev/md/dsk/d1


edit /etc/vfstab for automount next booting
/dev/md/dsk/d1 - - swap - no -