Red Hat Training

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

4.4. 設定ファイルの multipaths セクション

multipath.conf 設定ファイルの multipaths セクションで各特定マルチパスデバイスに対して設定できる属性を 表4.2「Multipaths の属性」 に示します。属性が適用されるのは、指定したマルチパスデバイスのみです。デフォルト値が DM-Multipath によって使用され、multipath.conf ファイルの defaultsdevices セクションに設定した属性より優先されます。

表4.2 Multipaths の属性

属性説明
wwid multipath 属性を適用するマルチパスデバイスの WWID を指定します。このパラメーターは、multipath.conf ファイルのこのセクションに必須となります。
alias multipath 属性が適用されるマルチパスデバイスのシンボリック名を指定します。user_friendly_names を使用する場合には、この値を mpathn に設定しないでください。設定すると、自動的に割り当てられる user_friendly_names と競合してしまうため、誤ったデバイスノード名が与えられる可能性があります。
path_grouping_policy
未指定のマルチパスに適用する、デフォルトのパスグルーピングポリシーを指定します。使用できる値を以下に示します。
failover = 優先グループごとに 1 つのパス
multibus = 1 つの優先グループで有効なすべてのパス
group_by_serial = 検出されたシリアル番号ごとに 1 つの優先グループ
group_by_prio = パス優先値ごとに 1 つの優先グループ
group_by_node_name = ターゲットノード名ごとに 1 つの優先グループ
path_selector
次回の I/O 動作に使用するパスを決定する、デフォルトのアルゴリズムを指定します。使用できる値を以下に示します。
round-robin 0: パスグループ内の全てのパスをループスルーし、それぞれのパスに同負荷の I/O を送ります。
queue-length 0: 未処理の I/O 要求数が最も少ないパスに、次の I/O 群を送ります。
service-time 0: 推定処理時間が最も短いパスに、次の I/O 群を送ります。推定処理時間は、各パスに対する未処理の I/O の合計サイズを、その相対スループットで割ることにより求められます。
failback
パスグループのフェイルバックを管理します。
immediate の値を設定すると、active パスを含んでいる最も優先度の高いパスグループに直ちにフェイルバックします。
manual の値を指定すると、フェイルバックはすぐに行われず、オペレーター介入がある場合のみにフェイルバックします。
followover の値を指定すると、パスグループの最初のパスが active になったときに自動フェイルバックを実行します。これにより、別のノードがフェイルオーバーを要求しているときは、ノードが自動的にフェイルバックしなくなります。
「0」以上の数値で、フェイルバックの秒単位の遅延を指定します。
prio
パスの優先値を得るために呼び出すデフォルトの関数を指定します。例えば、SPC-3 の ALUA ビットは悪用可能な prio 値を提供します。使用できる値を以下に示します。
const: すべてのパスに優先度 1 を設定します。
emc: EMC アレイのパス優先度を生成します。
alua: SCSI-3 ALUA 設定に基づいてパス優先度を生成します。Red Hat Enterprise Linux 7.3 以降では、デバイス設定で prio "alua exclusive_pref_bit" を指定すると、マルチパスは pref ビットセットのパスのみを含むパスグループを作成し、このパスグループに最高の優先度を与えます。
ontap: NetApp アレイのパスの優先度を生成します。
rdac: LSI/Engenio RDAC コントローラーのパスの優先度を生成します。
hp_sw: active/standby モードにおける Compaq/HP コントローラー用パスの優先度を生成します。
hds: Hitachi HDS Modular ストレージアレイのパスの優先度を生成します。
features
マルチパスデバイスの追加デフォルト機能です。形式は "number_of_features_plus_arguments feature1 ..." となります。
features に使用できる値:
queue_if_no_path: no_path_retryqueue に設定するのと同じです。この機能の使用時に発生する可能性がある問題については 「queue_if_no_path 機能に関する問題」 を参照してください。
retain_attached_hw_handler: SCSI 層によりハードウェアハンドラーがパスデバイスに接続されている状態でこのパラメーターを yes に設定した場合は、multipath.conf ファイルで指定している hardware_handler の使用をデバイスに強制しません。SCSI 層によるハードウェアハンドラーの接続が行われていない場合は、通常通り、マルチパスで設定されているハードウェアハンドラーの使用が継続されます。デフォルト値は no です。
pg_init_retries n: 失敗するまでパスグループの初期化を最高 n 回再試行します。ここで、1 <= n <= 50 です。
pg_init_delay_msecs n: パスグループの初期化の再試行を、n ミリ秒間隔で待機します。ここで、0 <= n <= 60000 です。
no_path_retry
障害の発生したパスの使用を何回試行してからキュー待ちを無効にするか、その回数を指定します。
fail を指定すると、キュー待ちはせず直ちに失敗します。
queue を指定すると、パスが修復されるまでキュー待ちは停止しません。
rr_min_io 現在のパスグループで、次のパスに切り替えるまでにルーティングする I/O 要求数を指定します。この設定は、2.6.31 より前のカーネルを実行しているシステムにのみ適用されます。2.6.31 以降のシステムには、rr_min_io_rq を使用してください。デフォルト値は 1000 です。
rr_min_io_rq 現在のパスグループで、次のパスに切り替えるまでにルーティングする I/O 要求数を指定します。要求ベースの device-mapper-multipath を使用しています。現在のカーネルを実行しているシステムで使用してください。2.6.31 より前のバージョンのカーネルを実行しているシステムの場合は rr_min_io を使用してください。デフォルト値は 1 です。
rr_weight priorities に設定すると、次のパスを選択する path_selector を呼び出すまでに送信する要求数の決定に rr_min_io を使用しません。送信する要求数は、rr_min_io に、prio 関数で決定されるパスの優先度を掛けて決定します。uniform に設定すると、全てのパスの重みが等しくなります。
flush_on_last_del yes に設定すると、デバイスへの最後のパスが削除された時点でキュー待ちを無効にします。
user_friendly_names yes に設定すると、 /etc/multipath/bindings ファイルを使った永続的で固有となるエイリアスが、mpathn の形式でマルチパスに割り当てられます。no に設定すると、WWID がマルチパスのエイリアスに使用されます。ただし、設定ファイルの multipaths セクションで指定されるデバイス固有のエイリアスの方が、ここでの設定よりも優先されることになります。
delay_watch_checks (Red Hat Enterprise Linux Release 7.2 以降) 0 よりも大きい値に設定した場合、multipathd デーモンは、指定しているチェック回数の間、有効なパスを監視します。監視されているパスが再び失敗すると、パスが次に有効になったときに、delay_wait_checks で指定した連続的なチェック回数の間保持されるまで使用されません。これにより、信用できないパスがオンラインに戻ったときにすぐに使用されることを防ぐことができます。
delay_wait_checks (Red Hat Enterprise Linux Release 7.2 以降) 0 よりも大きい値に設定すると、オンラインに戻ったデバイスが、delay_watch_checks で指定されたチェック回数内に再び失敗し、次にオンラインに戻るときに、デバイスはマークされ、遅延が発生します。デバイスは、delay_wait_checks で指定されたチェック回数が経過するまで使用されません。
deferred_removeyes に設定すると、multipathd は最終パスデバイスが削除されるときに通常の削除ではなく遅延された削除を行います。これにより、通常の削除が行われ、削除に失敗したときに multipathed デバイスが使用中である場合、デバイスは最終ユーザーがデバイスを終了したときに自動的に削除されます。
skip_kpartx(Red Hat Enterprise Linux Release 7.3 以降) yes に設定すると、kpartx は自動的にデバイスにパーティションを作成しません。これにより、デバイスにパーティションテーブルがある場合でも、パーティションを作成せずにマルチパスデバイスを作成することができます。
max_sectors_kb(Red Hat Enterprise Linux Release 7.4 以降) マルチパスデバイスの初回アクティベートの前に、max_sectors_kb デバイスキューパラメーターを、マルチパスデバイスの基本的なすべてのパスで指定されている値に設定します。マルチパスデバイスの作成時には、デバイスは、パスデバイスから max_sectors_kb 値を継承します。手動で、この値をマルチパスデバイス向けに高くしたり、パスデバイス向けに低くすると、マルチパスデバイスは、パスデバイスが許可するよりも大きな I/O 操作を作成する場合があります。max_sectors_kb パラメーターを使用すると、パスデバイス上にマルチパスデバイスを作成する前に容易にこれらの値が設定でき、無効なサイズの I/O 操作が渡されることを回避できます。ユーザーがこのパラメーターを設定しないと、パスデバイスはデバイスドライバーにこれを設定させ、マルチパスデバイスがパスデバイスからこれを継承します。
reservation_key
これは、mpathpersist によって使用されるサービスアクション予約キーです。永続予約を使用するすべてのマルチパスデバイスに設定する必要があり、PERSISTENT RESERVE OUT パラメーターリストの RESERVATION KEY フィールドと同じである必要があります。これには、I_T nexus を特定するためにアプリケーションクライアントがデバイスサーバーに提供する 8 バイトの値が含まれます。mpathpersist でキーを登録するときに --param-aptpl オプションが使用される場合、予約キーの最後に :aptpl を追加する必要があります。
Red Hat Enterprise Linux 7.5 より、このパラメーターを file に設定できるようになりました。これは、mpath‐persist によって登録された RESERVATION KEYprkeys_file ファイルに保存します。その後、multipathd デーモンはこのキーを使用して、表示された追加のパスを登録します。登録が削除されると、RESERVATION KEYprkeys_file ファイルから削除されます。
設定ファイルで、2 つの特定マルチパスデバイスに対して multipath 属性を指定している例を以下に示します。1 番目のデバイスの WWID は 3600508b4000156d70001200000b0000 で、シンボリック名 yellow があります。
2 番目のマルチパスデバイスの WWID は 1DEC_____321816758474 で、シンボリック名 red があります。この例では、rr_weight 属性に priorities を設定しています。
multipaths {
       multipath {
              wwid                  3600508b4000156d70001200000b0000
              alias                 yellow
              path_grouping_policy  multibus
              path_selector         "round-robin 0"
              failback              manual
              rr_weight             priorities
              no_path_retry         5
       }
       multipath {
              wwid                  1DEC_____321816758474
              alias                 red
              rr_weight             priorities
        }
}