はじめに,ブートディスクと同一の容量でかつ同一のスライス構成のLUをブートディスクのミラーの数だけ用意します。これらは,移行後のブートディスクになります。
(1) 新しく用意したLUをHDLMの管理対象外にする
# reboot -- -r
(2) 環境を構築してHDLMをアンインストールする
ここでは次の図に示すデバイス名を使用して説明します。
図3-21 既存のブートディスクと移行後のブートディスク
既存のブートディスクのLUのデバイス名は,図のようにc8t50060E08000436D1d4とc8t50060E08000436D1d5であるとし,移行後のブートディスクのLUのデバイス名はc6t50060E08000436D1d6とc6t50060E08000436D1d7であるとします。
また,以降のコマンドおよび設定の例では,それぞれのスライスが次のように割り当てられていると仮定します。
表3-26 メタデバイスの名称
ブートディスク | ファイルシステム | ミラー | サブミラー |
---|---|---|---|
既存 | /(root) | d100 | d101 |
d102 | |||
swap | d200 | d201 | |
d202 | |||
/usr | d300 | d301 | |
d302 | |||
移行後 | /(root) | d10 | d11 |
d12 | |||
swap | d20 | d21 | |
d22 | |||
/usr | d30 | d31 | |
d32 |
# metainit -f d11 1 1 c6t50060E08000436D1d6s0
# metainit d10 -m d11
# metainit -f d21 1 1 c6t50060E08000436D1d6s1
# metainit d20 -m d21
# metainit -f d31 1 1 c6t50060E08000436D1d6s6
# metainit d30 -m d31
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/md/rdsk/d10
# newfs /dev/md/rdsk/d10
# newfs /dev/md/rdsk/d30
# mount /dev/md/dsk/d10 /mnt0
# mount /dev/md/dsk/d30 /mnt1
# ufsdump 0f - / | (cd /mnt0; ufsrestore rf -)
# ufsdump 0f - /usr | (cd /mnt1; ufsrestore rf -)
/dev/md/dsk/d200 - swap - no -
/dev/md/dsk/d300 /dev/md/rdsk/d300 /usr ufs 1 no -
/dev/md/dsk/d20 - swap - no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 /usr ufs 1 no -
DUMPADM_DEVICE=/dev/md/dsk/d200
(変更後)DUMPADM_DEVICE=/dev/md/dsk/d20
# metaroot -R /mnt0 d10
図3-22 移行後の環境からのブート
# swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d20 85,20 16 8409584 8409584
# dumpadm
Dump content: kernel pages
Dump device: /dev/md/dsk/d20 (swap)
Savecore directory: /var/crash/host
Savecore enabled: yes
# mount
/ on /dev/md/dsk/d10 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=154000a on Mon Mar 9 11:00:25 2009
/usr on /dev/md/dsk/d30 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=154001e on Mon Mar 9 11:00:25 2009
# metainit -f d12 1 1 c6t50060E08000436D1d7s0
# metattach d10 d12
# metainit -f d22 1 1 c6t50060E08000436D1d7s1
# metattach d20 d22
# metainit -f d32 1 1 c6t50060E08000436D1d7s6
# metainit d30 d32
# metadb -a c6t50060E08000436D1d6s7
# metadb -a c6t50060E08000436D1d7s7
# metaclear d100 d101 d102
# metaclear d200 d201 d202
# metaclear d300 d301 d302
# metadb -d c8t50060E08000436D1d4s7
# metadb -d c8t50060E08000436D1d5s7
# metastat
d10: Mirror
Submirror 0: d11
State: Okay
Submirror 1: d12
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 25190400 blocks (12 GB)
d11: Submirror of d10
State: Okay
Size: 25190400 blocks (12 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
/dev/dsk/c6t50060E08000436D1d6s0 0 No Okay Yes
d12: Submirror of d10
State: Okay
Size: 25190400 blocks (12 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
/dev/dsk/c6t50060E08000436D1d7s0 0 No Okay Yes
...