3.9.3 SVMを使用してブートディスクをミラー化している環境にHDLMをインストールしてブートディスクをHDLMの管理対象にする

はじめに,ブートディスクと同一の容量でかつ同一のスライス構成のLUをブートディスクのミラーの数だけ用意します。これらは,移行後のブートディスクになります。

この項の構成
(1) HDLMをインストールして環境を構築する
(2) ブートディスクをHDLMの管理対象にする

(1) HDLMをインストールして環境を構築する

  1. 3.5 HDLMのインストール」を参照し,HDLMをインストールします。
  2. HDLMドライバ構成定義ファイル作成ユティリティ(dlmsetconf)でHDLMデバイスの構成設定を行います。
  3. ミラー化されているブートディスクのLUをHDLMの管理対象外に設定します。
    3.5.6 HDLMの新規インストール時のHDLMデバイスの非構成機能」を参照してください。
  4. 再構成リブートを実行します。

    # reboot -- -r

(2) ブートディスクをHDLMの管理対象にする

ここでは次の図に示すデバイス名を使用して説明します。

図3-19 既存のブートディスクと移行後のブートディスク

[図]

既存のブートディスクのLUのデバイス名は,図のようにc6t50060E08000436D1d4c6t50060E08000436D1d5であるとし,移行後のブートディスクのLUのデバイス名はc8t50060E08000436D1d6c8t50060E08000436D1d7であるとします。

また,以降のコマンドおよび設定の例では,それぞれのスライスが次のように割り当てられていると仮定します。

  1. メタデバイスの名称を決定します。
    既存のブートディスクのメタデバイス名と,移行後のブートディスクは次の表に示すように設定するものとします。

    表3-25 メタデバイスの名称

    ブートディスクファイルシステムミラーサブミラー
    既存/(root)d10d11
    d12
    swapd20d21
    d22
    /usrd30d31
    d32
    移行後/(root)d100d101
    d102
    swapd200d201
    d202
    /usrd300d301
    d302
  2. HDLMデバイス上にメタデバイスを作成して,ミラー化します(1面ミラー)。

    # metainit -f d101 1 1 c8t50060E08000436D1d6s0
    # metainit d100 -m d101

    # metainit -f d201 1 1 c8t50060E08000436D1d6s1
    # metainit d200 -m d201

    # metainit -f d301 1 1 c8t50060E08000436D1d6s6
    # metainit d300 -m d301

  3. 移行後のスライス0(/root)ファイルシステム)を指定して,移行後の環境のブートブロックを設定します。
    コマンドの実行例を次に示します。

    # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/md/rdsk/d100

  4. 移行後の環境のSolaris基本ファイルシステムを初期化します。
    コマンドの実行例を次に示します。

    # newfs /dev/md/rdsk/d100
    # newfs /dev/md/rdsk/d300

  5. 移行後の環境のSolaris基本ファイルシステムをマウントします。
    コマンドの実行例を次に示します。

    # mount /dev/md/dsk/d100 /mnt0
    # mount /dev/md/dsk/d300 /mnt1

  6. 既存のSolaris基本ファイルシステムを移行後の環境にコピーします。
    コマンドの実行例を次に示します。

    # ufsdump 0f - / | (cd /mnt0; ufsrestore rf -)
    # ufsdump 0f - /usr | (cd /mnt1; ufsrestore rf -)

  7. 移行後のブートディスクの/etc/vfstabファイル(/mnt0/etc/vfstab)を編集して,swapの定義を移行後のメタデバイス(/dev/md/dsk/d200)に変更し,/usrの定義を移行後のメタデバイス(/dev/md/dsk/d300)に変更します。
    (変更前)

    /dev/md/dsk/d20 -       swap    -       no      -
    /dev/md/dsk/d30 /dev/md/rdsk/d30 /usr ufs 1       no      -

    (変更後)

    /dev/md/dsk/d200 -       swap    -       no      -
    /dev/md/dsk/d300  /dev/md/rdsk/d300 /usr ufs 1       no      -

  8. 移行後のブートディスクの/etc/dumpadm.confファイル(/mnt0/etc/dumpadm.conf)を編集して,DUMPADM_DEVICEパラメタのダンプデバイスの定義を移行後の環境のブートディスクに変更します。
    (変更前)

    DUMPADM_DEVICE=/dev/md/dsk/d20

    (変更後)

    DUMPADM_DEVICE=/dev/md/dsk/d200

  9. metarootコマンドを実行します。-Rオプションで移行後の/root)ファイルシステムのマウントポイントを指定してください。

    # metaroot -R /mnt0 d100

  10. 移行後の環境からブートするために,OBPで指定するブートデバイス名を求めます。
    ブートディスクのパスのうち,HDLMがHDLMデバイスの論理デバイスファイル名を決定するために使用するパスだけブートデバイスに指定できます。そのパスは,「4.5.1 HDLM運用環境を構成変更する場合の注意事項」の「(2) パスの構成を変更した場合について」に示す手順で求められます。
    求めたパスの文字列を次のように編集すると,OBPで指定するブートデバイス名になります。
    • ssdドライバのドライバ名(「ssd」)を「disk」に置き換えます。
    • 末尾に/root)ファイルシステムのスライス識別子(「:a」~「:h」のどれか)を付加します。
    (例)
    求めたパス
    /pci@8,600000/QLGC,qlc@1,1/fp@0,0/ssd@w50060e8010027a82,6
    OBPに指定するパス
    /pci@8,600000/QLGC,qlc@1,1/fp@0,0/disk@w50060e8010027a82,6:a
  11. 移行後の環境からブートします。
    実際にブートするディスクを次の図に示します。

    図3-20 移行後の環境からのブート

    [図]

  12. マシンが起動したら,スワップデバイスおよびダンプデバイスの確認とmountコマンドで/root)および/usrの確認をします。

    # swap -l
    swapfile             dev  swaplo blocks   free
    /dev/md/dsk/d200   85,200     16 8409584 8409584

    # dumpadm
         Dump content: kernel pages
          Dump device: /dev/md/dsk/d200 (swap)
    Savecore directory: /var/crash/host
     Savecore enabled: yes

    # mount
    / on /dev/md/dsk/d100 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1540064 on Mon Mar  9 11:00:25 2009
    /usr on /dev/md/dsk/d300 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=154012c on Mon Mar  9 11:00:25 2009

  13. /root),swap/usrを2面ミラー構成にします。

    # metainit -f d102 1 1 c8t50060E08000436D1d7s0
    # metattach d100 d102

    # metainit -f d202 1 1 c8t50060E08000436D1d7s1
    # metattach d200 d202

    # metainit -f d302 1 1 c8t50060E08000436D1d7s6
    # metattach d300 d302

  14. SVMの状態データベースの複製を移行後のブートディスクに作成します。

    # metadb -a c8t50060E08000436D1d6s7
    # metadb -a c8t50060E08000436D1d7s7

  15. 移行前のSVMの環境を削除します。

    # metaclear d10 d11 d12
    # metaclear d20 d21 d22
    # metaclear d30 d31 d32

    # metadb -d c6t50060E08000436D1d4s7
    # metadb -d c6t50060E08000436D1d5s7

  16. metastatコマンドを実行して,2面ミラー構成になっていることを確認します。

    # metastat
    d100: Mirror
       Submirror 0: d101
         State: Okay
       Submirror 1: d102
         State: Okay
       Pass: 1
       Read option: roundrobin (default)
       Write option: parallel (default)
       Size: 25190400 blocks (12 GB)
    d101: Submirror of d100
       State: Okay
       Size: 25190400 blocks (12 GB)
       Stripe 0:
           Device                             Start Block  Dbase        State Reloc Hot Spare
           /dev/dsk/c8t50060E08000436D1d6s0          0     No            Okay   Yes

    d102: Submirror of d100
       State: Okay
       Size: 25190400 blocks (12 GB)
       Stripe 0:
           Device                             Start Block  Dbase        State Reloc Hot Spare
           /dev/dsk/c8t50060E08000436D1d7s0          0     No            Okay   Yes
          ...

  17. HDLMコマンドのview -pathオペレーションを実行して,移行後のブートディスクに設定したLUにIOが実行されることを確認します。

    # /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.0000000000653200.0006 HITACHI .DF600F          .77010152         0034             0C      Online     Own      131762          0    - c8t50060E08000436D1d6
    000001 0000.0000.0000000000653600.0006 HITACHI .DF600F          .77010152         0034             1C      Online     Non          44          0    - c8t50060E08000436D1d6
    000002 0001.0000.0000000000653200.0006 HITACHI .DF600F          .77010152         0034             0C      Online     Own      131717          0    - c8t50060E08000436D1d6
    000003 0001.0000.0000000000653600.0006 HITACHI .DF600F          .77010152         0034             1C      Online     Non          44          0    - c8t50060E08000436D1d6
    000004 0000.0000.0000000000653200.0007 HITACHI .DF600F          .77010152         0043             0C      Online     Own      131670          0    - c8t50060E08000436D1d7
    000005 0000.0000.0000000000653600.0007 HITACHI .DF600F          .77010152         0043             1C      Online     Non          35          0    - c8t50060E08000436D1d7
    000006 0001.0000.0000000000653200.0007 HITACHI .DF600F          .77010152         0043             0C      Online     Own      131650          0    - c8t50060E08000436D1d7
    000007 0001.0000.0000000000653600.0007 HITACHI .DF600F          .77010152         0043             1C      Online     Non          35          0    - c8t50060E08000436D1d7

  18. 移行前の環境,および移行後の環境の内容をバックアップします。
    バックアップは,次の場合に必要になります。
    • 移行後の環境に異常が発生した場合
      移行前の環境からブートして,移行後の環境の修復作業に使用します。また,移行後の環境のバックアップをリストアして修復することもできます。
    • ブートディスク環境からローカルブートディスク環境に移行して,ブートディスク環境を構築する前の状態に戻す場合