Hitachi

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


3.9.3 mdデバイス環境へのHDLMの適用

SCSIデバイスを使ってmdデバイスを構築している環境から,HDLM管理対象デバイスを使ってmdデバイスを構築している環境へ移行する手順を次に説明します。

mdデバイスにMULTIPATH機能を使用していない場合は,「(1) mdデバイスにMULTIPATH機能を使用していない場合」の手順を実行してください。mdデバイスにMULTIPATH機能を使用している場合は,「(2) mdデバイスにMULTIPATH機能を使用している場合」の手順を実行してください。

〈この項の構成〉

(1) mdデバイスにMULTIPATH機能を使用していない場合

MULTIPATH機能を使用していないmdデバイスの環境に,HDLMを適用する手順を説明します。この手順は,mdデバイスにRAID機能が使用されている場合を例に説明します。

次の手順では,/dev/sdh1および/dev/sdi1上の/dev/md0を,/dev/sddlmaa1および/dev/sddlmab1上の/dev/md0に移行しています。「図3‒11 SCSIデバイス上にあるmdデバイスをHDLMデバイス上に移行した場合のデバイス構成(mdデバイスのRAID機能を使用した環境)」に示す環境は,次の手順で構築してください。

図3‒11 SCSIデバイス上にあるmdデバイスをHDLMデバイス上に移行した場合のデバイス構成(mdデバイスのRAID機能を使用した環境)
[図データ]
  1. 既存のmdデバイスを使用しているアプリケーションをすべて停止します。

  2. 必要に応じてmdデバイス上のアプリケーションのデータをバックアップします。

  3. mdデバイス上にファイルシステムをマウントしている場合は,アンマウントします。

  4. mdデバイスの状態を確認します。

    次のコマンドを実行して,mdデバイスの構成状態を確認します。

    # cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdh1[0] sdi1[1]
          5238528 blocks [2/2] [UU]
     
    unused devices: <none>

    md0 : active」と表示され,SCSIデバイスが表示されることを確認してください。「md0 : active」が表示されなかった場合は,mdデバイスを活性化させてください。

  5. すでにコンフィグレーションファイル(/etc/mdadm.conf)を使用していた場合,そのコンフィグレーションファイルをバックアップします。

    次のコマンドを実行してコンフィグレーションファイルのバックアップを作成してください。

    # cp -pr /etc/mdadm.conf /etc/mdadm.conf.backup
  6. 次のコマンドを実行して,コンフィグレーションファイルを作成します。

    手順5で,すでにコンフィグレーションファイルを使用していた場合でも,mdデバイスをHDLM管理対象デバイスにするため,コンフィグレーションファイルを作成し直してください。

    # echo "DEVICE /dev/sdh1 /dev/sdi1" >> /etc/mdadm.conf
    # mdadm --detail --scan | grep -w "/dev/md0" >> /etc/mdadm.conf

    sdh1およびsdi1は手順4で表示されたSCSIデバイスを指定してください。

    コンフィグレーションファイルの作成例を次に示します。下線部の行がこの手順で追加した行です。

    # cat /etc/mdadm.conf
    DEVICE /dev/sdh1 /dev/sdi1
    DEVICE /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
    ARRAY /dev/md0 level=raid1 num-devices=2 UUID=e39a6b15:32e48a5d:ca05f4db:25bc8af9
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102

    コンフィグレーションファイルの記述内容については,Linuxのマニュアルやmanコマンドを参照してください。

    新規にコンフィグレーションファイルを作成した場合は,手順9に進んでください。

  7. すでにコンフィグレーションファイル(/etc/mdadm.conf)を使用していた場合,コンフィグレーションファイル内の不要なARRAY行を削除します。

    手順6で作成したARRAY行と同じmdデバイス名(md0)のARRAY行を削除してください。次の例では,下線部の行が削除対象になります。

    # cat /etc/mdadm.conf
    DEVICE /dev/sdh1 /dev/sdi1
    DEVICE /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
    ARRAY /dev/md0 level=raid1 num-devices=2 UUID=e39a6b15:32e48a5d:ca05f4db:25bc8af9
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102
  8. すでにコンフィグレーションファイル(/etc/mdadm.conf)を使用していた場合,DEVICE行を編集します。

    すでに記載されているDEVICE行が手順6で作成したDEVICE行のSCSIデバイスを含むように設定している場合,それを除外するようにDEVICE行を編集してください。

    修正例を次に示します。

    修正前
    DEVICE /dev/sdh1 /dev/sdi1
    DEVICE /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
    修正後
    DEVICE /dev/sdh1 /dev/sdi1
    DEVICE /dev/sdf1 /dev/sdg1
  9. /etc/mdadm.confファイルを編集して,コンフィグレーションファイルのARRAY行に「auto=yes」を追加します。

    DEVICE /dev/sdh1 /dev/sdi1
    DEVICE /dev/sdf1 /dev/sdg1
    ARRAY /dev/md0 level=raid1 num-devices=2 UUID=e39a6b15:32e48a5d:ca05f4db:25bc8af9 auto=yes
  10. HDLMをインストールします。

    3.6.2 HDLMの新規インストール」の手順2,手順4から手順12を実行し,HDLMをインストールしてください。

  11. HDLMデバイスとSCSIデバイスの対応関係を確認します。

    HDLM構成定義ユティリティdlmcfgmgr)に-vパラメを指定して実行してください。

    # dlmcfgmgr -v
    HDevName        Management  Device    Host  Channel Target Lun
    /dev/sddlmaa    configured  /dev/sdh     1        0      0   0
    /dev/sddlmab    configured  /dev/sdi     1        0      0   1
    KAPL10302-I /sbin/dlmcfgmgr completed normally.

    HDevName列はHDLMデバイス,Device列はSCSIデバイスになります。

  12. 次のコマンドを実行して,mdデバイスを非活性化します。

    # mdadm -Ss /dev/md0
  13. mdデバイスが非活性化されていることを確認します。

    mdデバイスにRAID1(ミラーリング)が適用されている場合の実行例を次に示します。

    # cat /proc/mdstat
    Personalities : [raid1]
    unused devices: <none>

    md0 : active」と表示されないことを確認してください。

  14. コンフィグレーションファイルを編集します。

    手順11で表示されたHDLMデバイスとSCSIデバイスの対応関係を基に,DEVICE行のSCSIデバイス名をHDLMデバイス名に変更してください。

    修正前
    DEVICE /dev/sdh1 /dev/sdi1
    修正後
    DEVICE /dev/sddlmaa1 /dev/sddlmab1

    DEVICE行を編集する場合は,デバイス名だけを変更してください。パーティション番号は変更しないでください。

  15. HDLMデバイスのディスクパーティションタイプがfdの場合,タイプを83に変更してください。

    fdiskコマンドを実行して,ディスクパーティションタイプを83に変更する例を次に示します。

    # fdisk /dev/sddlmaa
    
    コマンド (m でヘルプ): p
    
    Disk /dev/sddlmaa: 5368 MB, 5368709120 bytes
    166 heads, 62 sectors/track, 1018 cylinders
    Units = シリンダ数 of 10292 * 512 = 5269504 bytes
    デバイス Boot   Start    End    Blocks   Id  System
    /dev/sddlmaa1       1    1018   5238597   fd  Linux raid 自動検出
    
    コマンド (m でヘルプ): t
    Selected partition 1
    16進数コード (L コマンドでコードリスト表示): 83
    領域のシステムタイプを 1 から 83 (Linux) に変更しました
    
    コマンド (m でヘルプ): p
    Disk /dev/sddlmaa: 5368 MB, 5368709120 bytes
    166 heads, 62 sectors/track, 1018 cylinders
    Units = シリンダ数 of 10292 * 512 = 5269504 bytes
    
    デバイス Boot   Start    End     Blocks   Id  System
    /dev/sddlmaa1       1    1018    5238597   83  Linux
    
    コマンド (m でヘルプ): w
    領域テーブルは交換されました!
    
    ioctl() を呼び出して領域テーブルを再読込みします。
    ディスクを同期させます。

    /dev/sddlmabも同様に実行してください。

  16. 次のコマンドを実行して,mdデバイスを活性化します。

    # mdadm -As /dev/md0
    mdadm: /dev/md0 has been started with 2 drives.
  17. mdデバイスが活性化されていることを確認します。

    mdデバイスにRAID1(ミラーリング)が適用されている場合の実行例を次に示します。

    # cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sddlmaa1[0] sddlmab1[1]
          5238528 blocks [2/2] [UU]
    
    unused devices: <none>

    md0 : active」と表示され,HDLMデバイスが表示されていることを確認してください。

  18. mdデバイス上のファイルシステムをマウントする必要がある場合は,ファイルシステムをマウントします。

  19. LUへパスを追加します。

    該当LUへのパスを接続してから,ホストを再起動してください。または,4.7.4 HDLMデバイスの構成変更」の(3) LUへのパスを追加する」を参照して,既存のLUへのパスを追加してください。

(2) mdデバイスにMULTIPATH機能を使用している場合

MULTIPATH機能を使用したmdデバイスの環境に,HDLMを適用する手順を説明します。HDLMを適用するためには,mdデバイスのMULTIPATH機能を解除する必要があります。ここでは,MULTIPATH機能を使用したmdデバイスからLINEAR機能を使用したmdデバイスに,移行する場合を例に説明します。

注意事項

Red Hat Enterprise Linux 6は,MULTIPATH機能を使用したmdデバイスからLINEAR機能を使用したmdデバイスに移行できません。

次の手順では,/dev/sdo1および/dev/sdh1上の/dev/md0を,/dev/sddlmaa1上の/dev/md0に移行しています。「図3‒12 SCSIデバイス上にあるmdデバイス(mdデバイスのMULTIPATH機能を使用した環境)からHDLMデバイス上に移行した場合のデバイス構成」に示す環境は,次の手順で構築してください。

図3‒12 SCSIデバイス上にあるmdデバイス(mdデバイスのMULTIPATH機能を使用した環境)からHDLMデバイス上に移行した場合のデバイス構成
[図データ]
  1. 既存のmdデバイスを使用しているアプリケーションをすべて停止します。

  2. 必要に応じてmdデバイス上のアプリケーションのデータをバックアップします。

  3. mdデバイス上にファイルシステムをマウントしている場合は,アンマウントします。

  4. mdデバイスの状態を確認します。

    次のコマンドを実行して,mdデバイスの構成状態を確認します。

    # cat /proc/mdstat
    Personalities : [multipath]
    md0 : active multipath sdo1[0] sdh1[1]
          5238528 blocks [2/2] [UU]
     
    unused devices: <none>

    md0 : active」と表示され,SCSIデバイスが表示されることを確認してください。「md0 : active」が表示されなかった場合は,mdデバイスを活性化させてください。

  5. mdデバイスの設定をして,HDLMをインストールします。

    (1) mdデバイスにMULTIPATH機能を使用していない場合」の手順5から手順10を実行してください。

  6. HDLMデバイスとSCSIデバイスの対応関係を確認します。

    HDLM構成定義ユティリティdlmcfgmgr)に-vパラメを指定して確認してください。

    # dlmcfgmgr -v
    HDevName     Management Device   Host Channel Target Lun
    /dev/sddlmaa configured /dev/sdh    1       0      0   0
                            /dev/sdo    2       0      0   1
    KAPL10302-I /sbin/dlmcfgmgr completed normally.

    HDevName列はHDLMデバイス,Device列はSCSIデバイスになります。

  7. mdデバイスを作成します。

    手順6で表示されたHDLMデバイスとSCSIデバイスの対応関係を基に,mdデバイスを作成してください。

    デバイス名を指定する場合は,必ずパーティション番号も指定してください。パーティション番号は,手順4で表示されたデバイスのパーティション番号を設定してください。

    # mdadm -C /dev/md0 -llinear -f -n1 /dev/sddlmaa1
    mdadm: /dev/sddlmaa1 appears to contain an ext2fs file system
        size=5238528K  mtime=Wed Feb  6 19:17:08 2008
    mdadm: /dev/sddlmaa1 appears to be part of a raid array:
        level=-4 devices=2 ctime=Wed Feb  6 19:16:07 2008
    Continue creating array? y
    mdadm: array /dev/md0 started.
  8. コンフィグレーションファイルを作成します。

    次のコマンドを実行して,既存のコンフィグレーションファイル(/etc/mdadm.conf)にmdデバイスの定義を追加してください。

    # mdadm --detail --scan | grep -w "/dev/md0" >> /etc/mdadm.conf

    コンフィグレーションファイルの作成例を次に示します。下線部の行がこの手順で追加した行です。

    # cat /etc/mdadm.conf
    DEVICE /dev/sdo1 /dev/sdh1
    ARRAY /dev/md0 level=multipath num-devices=2 UUID=6b2ec21b:06d0f50b:bbf04d32:1e00b09a auto=yes
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102

    コンフィグレーションファイルの記述内容については,Linuxのマニュアルやmanコマンドを参照してください。

  9. コンフィグレーションファイル(/etc/mdadm.conf)を作成し直した場合,コンフィグレーションファイル内の不要なARRAY行を削除します。

    手順8で作成したARRAY行と同じmdデバイス名(md0)のARRAY行を削除してください。次の例では,下線部の行が削除対象になります。

    # cat /etc/mdadm.conf
    DEVICE /dev/sdo1 /dev/sdh1
    ARRAY /dev/md0 level=multipath num-devices=2 UUID=6b2ec21b:06d0f50b:bbf04d32:1e00b09a auto=yes
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102
  10. /etc/mdadm.confファイルを編集して,コンフィグレーションファイルのARRAY行に「auto=yes」を追加します。

    DEVICE /dev/sdo1 /dev/sdh1
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102 auto=yes
  11. コンフィグレーションファイルのDEVICE行のSCSIデバイス名をHDLMデバイス名に変更します。

    手順6で表示されたHDLMデバイスとSCSIデバイスの対応関係を基に,DEVICE行のSCSIデバイス名をHDLMデバイス名に変更してください。

    修正前
    DEVICE /dev/sdo1 /dev/sdh1
    修正後
    DEVICE /dev/sddlmaa1

    DEVICE行を編集する場合は,デバイス名だけを変更してください。パーティション番号は変更しないでください。

  12. 次のコマンドを実行して,mdデバイスを非活性化します。

    # mdadm -Ss /dev/md0
  13. mdデバイスが非活性化されていることを確認します。

    mdデバイスにLINEAR機能が適用されている場合の実行例を次に示します。

    # cat /proc/mdstat
    Personalities : [linear] [multipath]
    unused devices: <none>

    md0 : active」と表示されないことを確認してください。

    注※

    [multipath]は再起動するまで表示されますが,動作に問題はありません。

  14. mdデバイスを活性化して,LUへパスを追加します。

    (1) mdデバイスにMULTIPATH機能を使用していない場合」の手順15から手順19を実行してください。

    また,「(1) mdデバイスにMULTIPATH機能を使用していない場合」の手順17で[multipath]は再起動するまで表示されますが,動作に問題はありません。