Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.5. 設定ファイルの devices セクション
multipath.conf
設定ファイルの devices
セクションでストレージデバイスごとに設定できる属性を 表4.3「デバイス属性」 に示します。そのデバイスを含むパスでは、multipath.conf
ファイルの multipaths
セクションに指定されている属性で上書きされない限り、この属性が使用されます。この属性は、multipath.conf
ファイルの defaults
セクションに設定されている属性より優先されます。
マルチパスに対応しているデバイスの多くは、デフォルトでマルチパスの設定に含まれています。対応デバイスなど、デフォルトの設定値は、次のいずれかのコマンドを実行して確認してください。
#multipathd show config
#multipath -t
おそらく、こうしたデバイスの値を修正する必要はありませんが、必要が生じた場合は、設定ファイルにエントリーを追加すればデフォルト値を上書きできます。multipathd show config コマンドが表示する、目的のデバイスのデフォルト値をコピーして、変更したい値に書き換えることができます。
設定ファイルのこのセクションに、デフォルトでは自動で設定されないデバイスを追加する場合は、
vendor
パラメーターおよび product
パラメーターを設定する必要があります。値は /sys/block/device_name/device/vendor
と /sys/block/device_name>/device/model
で検索できます。device_name は、マルチパス設定対象のデバイスです。以下に例を示します。
#cat /sys/block/sda/device/vendor
WINSYS #cat /sys/block/sda/device/model
SF2372
追加で指定するパラメーターは、使用するデバイスにより異なります。デバイスが active/active の場合は通常、追加でパラメーターを設定する必要はありません。
path_grouping_policy
を multibus
に設定することもできます。表4.3「デバイス属性」 で説明されているように、設定が必要となる可能性があるパラメーターは、no_path_retry
および rr_min_io
です。
デバイスが active/passive であるにも関わらず、I/O を持つパスが自動的に passive パスに切り替えられる場合は、チェッカーの関数を、I/O をパスに送信しない関数に変更し、それが正しく動作するかどうかを検証する必要があります (これを行わないとデバイスはフェイルオーバーし続けます)。つまり、ほとんどの場合は、
path_checker
を tur
に設定するということになります。この設定は、Test Unit Ready コマンドに対応するすべての SCSI デバイスで機能します。Test Unit Ready コマンドは大半のデバイスで対応しています。
パスの切り替えに特殊なコマンドを必要とするデバイスにマルチパスを設定するには、ハードウェアハンドラーカーネルモジュールが必要になります。現在、利用可能なハードウェアハンドラーは
emc
です。このハンドラーが目的のデバイスに使用できない場合は、そのデバイスにマルチパスを設定できない可能性があります。
表4.3 デバイス属性
属性 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
vendor | device 属性が適用されるストレージデバイスのベンダー名 (例: COMPAQ ) を指定します。 | ||||||||
product | device 属性が適用されるストレージデバイスの製品名 (例: HSV110 (C)COMPAQ ) を指定します。 | ||||||||
revision | ストレージデバイスの製品リビジョン識別子を指定します。 | ||||||||
product_blacklist | 製品別にデバイスをブラックリスト指定するのに使用する正規表現を指定します。 | ||||||||
alias_prefix | デフォルトの "mpath" の代わりに、このデバイスタイプに使用する user_friendly_names 接頭辞。 | ||||||||
hardware_handler |
| ||||||||
path_grouping_policy |
| ||||||||
path_selector |
| ||||||||
path_checker |
| ||||||||
features |
| ||||||||
prio |
| ||||||||
failback |
| ||||||||
rr_weight | priorities に設定すると、次のパスを選択するために selector を呼び出すまで、rr_min_io リクエストをパスに送信する代わりに、送信するリクエスト数が、prio 関数のように、パスの優先度の rr_min_io 倍で決められます。uniform に設定すると、すべてのパスの重みが等しくなります。 | ||||||||
no_path_retry |
| ||||||||
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 です。 | ||||||||
fast_io_fail_tmo | FC リモートポートで問題を検出してから、そのリモートポートでデバイスへの I/O が失敗するまでの scsi 層の待機時間 (秒) です。この値は dev_loss_tmo よりも小さくすることをお勧めします。これを off に設定すると、タイムアウトが無効になります。fast_io_fail_tmo オプションは、recovery_tmo および replacement_timeout オプションの値を上書きします。詳細は、「iSCSI および DM Multipath のオーバーライド」 を参照してください。 | ||||||||
dev_loss_tmo | FC リモートポート上で問題を検出してから、システムから削除されるまでの scsi 層の待機時間 (秒) です。この値を無制限に設定するには 2147483647 秒または 68 年に設定します。 | ||||||||
flush_on_last_del | yes に設定すると、デバイスへの最後のパスが削除された時点で、multipathd デーモンがキュー待ちを無効にします。 | ||||||||
user_friendly_names | yes に設定すると、/etc/multipath/bindings ファイルを使った永続的で固有となるエイリアスが、mpath n の形式でマルチパスに割り当てられます。no に設定すると、WWID がマルチパスのエイリアスに使用されます。ただし、設定ファイルの multipaths セクションで指定されるデバイス固有のエイリアスの方が、ここでの設定よりも優先されることになります。デフォルト値は no です。 | ||||||||
retain_attached_hw_handler | SCSI 層で、ハードウェアハンドラーがパスデバイスに接続されている状態で、このパラメーターを yes に設定した場合は、multipath.conf ファイルで指定している hardware_handler の使用をデバイスに強制しません。SCSI 層によるハードウェアハンドラーの接続が行われていない場合は、通常通り、マルチパスで設定されているハードウェアハンドラーの使用が継続されます。デフォルト値は no です。 | ||||||||
detect_prio | yes に設定すると、デバイスで ALUA に対応しているかを最初にチェックします。対応している場合は、alua prioritizer をデバイスに割り当てます。デバイスが ALUA に対応していない場合は、通常通り prioritizer の特定を行います。 | ||||||||
uid_attribute | 固有のパス識別子を与えます。 | ||||||||
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_remove | yes に設定すると、multipathd は最終パスデバイスが削除されるときに通常の削除ではなく遅延された削除を行います。これにより、通常の削除が行われ、削除に失敗したときに multipathed デバイスが使用中である場合、デバイスは最終ユーザーがデバイスを終了したときに自動的に削除されます。 | ||||||||
skip_kpartx | (Red Hat Enterprise Linux Release 7.3 以降) yes に設定すると、kpartx は自動的にデバイスにパーティションを作成しません。これにより、デバイスにパーティションテーブルがある場合でも、パーティションを作成せずにマルチパスデバイスを作成することができます。 | ||||||||
max_sectors_kb | (Red Hat Enterprise Linux リリース 7.4 およびそれ以降では) マルチパスデバイスの初回アクティベート時の前に、max_sectors_kb デバイスキューパラメーターを、マルチパスデバイスのすべての基礎的なパスで指定された値に設定します。マルチパスデバイスの作成時には、デバイスはパスデバイスから max_sectors_kb 値を継承します。手動でこの値をマルチパスデバイス向けに高めたり、パスデバイス向けにこの値を低くすると、マルチパスデバイスはパスデバイスが許可するよりも大きな I/O 操作を作成する場合があります。max_sectors_kb パラメーターを使用すると、パスデバイス上にマルチパスデバイスを作成する前に容易にこれらの値が設定でき、無効なサイズの I/O 操作が渡されることを回避できます。ユーザーがこのパラメーターを設定しないと、パスデバイスはデバイスドライバーにこれを設定させ、マルチパスデバイスがパスデバイスからこれを継承します。 | ||||||||
detect_path_checker | (Red Hat Enterprise Linux Release 7.4 以降) yes に設定すると、マルチパスにより、デバイスが ALUA に対応しているかどうかが確認されます。対応している場合は、tur パスチェッカーが自動的に使用されます。対応していない場合は、通常通りに path_checker が選択されます。 | ||||||||
all_devs | このパラメーターを yes に設定すると、このデバイス設定に指定されたすべてのオプションによって、他のデバイス設定すべてのオプションの値 (設定ファイルの値とデフォルトの値両方) がオーバーライドされます。 | ||||||||
all_tg_pt | (Red Hat Enterprise Linux 7.6 以上のリリース) このオプションを yes に設定すると、mpathpersist がキーを設定するときに、1 つのホストから 1 つのターゲットポートに登録されたキーを 1 つのホストからすべてのターゲットポート向けとして処理します。1 つのターゲットに 1 つのホストではなく、1 つのホストからすべてのターゲットポートで登録キーを自動的に設定および消去するアレイで mpathpersist を適切に使用するには、yes に設定する必要があります。 |
マルチパス設定ファイルの
device
エントリーの例を以下に示します。
# } # device { # vendor "COMPAQ " # product "MSA1000 " # path_grouping_policy multibus # path_checker tur # rr_weight priorities # } #}
以下の設定は、すべての内蔵デバイス設定に対して
no_path_retry
を fail
に設定します。
devices { device { all_devs yes no_path_retry fail } }