Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.3.2. mdadmを使用したマルチパスデバイスの作成

RAID アレイの作成に加えて、mdadm を使用して、個々の SCSI LUN (ディスクドライブ)への複数の I/O パスをサポートするハードウェアを利用することもできます。マルチパスストレージの目的は、ハードウェア障害や個々のパスの飽和時のデータの可用性を継続しています。この設定には、共通の SCSI LUN (ディスクドライブ)にアクセスする複数のパス(それぞれ独立した仮想コントローラーとして機能する)が含まれるため、Linux カーネルは各パスを介して各共有ドライブを一度検出します。つまり、/dev/sda と呼ばれる SCSI LUN (ディスクドライブ)には、特定の設定によっては /dev/sdb/dev/sdc などとしてアクセスすることもできます。
I/O パスに障害が発生したり、飽和状態になったりした場合にアクセス可能な単一のデバイスを提供するために、mdadm にはその level オプションに追加のパラメーターが含まれています。このパラメーター multipath は、I/O パスに障害が発生した場合に、あるパス方向から別のパスに I/O 要求を再ルーティングするように Linux カーネルの md レイヤーに指示します。
マルチパスデバイスを作成するには、/etc/mdadm.conf ファイルを編集して、ハードウェア設定を反映する DEVICE 行および ARRAY 行の値を定義します。
注記
以前の RAID の例( /etc/mdadm.conf で指定された各デバイスは異なる物理ディスクドライブを表す必要がある)とは異なり、このファイルの各デバイスは同じ共有ディスクドライブを指します。
マルチパスデバイスの作成に使用されるコマンドは、RAID デバイスの作成に使用したコマンドと似ています。相違点は、multipath パラメーターを使用した RAID レベルパラメーターの代わりとなります。
mdadm -C /dev/md0 --level=multipath --raid-devices=4 /dev/sda1 /dev/sdb1  
 /dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.
mdadm コマンドラインの長さが原因で、2 行に分割されました。
この例では、ハードウェアは 4 つの個別の SCSI デバイスとして提示された 1 つの SCSI LUN で設定され、それぞれが異なるパスによって同じストレージにアクセスします。マルチパスデバイス /dev/md0 が作成されると、/dev/md0 を参照するすべての I/O 操作は、/dev/sda1/dev/sdb1/dev/sdc1、または /dev/sdd1 に転送されます(現在アクティブで動作しているパスにより異なります)。
/dev/md0 の設定は、mdadm --detail /dev/md0 コマンドを使用してより密接に確認でき、実際、マルチパスデバイスであることを確認できます。
/dev/md0:
Version : 00.90.00
Creation Time : Tue Mar  2 10:56:37 2004
Raid Level : multipath
Array Size : 3905408 (3.72 GiB 3.100 GB)
Raid Devices : 1
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue Mar  2 10:56:37 2004
State : dirty, no-errors
Active Devices : 1
Working Devices : 4
Failed Devices : 0
Spare Devices : 3

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       17        1      spare   /dev/sdb1
       2       8       33        2      spare   /dev/sdc1
       3       8        1        3      spare   /dev/sda1
           UUID : 4b564608:fa01c716:550bd8ff:735d92dc
         Events : 0.1
mdadm のもう 1 つの機能は、デバイス(RAID アレイのメンバーまたはマルチパス設定のパス)を強制的に操作設定から削除する機能です。以下の例では、/dev/sda1 に faulty のフラグが付けられ、が削除され、最後に設定に戻されます。マルチパス設定では、これらのアクションは現時点で実行された I/O アクティビティーには影響しません。
# mdadm /dev/md0 -f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
# mdadm /dev/md0 -r /dev/sda1
mdadm: hot removed /dev/sda1
# mdadm /dev/md0 -a /dev/sda1
mdadm: hot added /dev/sda1
#