4.3. 設定ファイルの defaults セクション

/etc/multipath.conf 設定ファイルには defaults セクションがあり、以下のように user_friendly_names パラメーターを yes にセットすることができます。
defaults {
        user_friendly_names yes
}
上記は、user_friendly_names パラメーターのデフォルト値を上書きします。
設定ファイルに defaults のテンプレートが含まれています。このセクションは、以下のようにコメントアウトされています。
#defaults {
#       polling_interval        10
#       path_selector           "round-robin 0"
#       path_grouping_policy    multibus
#       uid_attribute           ID_SERIAL
#       prio                    alua
#       path_checker            readsector0
#       rr_min_io               100
#       max_fds                 8192
#       rr_weight               priorities
#       failback                immediate
#       no_path_retry           fail
#       user_friendly_names     yes
#}
設定パラメーターのデフォルト値を上書きする場合は、このテンプレートの該当行を defaults セクションにコピーして、コメントを外します。例えば、path_grouping_policy パラメーターを、デフォルト値の failover から multibus に上書きするには、以下のように、テンプレートで該当行を見つけて設定ファイルの defaults セクションにコピーし、そのコメントを外します。
defaults {
        user_friendly_names     yes
        path_grouping_policy    multibus
}
multipath.conf 設定ファイルの defaults セクションに設定する属性を 表4.1「マルチパス設定の defaults セクション」 で説明します。multipath.conf ファイルの devices および multipaths セクションにおける属性指定で上書きされない限り、これらの値が DM-Multipath で使用されます。

表4.1 マルチパス設定の defaults セクション

属性説明
polling_interval パスチェックが行われる間隔を秒数で指定します。適正に機能するパスでは、チェックの間隔は (4 * polling_interval) まで徐々に増加します。デフォルト値は 5 です。
multipath_dir 動的共有オブジェクトが保管されるディレクトリーです。デフォルト値はシステムによって異なり、一般的には/lib/multipath になります。
find_multipaths
マルチパスデバイスのセットアップモードを定義します。このパラメーターが yes に設定されていると、マルチパスは、ブラックリスト化されていないパスにはデバイス作成を試行しません。以下にあげる 3 つの条件のいずれかを満たす場合のみ、デバイスを作成します。
- ブラックリストに指定されておらず、同一の WWID を持つパスが少なくとも 2 つある場合
- ユーザーが手動で multipath コマンドを実行し、デバイスを指定して作成を強制している場合
- 任意のパスが、以前に作成されたマルチパスデバイスと同一の WWID を持っている場合。find_multipaths を設定した状態でマルチパスデバイスを作成すると、そのデバイスの WWID が記憶されるため、マルチパスが同一の WWID を持つパスを認識するとすぐに、そのデバイスを自動的に再作成します。これによって、マルチパスのブラックリストを編集しなくても、マルチパスが自動的に正しいパスを選択してマルチパスデバイスにすることができます。find_multipaths パラメーターを設定せずにマルチパスデバイスを既に作成している場合は、「設定ファイルの blacklist セクション」 の説明を参照してください。
デフォルト値は no です。ただし、Red Hat Enterprise Linux 7 では、mpathconf が作成するデフォルトの multipath.conf ファイルにより、find_multipaths が有効になります。
reassign_maps デバイスマッパーマップの再割り当てを有効にします。このオプションを使用すると、multipathd デーモンは、既存のデバイスマッパーのマップを、基本的なブロックデバイスではなく、常にマルチパスデバイスに向けるように再マップします。使用可能な値は、yes または no です。デフォルト値は yes です。
verbosity デフォルトの詳細度です。値が高いほど詳細レベルが高くなります。使用できるレベルは 0 から 6 の間です。デフォルト値は 2 です。
path_selector
次回の I/O 動作に使用するパスを決定する、デフォルトのアルゴリズムを指定します。使用できる値を以下に示します。
round-robin 0: パスグループ内の全てのパスをループスルーし、それぞれのパスに同負荷の I/O を送ります。
queue-length 0: 未処理の I/O 要求数が最も少ないパスに、次の I/O 群を送ります。
service-time 0: 推定処理時間が最も短いパスに、次の I/O 群を送ります。推定処理時間は、各パスに対する未処理の I/O の合計サイズを、その相対スループットで割ることにより求められます。
デフォルト値は service-time 0 です。
path_grouping_policy
未指定のマルチパスに適用する、デフォルトのパスグルーピングポリシーを指定します。使用できる値を以下に示します。
failover: 優先グループごとに 1 つのパス。
multibus: 1 つの優先グループ内で有効なすべてのパス。
group_by_serial: 検出されたシリアル番号ごとに 1 つの優先グループ。
group_by_prio: パス優先値ごとに 1 つの優先グループ。優先度はグローバル、コントローラー別、またはマルチパスオプション別に指定されているコールアウトプログラムによって決定されます。
group_by_node_name: ターゲットノード名ごとに 1 つの優先グループ。ターゲットノード名は /sys/class/fc_transport/target*/node_name 内で取得されます。
デフォルト値は failover です。
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 ストレージアレイのパスの優先度を生成します。
デフォルト値は const です。
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 です。
path_checker
パスの状態を判断するのに使用するデフォルトのメソッドを指定します。使用できる値を以下に示します。
readsector0: デバイスの最初のセクターを読み取ります。
tur: デバイスに対して TEST UNIT READY コマンドを発行します。
emc_clariion: EMC Clariion 固有の EVPDページ 0xC0 の問い合わせを行い、パスを特定します。
hp_sw: Active/Standby のファームウェアを搭載した HP ストレージアレイのパスの状態をチェックします。
rdac: LSI/Engenio RDAC ストレージコントローラーのパスの状態をチェックします。
directio: 直接 I/O を使用する最初のセクターを読み取ります。
デフォルト値は directio です。
failback
パスグループのフェイルバックを管理します。
immediate の値を設定すると、active パスを含んでいる最も優先度の高いパスグループに直ちにフェイルバックします。
manual の値を指定すると、フェイルバックはすぐに行われず、オペレーター介入がある場合のみにフェイルバックします。
followover の値を指定すると、パスグループの最初のパスが active になったときに自動フェイルバックを実行します。これにより、別のノードがフェイルオーバーを要求しているときは、ノードが自動的にフェイルバックしなくなります。
「0」以上の数値で、フェイルバックの秒単位の遅延を指定します。
デフォルト値は manual です。
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 に設定すると、次のパスを選択する selector を呼び出すまでに送信する要求数の決定に rr_min_io を使用しません。送信する要求数は、rr_min_io に、prio 関数で決定されるパスの優先度を掛けて決定します。uniform に設定すると、全てのパスの重みが等しくなります。デフォルト値は uniform です。
no_path_retry
障害の発生したパスの使用を何回試行してからキュー待ちを無効にするか、その回数を指定します。
fail を指定すると、キュー待ちはせず直ちに失敗します。
queue を指定すると、パスが修復されるまでキュー待ちは停止しません。
デフォルト値は 0 です。
user_friendly_names yes に設定すると、/etc/multipath/bindings ファイルを使った永続的で固有となるエイリアスが、mpathn の形式でマルチパスに割り当てられます。no に設定すると、WWID がマルチパスのエイリアスに使用されます。ただし、設定ファイルの multipaths セクションで指定されるデバイス固有のエイリアスの方が、ここでの設定よりも優先されることになります。デフォルト値は no です。
queue_without_daemon no に設定すると、multipathd デーモンにより、シャットダウン時にすべてのデバイスのキュー待ちが無効になります。デフォルト値は no です。
flush_on_last_del yes に設定すると、multipathd デーモンにより、デバイスへの最後のパスが削除された時点でキュー待ちが無効になります。デフォルト値は no です。
max_fds マルチパスおよび multipathd デーモンで開くことが可能な、オープンファイル記述子の最大数をセットします。これは、ulimit -n コマンドに相当します。Red Hat Enterprise Linux 6.3 リリース以降、デフォルト値は max になっています。つまり、/proc/sys/fs/nr_open に記述されたシステムの上限に設定されます。これより前のリリースでは、値を設定しないと、オープンファイル記述子の最大数は呼び出しのプロセスが取得し、通常は 1024 です。この数が 1024 を超える場合は、念のため、パスの最大数に 32 を加えた数を設定してください。
checker_timeout 明示的なタイムアウトで、SCSI コマンドを発行するパス checker および prioritizer に使用するタイムアウト (秒) です。デフォルト値は sys/block/sdx/device/timeout から取得します。
fast_io_fail_tmo FC リモートポートで問題を検出してから、そのリモートポートでデバイスへの I/O に失敗するまでの scsi 層の待機時間 (秒) です。この値は dev_loss_tmo よりも小さくする必要があります。これを off に設定すると、タイムアウトが無効になります。デフォルト値は OS により決定されます。
dev_loss_tmo FC リモートポートで問題を検出してから、その問題がシステムから削除されるまでの scsi 層の待機時間 (秒) です。無限に設定する場合は、2147483647 秒または 68 年に設定します。デフォルト値は OS により決定されます。
hw_string_match
multipath.conf ファイルの devices セクション内の各デバイス設定から独自のデバイス設定を作成するか、組み込みデバイス設定の 1 つを修正します。hw_string_matchyes に設定すると、ユーザーのデバイス設定内のベンダー、製品、およびリビジョンの文字列が、組み込みのデバイス設定の文字列と完全に一致する場合には、組み込みの設定がユーザー設定オプションで修正されます。完全に一致しない場合、ユーザーのデバイス設定は新しい設定として処理されます。hw_string_matchno に設定すると、文字列による一致ではなく正規表現による一致が使用されます。
hw_string_match パラメーターは、デフォルトで no に設定されます。
retain_attached_hw_handler SCSI 層で、ハードウェアハンドラーがパスデバイスに接続されている状態で、このパラメーターを yes に設定した場合は、multipath.conf ファイルで指定している hardware_handler の使用をデバイスに強制しません。SCSI 層でハードウェアハンドラーの接続が行われていない場合は、通常通り、マルチパスで設定されているハードウェアハンドラーの使用が継続されます。デフォルト値は no です。
detect_prio yes に設定すると、最初にデバイスで ALUA に対応しているかをチェックします。対応している場合は alua prioritizer をデバイスに割り当てます。デバイスが ALUA に対応していない場合は通常通り prioritizer の特定を行います。デフォルト値は no です。
uid_attribute 固有のパス識別子を与えます。デフォルト値は ID_SERIAL です。
force_sync (Red Hat Enterprise Linux Release 7.1 以降)「yes」に設定すると、パスチェッカーは非同期モードで実行しません。つまり、一度に実行されるチェッカーは 1 つのみになります。これは、複数の multipathd チェッカーが並行して実行されていて、CPU に大きなプレッシャーをかけている場合に便利です。デフォルト値は no です。
delay_watch_checks (Red Hat Enterprise Linux Release 7.2 以降) 0 よりも大きい値に設定すると、multipathd デーモンは、指定されたチェック回数の間、有効なパスを監視します。監視されているパスが再び失敗すると、パスが次に有効になったときに、delay_wait_checks で指定された連続的なチェック回数の間保持されるまで使用されません。これにより、信用できないパスがオンラインに戻ったときにすぐに使用されることを防ぐことができます。デフォルト値は no です。
delay_wait_checks(Red Hat Enterprise Linux Release 7.2 以降) 0 よりも大きい値に設定した場合は、オンラインに戻ったデバイスが delay_watch_checks で指定されたチェック回数内に再び失敗し、次にオンラインに戻るときに、デバイスはマークされ、遅延が発生します。デバイスは、delay_wait_checks で指定されたチェック回数が経過するまで使用されません。デフォルト値は no です。
ignore_new_boot_devs(Red Hat Enterprise Linux Release 7.2 以降) yes に設定すると、ブートの初期段階でノードが initramfs ファイルシステムに存在しているときに、WWID が /etc/multipath/wwidsinitramfs copy に存在していないデバイスは、マルチパスによって作成されません。この機能は、インストール中のブートに使用できます (マルチパスが、udev ルールによって最初に現れたときに要求しなかったデバイスに、設定を自ら試行する場合)。このパラメーターは yes または no に設定できます。設定しない場合のデフォルト値は no です。
retrigger_triesretrigger_delay(Red Hat Enterprise Linux Release 7.2 以降) retrigger_tries パラメーターと retrigger_delay パラメーターは、udev が元の uevents の処理に完全に失敗し、マルチパスでデバイスを使用できなくなった場合に、multipathd が uevents を再トリガーするために使用されます。retrigger_tries パラメーターは、デバイスが完全にセットアップされていない場合にマルチパスが uevent の再トリガーを試行する回数を設定します。retrigger_delay パラメーターは、再試行の間隔 (秒) を設定します。これら両方のオプションではゼロ以上の数値を使用できます。retrigger_tries パラメーターをゼロに設定すると、再試行が無効になります。retrigger_delay パラメーターをゼロに設定すると、パスチェッカーの次のループで uevent が再発行されます。retrigger_tries パラメーターが設定されていない場合は、デフォルトで 3 に設定されます。retrigger_delay パラメーターが設定されていない場合は、デフォルトで 10 に設定されます。
new_bindings_in_boot(Red Hat Enterprise Linux Release 7.2 以降) new_bindings_in_boot パラメーターは、通常のファイルシステムのバインディングファイルによりすでに提供されている user_friendly_name を、マルチパスが initramfs ファイルシステムで提供しないようにするために使用されます (initramfs ファイルシステムが再作成された場合にのみ、initramfs ファイルシステムの user_friendly_names バインディングが同期されるため発生する可能性がある問題)。このパラメーターを no に設定すると、マルチパスは initramfs ファイルシステムに新しいバインディングを作成しません。デバイスで /etc/multipath/bindingsinitramfs コピーにバインディングがない場合、マルチパスは WWID をエイリアスとして使用し、user_friendly_name を提供しません。ブートの後半で、ノードが通常のファイルシステムをマウントした後で、マルチパスはデバイスに user_friendly_name を提供します。このパラメーターは yes または no に設定できます。設定しない場合は、デフォルトで no に設定されます。
config_dir (Red Hat Enterprise Linux Release 7.2 以降) "" 以外の値に設定すると、マルチパスは、このディレクトリーで ".conf" で終わるファイルをアルファベット順に検索し、まるで設定情報が /etc/multipath.conf ファイルに存在するかのように、それらのファイルから設定情報を読み取ります。これにより、マシンごとに固有の設定ファイル以外に、マシン間で共有する 1 つの主要設定を持つことができます。config_dir パラメーターは、"" または完全修飾ディレクトリー名のいずれかにする必要があります。このパラメーターは主要な /etc/multipath.conf ファイルでのみ設定でき、config_dir ファイルに指定されたファイルには設定できません。デフォルト値は /etc/multipath/conf.d です。
deferred_removeyes に設定すると、multipathd は、最終パスデバイスを削除するときに、通常の削除ではなく据え置き削除を行います。これにより、通常の削除が行われて失敗し、multipathed デバイスが使用中である場合に、そのデバイスは、最終ユーザーがデバイスを終了したときに自動的に削除されます。デフォルト値は noです。
log_checker_erronce に設定すると、multipathd は、最初のパスチェッカーエラーを詳細レベル 2 でログに記録します。以降のすべてのエラーは、デバイスが復元されるまで詳細レベル 3 でログに記録されます。always に設定されている場合、multipathd は、常に詳細レベル 2 でパスチェッカーエラーをログに記録します。デフォルト値は always です。
skip_kpartx(Red Hat Enterprise Linux リリース 7.3 およびそれ以降では) yes に設定すると、kpartx は自動的にデバイス上でパーティションを作成しません。これにより、デバイスにパーティションテーブルがある場合でも、ユーザーはパーティションを作成せずにマルチパスデバイスを作成することができます。このオプションのデフォルト値は no です。
max_sectors_kb(Red Hat Enterprise Linux リリース 7.4 およびそれ以降では) マルチパスデバイスの初回アクティベート時の前に、max_sectors_kb デバイスキューパラメーターを、マルチパスデバイスのすべての基礎的なパスで指定された値に設定します。マルチパスデバイスの作成時には、デバイスはパスデバイスから max_sectors_kb 値を継承します。手動でこの値をマルチパスデバイス向けに高めたり、パスデバイス向けにこの値を低くすると、マルチパスデバイスはパスデバイスが許可するよりも大きな I/O 操作を作成する場合があります。max_sectors_kb パラメーターを使用すると、パスデバイス上にマルチパスデバイスを作成する前に容易にこれらの値が設定でき、無効なサイズの I/O 操作が渡されることを回避できます。このパラメーターを設定しないと、パスデバイスではデバイスドライバーがこれを設定し、マルチパスデバイスがパスデバイスからこれを継承します。
remove_retries(Red Hat Enterprise Linux Release 7.4 以降) マルチパスが、使用中のデバイスを削除するのを試行する回数を設定します。一度試行してから次の試行が行われるまで、マルチパスは 1 秒スリープ状態となります。デフォルトの値は 0 で、マルチパスは削除を試行しません。
disable_changed_wwids(Red Hat Enterprise Linux Release 7.4 以降) yes に設定した場合は、マルチパスデバイスを構成しているパスデバイスの WWID が変更すると、パスの WWID がマルチパスデバイスの WWID に復元されるまで、マルチパスがパスデバイスへのアクセスを無効にします。デフォルト値は no で、パスの WWID が変更したかどうかを確認しません。
detect_path_checker(Red Hat Enterprise Linux Release 7.4 以降) yes に設定すると、デバイスが ALUA に対応しているかどうかをマルチパスデバイスが確認します。対応している場合は、tur パスチェッカーが自動的に使用されます。対応していない場合は、通常通りに path_checker が選択されます。デフォルト値は no です。
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 ファイルに保存します。その後、multipathd デーモンはこのキーを使用して、表示された追加のパスを登録します。登録が削除されると、RESERVATION KEYprkeys ファイルから削除されます。これは、デフォルトで未設定になっています。
prkeys_file(Red Hat Enterprise Linux 7.5 以上のリリース) prkeys ファイルの完全パス名です。このファイルは、reservation_key パラメーターが file に設定された場合に、特定の WWID に使用される予約キーを追跡するために multipathd デーモンによって使用されます。デフォルト値は /etc/multipath/prkeys です。
all_tg_pt(Red Hat Enterprise Linux 7.6 以上のリリース) このオプションを yes に設定すると、mpathpersist がキーを設定するときに、1 つのホストから 1 つのターゲットポートに登録されたキーを 1 つのホストからすべてのターゲットポート向けとして処理します。1 つのターゲットに 1 つのホストではなく、1 つのホストからすべてのターゲットポートで登録キーを自動的に設定および消去するアレイで mpathpersist を適切に使用するには、yes に設定する必要があります。デフォルト値は no です。