multipath -llとmultipath.confで表示される値が異なるのはなぜですか。
環境
- ONTAP 9
- SAN
- マルチパスユーティリティ
回答
multipath -ll
の「features」パラメータの出力は、推奨設定とは少し異なります。これは 、NetApp が2つの機能を使用することを推奨しており、ホストがこれら2つの 機能を使用して1つずつ合計し、multipath -ll
出力で合計3つの機能を使用するためです。- ターゲットはOSに詳細を尋ねます。
multipath -ll
に表示されるのは、OSが交渉した最終結果です。 hardware_handler
の入力が0の場合、 デバイスの処理方法はOSによって決定され、ホストはALUAベースのデバイス処理を割り当てます。- OSは入力に基づいて独自の呼び出しを行い、入力はデフォルトでマルチパスライブラリに設定されて います( 明示的に変更しない場合)。
- NetAppにはハードウェア処理カーネルモジュールが定義されていないため、ONTAP の出力の下に
hwhandler='1 alua'
が表示されるため、LUN検出時に、multipath -ll
はALUAに準拠してLUNのブロック特性をアドバタイズします。これは設計によるものです。
ホストはカーネルのデフォルトパラメータを使用する必要があり、カーネルでは
Hardware_handler
0に設定されています。 multipath.confファイルが明示的に設定されていないにもかかわらずmultipath -ll
Hardware_handlerのパラメータを1 alua
0
Hardware_handler
ではなく「retain_attached_hw_handler = yes
として選択する のは、multipathd config
は「という機能があるためです。したがって、 パラメータ-retain_attached_hw_handler
がYes
設定されているためです。
:~ # multipathd -k"show config" |more
device {
vendor "NETAPP"
product "LUN"
path_grouping_policy "group_by_prio"
features "2 pg_init_retries 50"
prio "ontap"
failback "immediate"
no_path_retry "queue"
flush_on_last_del "yes"
dev_loss_tmo "infinity"
user_friendly_names "no"
}
3600a098038314e51665d57554f687xxx dm-14 NETAPP,LUN C-Mode
size=10G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 13:0:3:19 sdao 66:128 active ready running
|- 13:0:2:19 sdu 65:64 active ready running
|- 14:0:2:19 sdbi 67:192 active ready running
`- 14:0:3:19 sdcc 69:0 active ready running
追加情報
multipath -ll -d -v3
コマンドを使用すると、システムの現在の設定を確認できます。- NetAppの推奨事項に従って、 パラメータを変更する必要がある場合を除き、
multipath.conf
ファイルを編集または更新しないでください。 - ただし、 NetAppの推奨設定はすべてマルチパスバイナリパッケージにハードコードされており、サーバにインストールされている場合は、LUNのスキャン時に同じパラメータがサーバで使用されます。
- HW_HANDLER(ハードウェアハンドラ)機能-
- hw_handlerパラメータは、特定のデバイスに使用するハードウェアハンドラを指定します。ハードウェアハンドラは、特定のタイプのストレージハードウェア、特にフェイルオーバーとパス管理のコンテキストでの特定の処理を提供するカーネルモジュールです。ハードウェアハンドラは、ベンダー固有のロジックを実装して、パスを管理し、フェイルオーバーをより効率的に処理できます。
- 一般的なハードウェアハンドラ:
0(ハードウェアハンドラなし):特定のハードウェアハンドラが使用されていないことを示します。
1 ALUA(Asymmetric Logical Unit Access):ALUAをサポートするデバイスに使用され、ストレージアレイが提供する優先パスをシステムが認識して使用できるようにします。
1 RDAC(Redundant Disk Array Controller):RDAC固有の処理を必要とするデバイスに使用します。
1 EMC(EMC PowerPath):EMC PowerPathソフトウェアが提供する特定の処理を必要とするEMCストレージ・アレイに使用されます
- retain_attached_hw_handler機能-
- retain_attached_hw_handlerパラメータは、マルチパスサブシステムが、デバイスが最初に検出されたときにデバイスに接続されたハードウェアハンドラを保持するかどうかを指定します。これは、ハードウェアハンドラが再構成やパス変更の間で一貫性を保つ必要がある場合に役立ちます。
値
: yes:デバイスに最初に接続されたハードウェアハンドラを保持します。
いいえ:ハードウェアハンドラは保持しないでください。必要に応じて変更できます。
例:
retain_attached_hw_handler yes
主な違い:
- 目的:
hw_handler:特定のストレージデバイスのパスとフェイルオーバーの管理に使用するハードウェアハンドラのタイプを指定します。
retain_attached_hw_handler:再構成時に最初に接続されたハードウェアハンドラを保持するかどうかを指定します。
- 使用方法:
HW_HANDLER:使用するハードウェアハンドラモジュールを直接設定します(例:ALUAサポートの場合は1 ALUA)。
retain_attached_hw_handler:デバイスのリコンフィグレーション中にハードウェアハンドラを保持または変更する動作を制御します。
- 構成コンテキスト:
HW_HANDLER:通常、マルチパス設定のdevicesセクションで、特定のデバイスのハンドラを指定するように設定します。
retain_attached_hw_handler:保持動作を制御するために、defaultsセクションまたは特定のデバイス構成内で設定できます。