Solaris 11の場合の,ZFSブートディスク環境を作成する手順について説明します。
(1) ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行する
ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行します。移行する前に,ローカルブートディスク環境の/(root)ディレクトリ,/varディレクトリ,および/exportディレクトリをそれぞれバックアップしてください。
# ls -l /dev/dsk/c6t50060E8010027A80d7s0
lrwxrwxrwx 1 root root 60 Nov 29 15:56 /dev/dsk/c6t50060E8010027A80d7s0 -> ../../devices/pseudo/dlmndrv@1/dlmfdrv@w50060e8010027a80,7:a
# zpool create hdlmpool /devices/pseudo/dlmndrv@1/dlmfdrv@w50060e8010027a80,7:a
# zpool status hdlmpool
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c6t50060E8010027A80d7s0
# mkdir /hdlmpool/boot
# touch /hdlmpool/boot/menu.lst
# beadm create -p ルートプール名 -a 任意のZFSブートディスク環境名
ルートプール名を「hdlmpool」,ZFSブートディスク環境名を「hdlmboot」とした場合の例を次に示します。# beadm create -p hdlmpool -a hdlmboot
# beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
hdlmboot R - 2.06G static 2011-12-06 11:37
solaris NR / 2.93G static 2011-11-29 14:42
# eeprom boot-device
boot-device=disk0
# eeprom boot-device=/pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@2,1/fp@0,0/disk@w50060e8010027a80,7:a
# eeprom boot-device=/pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@2,1/fp@0,0/disk@w50060e8010027a80,8:a
# init 6
ホストを再起動するとき,rebootコマンドは使わないでください。# beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
hdlmboot NR / 2.12G static 2011-12-06 11:37
solaris R - 2.94G static 2011-11-29 14:42
# /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.0000000000641000.000B HITACHI .DF600F .85011299 0008 0A Online Own 8840 0 - c6t50060E8010027A80d7
000001 0000.0000.0000000000641400.000B HITACHI .DF600F .85011299 0008 1A Online Own 1506 0 - c6t50060E8010027A80d7
...
#
(2) 移行後のZFSブートディスク環境を構築する
移行後のZFSブートディスク環境を構築する手順について説明します。
ここでは,移行前のローカルブートディスク環境のルートプール名を「rpool」,移行後のZFSブートディスク環境のルートプール名を「hdlmpool」とします。
スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行する
スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行します。
# zfs create -V 4G -b 8k hdlmpool/swap
/dev/zvol/dsk/rpool/swap - - swap - no -
/dev/zvol/dsk/hdlmpool/swap - - swap - no -
# zfs create -V 3G hdlmpool/dump
# dumpadm -d /dev/zvol/dsk/hdlmpool/dump
# dumpadm
Dump content: kernel pages
Dump device: /dev/zvol/dsk/hdlmpool/dump (dedicated)
Savecore directory: /var/crash
Savecore enabled: yes
Save compressed: on
rpool/exportディレクトリ下のデータをZFSブートディスク環境に移行する
rpool/exportディレクトリ下のデータをZFSブートディスク環境に移行します。移行する前に,移行前のローカルブートディスク環境にあるrpool/exportディレクトリ下のバックアップをしてください。バックアップをしないと,移行前のローカルブートディスク環境での再起動ができなくなります。
# zfs snapshot -r rpool/export@2011-12-07.01
# zfs send -vRp rpool/export@2011-12-07.01 | zfs receive -uvdF hdlmpool
# zfs list -r hdlmpool
/exportディレクトリ,および/export/homeディレクトリが表示されることを確認してください。# zfs destroy -f -r rpool/export
# zfs list -r rpool
# init 6
ホストを再起動するとき,rebootコマンドは使わないでください。# beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
hdlmboot NR / 2.18G static 2011-12-06 11:37
solaris R - 2.94G static 2011-11-29 14:42
# df
/ (hdlmpool/ROOT/hdlmboot):124234885 blocks 124234885 files
/var (hdlmpool/ROOT/hdlmboot/var):124234885 blocks 124234885 files
/export (hdlmpool/export ):124234885 blocks 124234885 files
/export/home (hdlmpool/export/home):124234885 blocks 124234885 files
/hdlmpool (hdlmpool ):124234885 blocks 124234885 files
# /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.0000000000641000.000B HITACHI .DF600F .85011299 0008 0A Online Own 8840 0 - c6t50060E8010027A80d7
000001 0000.0000.0000000000641400.000B HITACHI .DF600F .85011299 0008 1A Online Own 1506 0 - c6t50060E8010027A80d7
...
#