はじめに,ブートディスクと同一の容量でかつ同一のスライス構成のLUをブートディスクのミラーの数だけ用意します。これらは,移行後のブートディスクになります。
(1) HDLMをインストールして環境を構築する
# reboot -- -r
(2) ブートディスクをHDLMの管理対象にする
ここでは次の図に示すデバイス名を使用して説明します。
図3-19 既存のブートディスクと移行後のブートディスク
既存のブートディスクのLUのデバイス名は,図のようにc6t50060E08000436D1d4とc6t50060E08000436D1d5であるとし,移行後のブートディスクのLUのデバイス名はc8t50060E08000436D1d6とc8t50060E08000436D1d7であるとします。
また,以降のコマンドおよび設定の例では,それぞれのスライスが次のように割り当てられていると仮定します。
表3-25 メタデバイスの名称
ブートディスク | ファイルシステム | ミラー | サブミラー |
---|---|---|---|
既存 | /(root) | d10 | d11 |
d12 | |||
swap | d20 | d21 | |
d22 | |||
/usr | d30 | d31 | |
d32 | |||
移行後 | /(root) | d100 | d101 |
d102 | |||
swap | d200 | d201 | |
d202 | |||
/usr | d300 | d301 | |
d302 |
# metainit -f d101 1 1 c8t50060E08000436D1d6s0
# metainit d100 -m d101
# metainit -f d201 1 1 c8t50060E08000436D1d6s1
# metainit d200 -m d201
# metainit -f d301 1 1 c8t50060E08000436D1d6s6
# metainit d300 -m d301
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/md/rdsk/d100
# newfs /dev/md/rdsk/d100
# newfs /dev/md/rdsk/d300
# mount /dev/md/dsk/d100 /mnt0
# mount /dev/md/dsk/d300 /mnt1
# ufsdump 0f - / | (cd /mnt0; ufsrestore rf -)
# ufsdump 0f - /usr | (cd /mnt1; ufsrestore rf -)
/dev/md/dsk/d20 - swap - no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 /usr ufs 1 no -
/dev/md/dsk/d200 - swap - no -
/dev/md/dsk/d300 /dev/md/rdsk/d300 /usr ufs 1 no -
DUMPADM_DEVICE=/dev/md/dsk/d20
(変更後)DUMPADM_DEVICE=/dev/md/dsk/d200
# metaroot -R /mnt0 d100
図3-20 移行後の環境からのブート
# swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d200 85,200 16 8409584 8409584
# dumpadm
Dump content: kernel pages
Dump device: /dev/md/dsk/d200 (swap)
Savecore directory: /var/crash/host
Savecore enabled: yes
# mount
/ on /dev/md/dsk/d100 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1540064 on Mon Mar 9 11:00:25 2009
/usr on /dev/md/dsk/d300 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=154012c on Mon Mar 9 11:00:25 2009
# metainit -f d102 1 1 c8t50060E08000436D1d7s0
# metattach d100 d102
# metainit -f d202 1 1 c8t50060E08000436D1d7s1
# metattach d200 d202
# metainit -f d302 1 1 c8t50060E08000436D1d7s6
# metattach d300 d302
# metadb -a c8t50060E08000436D1d6s7
# metadb -a c8t50060E08000436D1d7s7
# metaclear d10 d11 d12
# metaclear d20 d21 d22
# metaclear d30 d31 d32
# metadb -d c6t50060E08000436D1d4s7
# metadb -d c6t50060E08000436D1d5s7
# metastat
d100: Mirror
Submirror 0: d101
State: Okay
Submirror 1: d102
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 25190400 blocks (12 GB)
d101: Submirror of d100
State: Okay
Size: 25190400 blocks (12 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
/dev/dsk/c8t50060E08000436D1d6s0 0 No Okay Yes
d102: Submirror of d100
State: Okay
Size: 25190400 blocks (12 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
/dev/dsk/c8t50060E08000436D1d7s0 0 No Okay Yes
...
# /opt/DynamicLinkManager/bin/dlnkmgr view -path
Paths:000032 OnlinePaths:000026
PathStatus IO-Count IO-Errors
Reduced 791869 0
PathID PathName DskName iLU ChaPort Status Type IO-Count IO-Errors DNum HDevName
000000 0000.0000.0000000000653200.0006 HITACHI .DF600F .77010152 0034 0C Online Own 131762 0 - c8t50060E08000436D1d6
000001 0000.0000.0000000000653600.0006 HITACHI .DF600F .77010152 0034 1C Online Non 44 0 - c8t50060E08000436D1d6
000002 0001.0000.0000000000653200.0006 HITACHI .DF600F .77010152 0034 0C Online Own 131717 0 - c8t50060E08000436D1d6
000003 0001.0000.0000000000653600.0006 HITACHI .DF600F .77010152 0034 1C Online Non 44 0 - c8t50060E08000436D1d6
000004 0000.0000.0000000000653200.0007 HITACHI .DF600F .77010152 0043 0C Online Own 131670 0 - c8t50060E08000436D1d7
000005 0000.0000.0000000000653600.0007 HITACHI .DF600F .77010152 0043 1C Online Non 35 0 - c8t50060E08000436D1d7
000006 0001.0000.0000000000653200.0007 HITACHI .DF600F .77010152 0043 0C Online Own 131650 0 - c8t50060E08000436D1d7
000007 0001.0000.0000000000653600.0007 HITACHI .DF600F .77010152 0043 1C Online Non 35 0 - c8t50060E08000436D1d7