Hitachi

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


3.25.9 mdデバイスの設定解除

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

SCSIデバイスを使用したmdデバイスの構築時,mdデバイスでMULTIPATH機能を使用しない場合は,「(1) MULTIPATH機能を使用しないmdデバイスへ移行する場合」の手順を実行してください。mdデバイスでMULTIPATH機能を使用したい場合は,「(2) MULTIPATH機能を使用するmdデバイスへ移行する場合」の手順を実行してください。

〈この項の構成〉

(1) MULTIPATH機能を使用しないmdデバイスへ移行する場合

ここでは,RAID機能を使用したmdデバイスを例に,HDLMデバイス上にあるmdデバイスの環境から,SCSIデバイス上にあるmdデバイスの環境へ移行する手順を説明します。

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

図3‒20 HDLMデバイス上にあるmdデバイスをSCSIデバイス上に移行する場合のデバイス構成(mdデバイスのRAID機能を使用した環境)
[図データ]
  1. ホストを停止して,マルチパス構成からシングルパス構成に変更します。

  2. ホストを起動します。

  3. 既存のmdデバイスを使用しているアプリケーションをすべて停止します。

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

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

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

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

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

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

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

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

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

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

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

  9. 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デバイスになります。

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

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

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

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

  11. SCSIデバイスのディスクパーティションタイプをfdに戻す必要がある場合,タイプをfdに変更します。

    fdに変更すると,/etc/mdadm.confファイルがなくても,ホストが再起動したとき自動的にmdデバイスが活性化されます。

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

    # 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   83  Linux
    
    コマンド (m でヘルプ): t
    Selected partition 1
    16進数コード (L コマンドでコードリスト表示): fd
    領域のシステムタイプを 1 から fd (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   fd  Linux raid 自動検出
    
    コマンド (m でヘルプ): w
    領域テーブルは交換されました!
    
    ioctl() を呼び出して領域テーブルを再読込みします。
    ディスクを同期させます。

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

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

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

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

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

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

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

(2) MULTIPATH機能を使用するmdデバイスへ移行する場合

HDLMデバイス上にあるmdデバイスの環境から,SCSIデバイス上にあるmdデバイスの環境へ移行する手順を説明します。ここでは,LINEAR機能を使用したHDLMデバイス上にあるmdデバイスを,MULTIPATH機能を使用したSCSIデバイス上にあるmdデバイスへ移行する場合を例に説明します。

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

図3‒21 HDLMデバイス上にあるmdデバイスをSCSIデバイス上に移行する場合のデバイス構成(mdデバイスのMULTIPATH機能を使用した環境)
[図データ]
  1. mdデバイスを非活性化します。

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

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

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

    # cat /proc/mdstat
    Personalities : [linear]
    md0 : active linear sddlmaa1[0]
          5238528 blocks 64k rounding
    
    unused devices: <none>

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

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

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

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

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

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

  5. 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デバイスになります。

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

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

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

    HDLMデバイスに対応するSCSIデバイスをすべて指定してください。

    # mdadm -C /dev/md0 -lmp -n2 /dev/sdh1 /dev/sdo1
    mdadm: /dev/sdh1 appears to contain an ext2fs file system
        size=5238528K  mtime=Wed Feb  6 20:02:45 2008
    mdadm: /dev/sdh1 appears to be part of a raid array:
        level=-1 devices=1 ctime=Wed Feb  6 19:31:04 2008
    mdadm: /dev/sdo1 appears to contain an ext2fs file system
        size=5238528K  mtime=Wed Feb  6 20:02:45 2008
    mdadm: /dev/sdo1 appears to be part of a raid array:
        level=-1 devices=1 ctime=Wed Feb  6 19:31:04 2008
    Continue creating array? y
    mdadm: array /dev/md0 started.
  7. コンフィグレーションファイルを作成します。

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

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

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

    # cat /etc/mdadm.conf
    DEVICE /dev/sddlmaa1
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102 auto=yes
    ARRAY /dev/md0 level=multipath num-devices=2 UUID=8db667ff:e7472a25:3a84b801:025a6a57

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

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

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

    # cat /etc/mdadm.conf
    DEVICE /dev/sddlmaa1
    ARRAY /dev/md0 level=linear num-devices=1 UUID=426a9f1c:9cfa6310:6aa9a80b:11ea2102 auto=yes
    ARRAY /dev/md0 level=multipath num-devices=2 UUID=8db667ff:e7472a25:3a84b801:025a6a57
  9. /etc/mdadm.confファイルを編集して,コンフィグレーションファイルのARRAY行に「auto=yes」を追加します。

    DEVICE /dev/sdo1 /dev/sdh1
    ARRAY ARRAY /dev/md0 level=multipath num-devices=2 UUID=8db667ff:e7472a25:3a84b801:025a6a57 auto=yes
  10. コンフィグレーションファイルのDEVICE行のHDLMデバイス名をSCSIデバイス名に変更します。

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

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

    HDLMデバイスに対応するSCSIデバイスをすべて指定してください。

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

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

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

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

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

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

    注※

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

  13. mdデバイスを活性化します。

    (1) MULTIPATH機能を使用しないmdデバイスへ移行する場合」の手順11から手順14を実行してください。

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

>