Red Hat Enterprise Linux は、OS に提示される複数のパスを持つストレージをネイティブにサポートします。マルチパス機能を使用するように CentOS/RHEL を構成するのは簡単なプロセスです。
インストール
まだインストールされていない場合は、device-mapper-multipath パッケージをインストールします:
# yum install device-mapper-multipath
マルチパス デバイスの場所
デバイスが device-mapper-multipath の制御下に置かれると、新しいマルチパス化されたデバイスが /dev ディレクトリの下の 3 つの異なる場所に表示されます。
1. /dev/dm-N
2. /dev/mapper/mpathN
3. /dev/mpath/mpathN
/dev/dm-N デバイスはデバイス マッパーの内部にあるため、決して使用しないでください。これらのデバイスは永続的ではありません。 CentOS/RHEL 5 以降、これらのデバイスは udev によって作成されなくなりました。 /dev/mpath/mpathN デバイスは RHEL 4 および 5 で提供されているため、すべてのマルチパス デバイスを 1 か所で確認できます。このディレクトリは RHEL 6 には存在しなくなりました。ただし、これらのデバイス ノードは、システムがアクセスする必要がある前に起動時に作成されない場合があります。したがって、ボリューム グループの物理ボリュームや、利用可能なリリースのファイル システムを含むパーティションの作成には使用しないでください。
/dev/mapper/mpathN デバイスは永続的であり、起動プロセスの早い段階で作成されます。したがって、これらはマルチパス化されたデバイスにアクセスするために使用するデバイス名です。
デバイス マッパー マルチパスの有効化
デフォルトの /etc/multipath.conf を生成します mpathconf コマンドを使用してファイルを作成します。インストールされているバージョンのデフォルト設定を確認するには、–help オプションを使用します:
# mpathconf --help usage: /usr/sbin/mpathconf [command] Commands: Enable: --enable Disable: --disable Set user_friendly_names (Default n): --user_friendly_names [y|n] Set find_multipaths (Default n): --find_multipaths [y|n] Load the dm-multipath modules on enable (Default y): --with_module [y|n] start/stop/reload multipathd (Default n): --with_multipathd [y|n] chkconfig on/off multipathd (Default y): --with_chkconfig [y|n]
デフォルトで必要な値が設定されるオプションは、コマンド ラインで指定する必要はありません。たとえば、ユーザー フレンドリな名前機能を使用してマルチパスを有効にし、他のすべてのオプションをデフォルト値に設定するには、次のコマンドを発行します。
# mpathconf --enable --user_friendly_names y
デバイスのブラックリスト登録
デバイス マッパーのマルチパスは、特定の基準に一致するデバイスをブラックリストに登録できるようにするための多数のメカニズムをサポートしています。ブラックリストに登録されたデバイスは、マルチパス デバイスの検出および作成時にスキップされます。このメカニズムの用途の 1 つは、マルチパス構成からローカル デバイス (内蔵ディスク、リムーバブル メディアなど) を除外することです。これにより、これらのデバイスは、マルチパス サブシステムからの干渉を受けることなく、通常のシングル パス デバイスとして引き続き使用できます。
デバイス マッパーのマルチパスには、複数のパスをサポートしていないデバイスを除外するための組み込みのブラックリストも含まれています。このリストは事前に構成されており、有効にするために multipath.conf に含める必要はありません。現在組み込まれているブラックリストのセットは次のとおりです:
blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" }
find_multipaths 機能
Red Hat Enterprise Linux 6 以降のデバイス マッパー マルチパスのバージョンには、「find_multipaths」機能が含まれています。これにより、デバイスへの少なくとも 2 つのパスが同時に検出されるまで、マルチパス構成からデバイスが除外されます。これは、手動のブラックリスト登録に代わる効果的な方法であり、一般的なシナリオでの構成とメンテナンスが少なくて済みます。この機能を有効にするには、次の行を multipath.conf のグローバル 'defaults' セクションに追加します:
defaults { ... find_multipaths yes ... }
マルチパス デバイスの検出と構成
基本的な multipath.conf ファイルが作成され、必要なパッケージのインストール後のシステムに適切な設定が取り込まれました。 multipath コマンドを実行して、マルチパス デバイスを検出して構成します。
# multipath mpatha (3600601f0d057000018fc7845f46fe011) dm-1 DGC,RAID 0 size=98G features='0' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active | - 11:0:0:0 sdd 8:128 active ready running | - 10:0:0:0 sde 8:64 active ready running -+- policy='round-robin 0' prio=0 status=enabled |- 8:0:0:0 sdc 8:32 active ready running - 9:0:0:0 sdf 8:80 active ready running
このコマンドは、問題の診断やカスタム構成の作成に役立つ追加情報を出力できます。これには、ブラックリスト設定に関する情報と、内蔵構成に対するストレージ デバイスのマッチングに関する情報が含まれます。 -v[number] オプションで冗長オプションを指定すると、次の追加出力が有効になります:
Nov 04 16:48:56 | Found matching alias [mpatha] in bindings file. Setting wwid to 3600601608e661a00e4710bf88370e211 Nov 04 16:48:56 | ram0: device node name blacklisted Nov 04 16:48:56 | ram1: device node name blacklisted Nov 04 16:48:56 | ram2: device node name blacklisted Nov 04 16:48:56 | ram3: device node name blacklisted Nov 04 16:48:56 | ram4: device node name blacklisted Nov 04 16:48:56 | ram5: device node name blacklisted Nov 04 16:48:56 | ram6: device node name blacklisted Nov 04 16:48:56 | ram7: device node name blacklisted Nov 04 16:48:56 | ram8: device node name blacklisted Nov 04 16:48:56 | ram9: device node name blacklisted Nov 04 16:48:56 | ram10: device node name blacklisted Nov 04 16:48:56 | ram11: device node name blacklisted Nov 04 16:48:56 | ram12: device node name blacklisted Nov 04 16:48:56 | ram13: device node name blacklisted Nov 04 16:48:56 | ram14: device node name blacklisted Nov 04 16:48:56 | ram15: device node name blacklisted Nov 04 16:48:56 | loop0: device node name blacklisted Nov 04 16:48:56 | loop1: device node name blacklisted Nov 04 16:48:56 | loop2: device node name blacklisted Nov 04 16:48:56 | loop3: device node name blacklisted Nov 04 16:48:56 | loop4: device node name blacklisted Nov 04 16:48:56 | loop5: device node name blacklisted Nov 04 16:48:56 | loop6: device node name blacklisted Nov 04 16:48:56 | loop7: device node name blacklisted Nov 04 16:48:56 | sr0: device node name blacklisted Nov 04 16:48:56 | sda: device node name blacklisted Nov 04 16:48:56 | sdc: not found in pathvec Nov 04 16:48:56 | sdc: mask = 0x3f Nov 04 16:48:56 | sdc: dev_t = 8:32 Nov 04 16:48:56 | sdc: size = 10485760 Nov 04 16:48:56 | sdc: subsystem = scsi Nov 04 16:48:56 | sdc: vendor = DGC Nov 04 16:48:56 | sdc: product = RAID 5 Nov 04 16:48:56 | sdc: rev = 0220 Nov 04 16:48:56 | sdc: h:b:t:l = 3:0:0:1 Nov 04 16:48:56 | sdc: tgt_node_name = 0x50060160ba601693 Nov 04 16:48:56 | sdc: serial = FCNPR063600652 Nov 04 16:48:56 | sdc: get_state Nov 04 16:48:56 | loading /lib64/multipath/libcheckemc_clariion.so checker
multipath コマンドに「-l」または「-ll」オプションを指定して、構成を表示して確認します。
# multipath -ll mpatha (3600601f0d057000018fc7845f46fe011) dm-1 DGC,RAID 0 size=98G features='0' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active | - 11:0:0:0 sdd 8:128 active ready running | - 10:0:0:0 sde 8:64 active ready running -+- policy='round-robin 0' prio=0 status=enabled |- 8:0:0:0 sdc 8:32 active ready running - 9:0:0:0 sdf 8:80 active ready running