Hitachi Dynamic Link Manager ユーザーズガイド(Solaris用)

[目次][索引][前へ][次へ]


3.7.3 ZFSブートディスク環境の作成(Solaris 11.0~11.3の場合)

Solaris 11.0~11.3の場合に,HDLM ZFSブートディスク環境構築支援ユティリティ(dlmzfsboot)を使用して,ZFSブートディスク環境を作成する手順について説明します。

図3-21 ZFSブートディスク環境の構築の流れ(Solaris 11.0~11.3の場合)

[図]

  1. ブートディスク環境を作成する準備をします。
  2. ZFS上にある ローカルブートディスク環境をストレージシステム上のLU(HDLMデバイス)に移行します。
  3. 移行後のZFSブートディスク環境を構築します。

注意事項
  • 移行先デバイスに対し動的パス削除を行っている場合,再構成リブートを行ったあとにブートディスク環境の構築を行ってください。
    # reboot -- -r
  • ベリファイドブートの設定がenforceの場合は,HDLMドライバがロードされないため,ブートディスク環境が構築できません。また,ブートディスク環境を運用しているときに,ベリファイドブートの設定をenforceにした場合は,再起動すると,HDLMドライバがロードできないため,カーネルパニックが発生します。この場合は,ベリファイドブートの設定をnoneまたはwarningにするか,もしくは,「3.17 ベリファイドブートを適用しているシステムの設定」の手順に従って,HDLMドライバの証明書をシステムに設定してください。
この項の構成
(1) ブートディスク環境を作成する準備をする
(2) ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行する
(3) 移行後のZFSブートディスク環境を構築する
(4) 再起動したあと確認する

(1) ブートディスク環境を作成する準備をする

ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行する前に,次の準備をしてください。

  1. ローカルブートディスク環境の/root)ディレクトリ,/varディレクトリ,および/exportディレクトリをそれぞれバックアップします。
  2. ローカルブートディスクと同じ容量のブートディスク用のLUが1つ必要となります。あらかじめ,ストレージシステム上に作成します。
  3. 手順2で用意したLUをHDLMの管理下にします。
  4. 3.17 ベリファイドブートを適用しているシステムの設定」の手順に従って,ベリファイドブートに関するHDLMドライバの証明書をシステムに設定します。

(2) ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行する

dlmzfsbootユティリティを使用して,ローカルブートディスク環境をストレージシステムのLU上(HDLMデバイス)に移行します。dlmzfsbootユティリティについては,「7.12 dlmzfsboot HDLM ZFSブートディスク環境構築支援ユティリティ」を参照してください。

  1. dlmzfsbootユティリティを実行して,ブートディスク環境を移行します。
    /opt/DynamicLinkManager/bin/dlmzfsboot -d HDLMデバイス名 -p ルートプール名 -b 任意のZFSブートディスク環境名
    ブートディスク用のHDLMデバイス名をc6t50060E8010027A80d7,ルートプール名を「hdlmpool」,ZFSブートディスク環境名を「hdlmboot」とした場合の例を次に示します。
    # /opt/DynamicLinkManager/bin/dlmzfsboot -d c6t50060E8010027A80d7 -p hdlmpool -b hdlmboot
    -rを指定してdlmzfsbootユティリティを実行した場合,ホストを再起動して,移行後の環境からブートします。
    -sを指定しないでdlmzfsbootユティリティを実行した場合,途中でコマンド実行の確認メッセージが表示されます。確認メッセージに対して,コマンドを実行する場合は「y」を,実行しない場合は「n」を入力してください。
    あとからZFSブートディスク環境名を確認する手順については,「3.6.2 ブートディスク環境の構築の手順」の「(5) 移行後の環境を構築する」手順11を参照してください。
  2. dlmzfsbootユティリティをリブートしない指定(-rを省略)で実行した場合は,initコマンドを実行して,ホストを再起動します。
    # init 6
    
    ホストを再起動するとき,rebootコマンドは使わないでください。
  3. 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
    
    

(3) 移行後のZFSブートディスク環境を構築する

移行後のZFSブートディスク環境を構築する手順について説明します。

ここでは,移行前のローカルブートディスク環境のルートプール名を「rpool」,移行後のZFSブートディスク環境のルートプール名を「hdlmpool」とします。

スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行する

スワップデバイスおよびダンプデバイスをZFSブートディスク環境に移行します。

  1. zfs createコマンドを実行して,移行後のルートプール「hdlmpool」にファイルシステムのスワップデバイスを作成します。
    スワップデバイスおよびブロックのサイズは運用環境によって異なります。
    # zfs create -V 4G -b 8k hdlmpool/swap
    # swap -a /dev/zvol/dsk/hdlmpool/swap
    # swap -d /dev/zvol/dsk/rpool/swap
    
  2. 移行後のZFSブートディスク環境の/etc/vfstabファイルを編集して,スワップデバイスの定義を移行前の環境のローカルブートディスクから移行後の環境のZFSブートディスクに変更します。
    例を次に示します。

    変更前
    /dev/zvol/dsk/rpool/swap        -               -               swap    -       no      -
    

    変更後
    /dev/zvol/dsk/hdlmpool/swap     -               -               swap    -       no      -
    
  3. zfs createコマンドを実行して,移行後のルートプール「hdlmpool」にファイルシステムのダンプデバイスを作成します。
    ダンプデバイスのサイズは運用環境によって異なります。
    # zfs create -V 3G hdlmpool/dump
    
  4. Solaris 11.2以降の場合は,次のコマンドを実行してください。
    # mkdir /var/share/crash
  5. dumpadmコマンドを実行して,移行後のZFSブートディスク環境のダンプデバイスに変更します。
    # dumpadm -d /dev/zvol/dsk/hdlmpool/dump
    
  6. 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: on
    
rpool/exportおよびrpool/export/homeディレクトリ下のデータをZFSブートディスク環境に移行する

rpool/exportおよびrpool/export/homeディレクトリ下のデータをZFSブートディスク環境に移行します。移行する前に,移行前のローカルブートディスク環境にあるrpool/exportおよびrpool/export/homeディレクトリ下のバックアップをしてください。

移行手順を次に示します。

  1. zfs snapshotのコマンドを実行して,移行前のローカルブートディスク環境にあるrpool/exportディレクトリのスナップショットを作成します。
    # zfs snapshot -r rpool/export@2011-12-07.01
    
  2. zfs sendおよびzfs receiveコマンドを実行して,作成したスナップショットの/exportディレクトリ下のデータを,移行後のZFSブートディスク環境のルートプール「hdlmpool」にコピーします。
    # zfs send -vRp rpool/export@2011-12-07.01 | zfs receive -uvdF  hdlmpool
    
  3. zfs listコマンドを実行して,移行後のZFSブートディスク環境のルートプール「hdlmpool」にコピーされたことを確認します。
    # zfs list -r hdlmpool
    NAME                         USED  AVAIL  REFER  MOUNTPOINT
    hdlmpool                    12.5G  12.0G  73.5K  /hdlmpool
    hdlmpool/ROOT               5.27G  12.0G    31K  legacy
    hdlmpool/ROOT/hdlmboot      5.27G  12.0G  4.20G  /
    hdlmpool/ROOT/hdlmboot/var  1.04G  12.0G  1.04G  /var
    hdlmpool/VARSHARE             43K  12.0G    43K  /var/share
    hdlmpool/dump               3.09G  12.1G  3.00G  -
    hdlmpool/export               67K  12.0G    32K  /export
    hdlmpool/export/home          35K  12.0G    35K  /export/home
    hdlmpool/swap               4.13G  12.1G  4.00G  -
    
    /exportディレクトリ,および/export/homeディレクトリが表示されることを確認してください。
  4. rpool/export/homerpool/exportがマウントされている場合は,そのマウントを解除し,zpool exportコマンドを実行して,rpoolexportします。
    移行前のrpool/exportディレクトリがあると,再起動時に移行前のrpool/exportディレクトリが先にマウントされ,移行後のhdlmpool/exportディレクトリがマウントに失敗するおそれがあります。
    # zfs umount rpool/export/home
    # zfs umount rpool/export
    # zpool export rpool
    
  5. Solaris 11.2以降の場合は,次のコマンドを実行してください。
    # mkdir /var/share/audit
  6. initコマンドを実行して,ホストを再起動します。
    # init 6
    
    ホストを再起動するとき,rebootコマンドは使わないでください。
  7. 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
    

(4) 再起動したあと確認する

再起動したあと,次の確認をします。

  1. 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」でマウントされていることを確認してください。
  2. dumpadmコマンドを実行して,ダンプデバイスが移行後のルートプール「hdlmpool」に移行されたことを確認します。
    /dev/zvol/dsk/hdlmpool/dumpが有効であることを確認してください。
  3. 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 .OPEN-V        -SUN.410017         0008            0A       Online     Own        8840          0    - c6t50060E8010027A80d8
    000001 0000.0000.0000000000641400.000B HITACHI .OPEN-V        -SUN.410017         0008            1A       Online     Own        1506          0    - c6t50060E8010027A80d8
    ...
    #
    
    ブートデバイスに指定したHDLMデバイス「c6t50060E8010027A80d8」の下線部分のI/O回数がカウントされていることを確認してください。