Hitachi Dynamic Link Manager ユーザーズガイド(Solaris用)
Solaris 11.0~11.3の場合に,ZFSブートディスク環境からローカルブートディスク環境へ移行する手順を次に示します。
現在のHDLMデバイス上のブートディスク環境をローカルブートディスク環境に移行するには,ブートディスクと同容量のLUが必要となります。
- 注意事項
- EFIラベルの手順はSolaris 11.1以降でサポートします。
- VTOCラベルの手順はOSバージョンでの制限はありません。
- この項の構成
- (1) 新しいブート環境を作成する
- (2) 移行後のZFSブートディスク環境を構築する
- (3) ZFSブートディスク環境に移行する
- (4) 再起動したあと確認する
- zpool importコマンドを実行して,ルートプール(rpool)のIDを調査します。
# zpool import pool: rpool id: 6462316201492788659 state: ONLINE status: The pool is formatted using an older on-disk version. action: The pool can be imported using its name or numeric identifier, though some features will not be available without an explicit 'zpool upgrade'. config: rpool ONLINE c1t0d0s0 ONLINE- zpool importコマンドをIDを指定して実行し,ルートプールをインポートします。
# zpool import 6462316201492788659 cannot mount 'rpool/export' on '/export': directory is not empty cannot mount 'rpool/export' on '/export': directory is not empty cannot mount 'rpool/export/home' on '/export/home': failure mounting parent datasetルートプールをインポートすると,上記のようにマウントできないことを示すメッセージが出力されます。これは,hdlmpool/exportを現在使用しているために発生する現象です。このメッセージは無視して,以降の手順を実施してください。
ブートディスクを作成しようとしているローカルディスクにルートプールがない場合は,ルートプールを作成します。ローカルディスクのデバイスファイルのスライス0に全ディスクの容量を割り当ててください。# zpool create -f rpool(ローカルディスクのデバイスファイル名)ローカルディスクのデバイスファイル名がc1t0d0(disk0)である場合の例を次に示します。
- VTOCラベルの場合
VTOCラベルの場合は,HDLMデバイス名のあとにスライス0を指定してください。# zpool create -f rpool c1t0d0s0- EFIラベルの場合
EFIラベルの場合は,HDLMデバイス名のあとにスライスは指定しないでください。# zpool create -f rpool c1t0d0- ルートプールをインポートした結果,rpool/exportのZFSファイルシステムが存在している場合は,次回起動時にマウントしないように設定します。 rpool/exportはhdlmpool/exportとマウントポイントが同じであるため,次回起動時にマウントできません。このため,以下の設定を行い,rpool/exportをマウントしないように設定します。
# zfs set canmount=off rpool/export # zfs set canmount=off rpool/export/home- beadm createコマンドで新しいブート環境を作成します。
# beadm create -p インポートしたローカルディスク上のルートプール名 -a 任意のZFSブートディスク環境名ルートプール名を「rpool」,ZFSブートディスク環境名を「solaris-2」とした場合の例を次に示します。ZFSブートディスク環境名はbeadm listコマンドで確認して,重複のない名称を指定してください。# beadm create -p rpool -a solaris-2- beadm listコマンドを実行して,ZFSブートディスク環境が作成されていることを確認します。
作成したZFSブートディスク環境「hdlmboot」行の,「Active」が「R」となっていることを確認してください。# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- hdlmboot NR / 2.06G static 2011-12-06 11:37 solaris - - 2.93G static 2011-11-29 14:42 solaris-2 R - 4.84G static 2011-12-11 14:01- Solaris 11.2以降の場合は,次のコマンドを実行してください。
# zfs set canmount=off rpool/VARSHARE/zonesこのコマンドを実行しないと,手順8でホストを再起動したときに,メンテナンスモードで起動しますので注意してください。- eepromコマンドを実行して,移行後のデバイスをブートデバイスに設定します。
ローカルディスクとして,disk0にブート環境を設定した場合は以下のように設定します。# eeprom boot-device=disk0- initコマンドを実行して,ホストを再起動します。
# init 6ホストを再起動するとき,rebootコマンドは使わないでください。- beadm listコマンドを実行して,作成したブート環境「solaris-2」からOSがブートされたことを確認してください。
作成したブート環境「solaris-2」行の,「Active」が「NR」となっていることを確認してください。# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- hdlmboot R - 2.06G static 2011-12-06 11:37 solaris - - 2.93G static 2011-11-29 14:42 solaris-2 NR / 4.84G static 2011-12-11 14:01
移行後のZFSブートディスク環境を構築する手順について説明します。
ここでは,移行前のローカルブートディスク環境のルートプール名を「hdlmpool」,移行後のZFSブートディスク環境のルートプール名を「rpool」とします。スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行します。
- ファイルシステムとして,rpool/swapが存在しない場合はzfs createコマンドを実行して,移行後のルートプール「rpool」にファイルシステムのスワップデバイスを作成し,使用可能にします。また,hdlmpoolのスワップデバイスは使用を解除します。スワップデバイスおよびブロックのサイズは運用環境によって異なります。
# zfs create -V 4G -b 8k rpool/swap # swap -a /dev/zvol/dsk/rpool/swap # swap -d /dev/zvol/dsk/hdlmpool/swap- 移行後のZFSブートディスク環境の/etc/vfstabファイルを編集して,スワップデバイスの定義を移行前の環境のローカルブートディスクから移行後の環境のZFSブートディスクに変更します。
例を次に示します。
- 変更前
/dev/zvol/dsk/hdlmpool/swap - - swap - no -- 変更後
/dev/zvol/dsk/rpool/swap - - swap - no -- ファイルシステムとして,rpool/dumpが存在しない場合は,zfs createコマンドを実行して,移行後のルートプール「rpool」にファイルシステムのダンプデバイスを作成します。
ダンプデバイスのサイズは運用環境によって異なります。# zfs create -V 3G rpool/dump- dumpadmコマンドを実行して,移行後のZFSブートディスク環境のダンプデバイスに変更します。
# dumpadm -d /dev/zvol/dsk/rpool/dump- dumpadmコマンドを実行して,ダンプデバイスが移行後の「rpool/dump」に変更されたことを確認してください。
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on
hdlmpool/exportおよびhdlmpool/export/homeディレクトリ下のデータをZFSブートディスク環境に移行する手順について説明します。
移行する前に,移行前のローカルブートディスク環境にあるrpool/exportディレクトリ下のバックアップをしてください。
ここでは,移行前のZFSブートディスク環境のルートプール名を「hdlmpool」,移行後のローカルブートディスク環境のルートプール名を「rpool」とします。
- zfs snapshotのコマンドを実行して,ZFSブートディスク環境にあるhdlmpool/exportディレクトリのスナップショットを作成します。
# zfs snapshot -r hdlmpool/export@2011-12-07.01- zfs sendおよびzfs receiveコマンドを実行して,作成したスナップショットの/exportディレクトリ下のデータを,移行後のZFSブートディスク環境のルートプール「hdlmpool」にコピーします。rpool/exportはいったん削除して,hdlmpool/exportにあるデータで上書きします。移行前のローカルブートディスク環境にあるrpool/exportディレクトリ下のバックアップをしてください。
# zfs destroy -r rpool/export # zfs send -vRp hdlmpool/export@2011-12-07.01 | zfs receive -uvdF rpool- zfs listコマンドを実行して,移行後のZFSブートディスク環境のルートプール「rpool」にコピーされたことを確認します。
# zfs list -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool 42.7G 505G 73.5K /rpool rpool/ROOT 21.9G 505G 31K legacy rpool/ROOT/solaris 21.5M 505G 1.95G / rpool/ROOT/solaris-2 102M 505G 3.00G / rpool/ROOT/solaris-2/var 1K 505G 8.03G /var rpool/ROOT/solaris/var 18.2M 505G 7.65G /var rpool/VARSHARE 216M 505G 216M /var/share rpool/dump 16.5G 505G 16.0G - rpool/export 86K 505G 32K /export rpool/export/home 36K 505G 35K /export/home rpool/swap 4.13G 505G 4.00G -/exportディレクトリ,および/export/homeディレクトリが表示されることを確認してください。- hdlmpool/export/home,hdlmpool/exportがマウントされている場合は,そのマウントを解除し,zpool exportコマンドを実行して,hdlmpoolをエクスポートします。
移行前のhdlmpool/exportディレクトリがあると,再起動時に移行前のhdlmpool/exportディレクトリが先にマウントされ,移行後のrpool/exportディレクトリがマウントできないおそれがあります。# zfs umount hdlmpool/export/home # zfs umount hdlmpool/export # zpool export hdlmpool- Solaris 11.2以降の場合は,次のコマンドを実行してください。
# zfs set canmount=on rpool/VARSHARE/zones # zfs mount rpool/VARSHARE/zones- initコマンドを実行して,ホストを再起動します。
# init 6ホストを再起動するとき,rebootコマンドは使わないでください。- beadm listコマンドを実行して,移行したブートデバイス「solaris-2」でブートされたことを確認してください。
移行したブートデバイス「solaris-2」行の,「Active」が「NR」であることを確認してください。# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- hdlmboot R - 2.06G static 2011-12-06 11:37 solaris - - 2.93G static 2011-11-29 14:42 solaris-2 NR / 4.84G static 2011-12-11 14:01
再起動したあと,次の確認をしてください。
- dfコマンドを実行して,ファイルシステムがマウントされていることを確認します。
# df / (rpool/ROOT/rboot):124234885 blocks 124234885 files /var (rpool/ROOT/rboot/var):124234885 blocks 124234885 files /export (rpool/export ):124234885 blocks 124234885 files /export/home (rpool/export/home):124234885 blocks 124234885 files /rpool (rpool ):124234885 blocks 124234885 files/(root)ディレクトリ,/varディレクトリ,/exportディレクトリ,および/export/homeディレクトリが,移行後のルートプール「hdlmpool」でマウントされていることを確認してください。- dumpadmコマンドを実行して,ダンプデバイスが移行後のルートプール「rpool」に移行されたことを確認します。
/dev/zvol/dsk/rpool/dumpが有効であることを確認してください。
All Rights Reserved. Copyright© 2014, 2021, Hitachi, Ltd.