device-mapper-multipath によって、RHEL のストレージアレイに自動的に設定される設定
Environment
- Red Hat Enterprise Linux (RHEL) 4、5、および 6
- device-mapper-multipath
Issue
- device-mapper-multipath によって、ストレージアレイに自動的に使用される設定を確認する方法は?
- ハードウェアの
device {}stanza を/etc/multipath.confに追加する必要がありますか? - multipath.conf の SAN に対するデフォルト設定は何ですか?
Resolution
Red Hat Enterprise Linux では、ストレージターゲットが返してくる Vendor / Product 文字列を基にして、デバイスマッパーのマルチパスの設定方法に対してビルトインされたデフォルト設定があります。これらのデフォルト設定の一覧は以下にあります。
/usr/share/doc/device-mapper-multipath-<version#>/multipath.conf.defaults
ベンダーに修正を指示された場合を除き、デフォルト値を使用することを Red Hat は推奨します。
注意: 上述の multipath.conf.defaults ファイルで確認できるビルトイン設定を有効にするために /etc/multipath.conf を変更する必要はありません。/etc/multipath.conf の device {} ブロックで上書きされない限り、これらの設定は対応するデバイスに自動的に適用されます。
Root Cause
device-mapper-multipath は、その "hardware table" として参照されるものを内部的に含みます。これは、一般的に使用される別のストレージアレイに対する設定の一覧です。ストレージベンダーは Red Hat およびアップストリームの device-mapper-multipath メンテナーと密接に連携して、これらのハードウェアに対するオプション設定をこの一覧に追加します。情報管理目的として、このハードウェアテーブルのテキスト表現が上述の multipath.conf.defaults ファイルに含まれますが、実際のテーブルはマルチパスによって使用されるソースコードの一部となります (libmultipath/hwtable.c)。
特定の設定を使用するマルチパスが準拠する優先順位 (上から下) は、以下のようになります。
/etc/multipath.confのdeviceブロック- そのデバイスに対する hwtable の設定
/etc/multipath.confのdefault設定- hwtable、または
multipathによって内部的に設定されたdefault設定
たとえば、特定のデバイスに対して、/etc/multipath.conf にデバイスブロックが存在する場合は、以下のようになります。
devices {
device {
vendor "Example, Inc."
product "Storage 1000"
features "1 queue_if_no_path"
}
}
このデバイスを multipath で設定した場合、上述のブロックに指定した "features" は、hwtable の "Example, Inc Storage 1000" に対して設定されているものよりも優先されます。上のブロックに指定されてなくても hwtable に存在しているその他のすべての設定に対しては設定が上書きされていないため、そのまま適用されます。最終的に、multipath.conf または hwtable に指定されていない設定は、multipath.conf からの defaults {} ブロック、もしくは hwtable のビルトインのデフォルト設定およびマルチパスへの内部設定に、デフォルト設定されます。
つまり、特定のデバイスにマルチパスを設定する方法としては、以下の方法が正式に推奨されます。
- この環境において、これらの設定に特別な変更が必要にならない限りは、ビルトインの hwtable 設定を通じて指定したデバイスを自動的に設定するように、
multipathを設定するのが最適の方法となります。ビルトイン設定を使用する場合は、何かを設定する必要はありません。設定は自動的に適用されます。 - 特定のストレージデバイスに対して実装された特定の設定が必要な場合は、hwtable を確認して、それが自動的に適用されているか、適用されている場合はその他に設定が必要かどうかを確認してください。
- デバイスに対して特定の設定を、hwtable のデフォルト値から変更する必要がある場合は、上述のように、
/etc/multipath.confのdevice {}stanza で変更することができます。修正する必要がある設定だけを定義する必要があります。その他の設定は変更していないため、hwtable 設定の値が適用されます。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
