Dynamic Link Manager Software ユーザーズガイド(Solaris®用)
Solaris 11の場合の,ZFSブートディスク環境を作成する手順について説明します。
- この項の構成
- (1) ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行する
- (2) 移行後のZFSブートディスク環境を構築する
(1) ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行する
ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行します。移行する前に,ローカルブートディスク環境の/(root)ディレクトリ,/varディレクトリ,および/exportディレクトリをそれぞれバックアップしてください。
- ls -l コマンドを実行して,移行後のブートディスクとして使用する,HDLM デバイスの物理デバイスファイル名を確認します。
現在のローカルブートディスク環境の論理デバイスファイル名が「c6t50060E8010027A80d7s0」とした場合の例を次に示します。下線部分がHDLM デバイスの物理デバイスファイル名になります。# 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- 手順1.で確認したHDLM デバイスの物理デバイスファイル名を指定して,zpool createコマンドを実行し,SCSIデバイス上にルートプールを作成します。
ルートプール名を「hdlmpool」とした場合の例を次に示します。# zpool create hdlmpool /devices/pseudo/dlmndrv@1/dlmfdrv@w50060e8010027a80,7:a- zpool statusコマンドを実行して,ルートプールが正しく作成できていることを確認します。
# zpool status hdlmpool- installbootコマンドを実行して,ZFSブートディスク環境からOSをブートできるようにブートブロックをコピーします。
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c6t50060E8010027A80d7s0- 次のコマンドを実行して,空の/hdlmpool/boot/menu.lstを作成します。
# mkdir /hdlmpool/boot # touch /hdlmpool/boot/menu.lst- beadmコマンドを実行して,ZFSブートディスク環境を作成します。
# beadm create -p ルートプール名 -a 任意のZFSブートディスク環境名ルートプール名を「hdlmpool」,ZFSブートディスク環境名を「hdlmboot」とした場合の例を次に示します。# beadm create -p hdlmpool -a hdlmboot- beadm listコマンドを実行して,ZFSブートディスク環境が作成されていることを確認します。
作成したZFSブートディスク環境「hdlmboot」行の,「Active」が「R」となっていることを確認してください。# 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コマンドを実行して,現在のブートデバイスを確認します。
# eeprom boot-device boot-device=disk0この例では,「disk0」(内蔵ディスク)がブートデバイスに設定されています。- eepromコマンドを実行して,移行後のデバイスをブートデバイスに設定します。
- 移行後のZFSブートディスク環境がHDLM管理対象デバイスの場合
# eeprom boot-device=/pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@2,1/fp@0,0/disk@w50060e8010027a80,7:a- ブートデバイス名を設定する手順については「3.6.2 ブートディスク環境の構築の手順」の 「(5) 移行後の環境を構築する」 手順11を参照してください。
- 移行後のZFSブートディスク環境がHDLM管理対象外デバイスの場合
# eeprom boot-device=/pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@2,1/fp@0,0/disk@w50060e8010027a80,8:a- OBPに設定するデバイス名の取得方法については,使用しているHBAのマニュアルを参照してください。
- initコマンドを実行して,ホストを再起動します。
# init 6ホストを再起動するとき,rebootコマンドは使わないでください。- beadm listコマンドを実行して,作成したブートデバイス「hdlmboot」からOSがブートされたことを確認してください。
作成したブートデバイス「hdlmboot」行の,「Active」が「NR」となっていることを確認してください。# 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- HDLMコマンドのview -pathオペレーションを実行して,移行後のパスの状態を確認します。
移行後のZFSブートディスク環境がHDLM管理対象外デバイスの場合,この手順は必要ありません。# /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 ... #ブートデバイスに指定したHDLMデバイス「c6t50060E8010027A80d7」の下線部分のI/O回数がカウントされていることを確認してください。
移行後のZFSブートディスク環境を構築する手順について説明します。
ここでは,移行前のローカルブートディスク環境のルートプール名を「rpool」,移行後のZFSブートディスク環境のルートプール名を「hdlmpool」とします。
スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行する
スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行します。
- zfs createコマンドを実行して,移行後のルートプール「hdlmpool」にファイルシステムのスワップデバイスを作成します。
スワップデバイスおよびブロックのサイズは運用環境によって異なります。# zfs create -V 4G -b 8k hdlmpool/swap- 移行後のZFSブートディスク環境の/etc/vfstabファイルを編集して,スワップデバイスの定義を移行前の環境のローカルブートディスクから移行後の環境のZFSブートディスクに変更します。
例を次に示します。
- 変更前
/dev/zvol/dsk/rpool/swap - - swap - no -
- 変更後
/dev/zvol/dsk/hdlmpool/swap - - swap - no -- zfs createコマンドを実行して,移行後のルートプール「hdlmpool」にファイルシステムのダンプデバイスを作成します。
ダンプデバイスのサイズは運用環境によって異なります。# zfs create -V 3G hdlmpool/dump- dumpadmコマンドを実行して,移行後のZFSブートディスク環境のダンプデバイスに変更します。
# dumpadm -d /dev/zvol/dsk/hdlmpool/dump- dumpadmコマンドを実行して,ダンプデバイスが移行後の「hdlmpool/dump」に変更されたことを確認してください。
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/hdlmpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: onrpool/exportディレクトリ下のデータをZFSブートディスク環境に移行する
rpool/exportディレクトリ下のデータをZFSブートディスク環境に移行します。移行する前に,移行前のローカルブートディスク環境にあるrpool/exportディレクトリ下のバックアップをしてください。バックアップをしないと,移行前のローカルブートディスク環境での再起動ができなくなります。
- zfs snapshotのコマンドを実行して,移行前のローカルブートディスク環境にあるrpool/exportディレクトリのスナップショットを作成します。
# zfs snapshot -r rpool/export@2011-12-07.01- zfs sendおよびzfs receiveコマンドを実行して,作成したスナップショットの/exportディレクトリ下のデータを,移行後のZFSブートディスク環境のルートプール「hdlmpool」にコピーします。
# zfs send -vRp rpool/export@2011-12-07.01 | zfs receive -uvdF hdlmpool- zfs listコマンドを実行して,移行後のZFSブートディスク環境のルートプール「hdlmpool」にコピーされたことを確認します。
# zfs list -r hdlmpool/exportディレクトリ,および/export/homeディレクトリが表示されることを確認してください。- zfs destroyコマンドを実行して,移行前のrpool/exportディレクトリ下のデータを削除します。
移行前のrpool/exportディレクトリがあると,再起動時に移行前のrpool/exportディレクトリが先にマウントされ,移行後のhdlmpool/exportディレクトリがマウントに失敗してしまうおそれがあります。# zfs destroy -f -r rpool/export- zfs listコマンドを実行して,移行前のrpool/exportディレクトリ下のデータが削除されたことを確認します。
# zfs list -r rpool- initコマンドを実行して,ホストを再起動します。
# init 6ホストを再起動するとき,rebootコマンドは使わないでください。- beadm listコマンドを実行して,移行したブートデバイス「hdlmboot」でブートされたことを確認してください。
移行したブートデバイス「hdlmboot」行の,「Active」が「NR」であることを確認してください。# 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コマンドを実行して,ファイルシステムがマウントされていることを確認してください。
# 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/(root)ディレクトリ,/varディレクトリ,/exportディレクトリ,および/export/homeディレクトリが,移行後のルートプール「hdlmpool」でマウントされていることを確認してください。- dumpadmコマンドを実行して,ダンプデバイスが移行後のルートプール「hdlmpool」に移行されたことを確認します。
/dev/zvol/dsk/hdlmpool/dumpが有効であることを確認してください。- HDLMコマンドのview -pathオペレーションを実行して,移行後のパスの状態を確認します。
移行後のZFSブートディスク環境がHDLM管理対象外デバイスの場合は,この手順は必要ありません。# /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 ... #ブートデバイスに指定したHDLMデバイス「c6t50060E8010027A80d7」の下線部分のI/O回数がカウントされていることを確認してください。
All Rights Reserved. Copyright© 2011, 2013, Hitachi, Ltd.