Device Mapper Multipath の設定
Device Mapper Multipath 機能の設定および管理
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 デバイスマッパーマルチパスの概要 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath は以下を提供します。
- 冗長性
- DM Multipath は、アクティブ/パッシブ設定でフェイルオーバーを提供できます。アクティブ/パッシブ設定では、常にパスのサブセットのみが I/O に使用されます。ケーブル、スイッチ、コントローラーなどの I/O パスの要素に障害が発生した場合、DM Multipath は代替パスに切り替わります。
パスの数はセットアップによって異なります。通常、DM Multipath 設定にはストレージへのパスが 2、4、または 8 個ありますが、これは一般的な設定であり、他の数となる可能性もあります。
- パフォーマンスの向上
- DM Multipath は、アクティブ/アクティブモードで設定できます。このモードでは、I/O はラウンドロビン方式でパスに分散されます。一部の設定では、DM Multipath は I/O パスの負荷を検出し、負荷を動的に再調整できます。
1.1. 1 つの RAID デバイスを使用したアクティブ/パッシブのマルチパス設定 リンクのコピーリンクがクリップボードにコピーされました!
この設定では、サーバー上に 2 つのホストバスアダプター (HBA)、2 つの SAN スイッチ、および 2 つの RAID コントローラーがあります。この設定では、次のような障害が発生する可能性があります。
- HBA の障害
- ファイバーチャネルケーブルの障害
- SAN スイッチの障害
- アレイコントローラーポートの障害
DM Multipath が設定されると、上記のポイントのいずれかで障害が発生すると、DM Multipath は別の I/O パスに切り替わります。以下の図は、サーバーから RAID デバイスへの 2 つの I/O パスを使用した設定を説明します。ここでは、hba1、SAN1、および cntrlr1 を通る 1 つの I/O パスと、hba2、SAN2、および cntrlr2 を通る別の I/O パスがあります。
図1.1 1 つの RAID デバイスを使用したアクティブ/パッシブのマルチパス設定
1.2. 2 つの RAID デバイスを使用したアクティブ/パッシブのマルチパス設定 リンクのコピーリンクがクリップボードにコピーされました!
この設定では、サーバー上に 2 つの HBA、2 つの SAN スイッチ、およびそれぞれ 2 つの RAID コントローラーを備えた 2 つの RAID デバイスがあります。DM Multipath が設定されている場合には、どちらかの RAID デバイスへの I/O パスのどこかのポイントで障害が発生すると、DM Multipath はそのデバイスの別 I/O パスに切り替わります。以下の図は、各 RAID デバイスへの 2 つの I/O パスを使用した設定を説明します。ここでは、各 RAID デバイスへの 2 つの I/O パスがあります。
図1.2 2 つの RAID デバイスを使用したアクティブ/パッシブのマルチパス設定
1.3. 1 つの RAID デバイスを使用したアクティブ/アクティブのマルチパス設定 リンクのコピーリンクがクリップボードにコピーされました!
この設定では、サーバー上に HBA、2 つの SAN スイッチ、および 2 つの RAID コントローラーがあります。以下の図は、サーバーからストレージデバイスへの 2 つの I/O パスを使用した設定を説明します。ここで、I/O は、これら 2 つのパスに分散できます。
図1.3 1 つの RAID デバイスを使用したアクティブ/アクティブのマルチパス設定
1.4. DM Multipath コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、DM Multipath コンポーネントを示しています。
| コンポーネント | 説明 |
|
| I/O を再ルーティングし、パスとパスグループのフェイルオーバーに対応します。 |
|
| デバイスマッパーマルチパスを設定して有効にします。 |
|
|
マルチパスデバイスをリスト表示して設定します。これは、ブロックデバイスが追加されるたびに |
|
|
マルチパスデバイスを自動的に作成および削除し、パスを監視します。パスが失敗して戻ってくると、マルチパスデバイスが更新される場合があります。マルチパスデバイスへのインタラクティブな変更を許可します。 |
|
|
デバイス上のパーティションのデバイスマッパーデバイスを作成します。このコマンドは、マルチパスデバイスが作成され、その上にパーティションデバイスが作成されると、 |
|
|
マルチパスデバイスに |
1.5. マルチパストポロジーの表示 リンクのコピーリンクがクリップボードにコピーされました!
パスを効果的に監視したり、マルチパスの問題をトラブルシューティングしたり、マルチパス設定が正しく設定されているかどうかを確認したりするために、マルチパストポロジーを表示できます。
手順
マルチパスデバイストポロジーを表示します。
multipath -ll
# multipath -ll mpatha (3600d0230000000000e13954ed5f89300) dm-4 WINSYS,SF2372 size=233G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='service-time 0' prio=1 status=active `- 6:0:0:0 sdf 8:80 active ready runningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力は 3 つの部分に分けることができます。各部分には、次のグループの情報が表示されます。
マルチパスデバイス情報:
-
mpatha (3600d0230000000000e13954ed5f89300): エイリアス (エイリアスと異なる場合は wwid) -
dm-4: dm デバイス名 -
WINSYS,SF2372: ベンダー、製品 -
size=233G: サイズ -
features='1 queue_if_no_path': 機能 -
hwhandler='0': ハードウェアハンドラー -
wp=rw: 書き込み権限
-
パスグループ情報:
-
policy='service-time 0': スケジュールポリシー -
prio=1: パスグループの優先度 -
status=active: パスグループステータス
-
パス情報:
-
6:0:0:0: ホスト:チャネル:id:lun -
sdf: devnode -
8:80: メジャー:マイナー番号 -
active: dm ステータス -
ready: パスステータス running: オンライン状態dm、パス、オンラインのステータスの詳細は、パスステータス を参照してください。
-
マルチパスデバイスのリスト表示、作成、またはリロードに使用される他のマルチパスコマンドでも、デバイストポロジーは表示されます。ただし、一部の情報が不明で、出力に undef と表示される場合があります。これは通常の動作です。正しい状態を表示するには、multipath -ll コマンドを使用します。
マルチパスデバイスの作成など、特定の場合には、マルチパストポロジーに、アクションが実行されたかどうかを示すパラメーターが表示されます。たとえば、次のコマンド出力は、マルチパスデバイスが作成されたことを表す create: パラメーターを示しています。
create: mpatha (3600d0230000000000e13954ed5f89300) undef WINSYS,SF2372 size=233G features='1 queue_if_no_path' hwhandler='0' wp=undef `-+- policy='service-time 0' prio=1 status=undef `- 6:0:0:0 sdf 8:80 undef ready running
create: mpatha (3600d0230000000000e13954ed5f89300) undef WINSYS,SF2372
size=233G features='1 queue_if_no_path' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef
`- 6:0:0:0 sdf 8:80 undef ready running
1.6. パスステータス リンクのコピーリンクがクリップボードにコピーされました!
パスの状態は、/etc/multipath.conf ファイルに定義されているポーリング間隔に応じ、multipathd デーモンによって定期的に更新されます。カーネルの観点から見ると、dm ステータスはパスステータスと似ています。dm ステータスは、パスチェッカーが完了するまで現在のステータスを保持します。
- パスステータス
- ready、ghost
- パスが有効であり、I/O の準備ができています。
- faulty、shaky
- パスが無効です。
- i/o pending
- チェッカーがアクティブにこのパスを確認し、ステータスはまもなく更新されます。
- i/o timeout
-
チェッカーがタイムアウト期間経過前に
success/failureを返しませんでした。これはfaultyと同じように処理されます。 - removed
-
システムからパスが削除され、マルチパスデバイスからまもなく削除されます。これは
faultyと同じように処理されます。 - wild
-
内部エラーまたは設定の問題によって、
multipathdがパスチェッカーを実行できませんでした。これは、マルチパスがパス上の多くのアクションをスキップすることを除いて、faultyと同じように処理されます。 - unchecked
-
パスが今検出された、割り当てられたパスチェッカーがない、パスチェッカーにエラーが発生したなどの理由で、このパスでパスチェッカーが実行していません。これは
wildと同じように処理されます。 - delayed
-
パスチェッカーはパスが有効であると返しますが、マルチパスがパスの回復を遅らせています。このパスで最近、複数回障害が発生しており、パスを遅延するようにマルチパスが設定されているためです。これは
faultyと同じように処理されます。
- dm ステータス
- Active
-
readyおよびghostのパスステータスにマップされます。 - Failed
-
同等の
dm状態を持たないi/o pendingを除く、他のすべてのパスステータスにマップされます。
- オンラインステータス
- Running
- デバイスが有効です。
- オフライン
- デバイスが無効です。
第2章 マルチパスデバイス リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath は、基礎となるデバイスの上に 1 つのマルチパスデバイスを作成することにより、I/O パスを論理的に整理する方法を提供します。DM Multipath を使用しない場合は、I/O パスが同じサーバーノードを同じストレージコントローラーに接続している場合でも、システムはサーバーノードからストレージコントローラーへの各パスを個別のデバイスとして扱います。
2.1. マルチパスデバイス識別子 リンクのコピーリンクがクリップボードにコピーされました!
新しいデバイスが DM Multipath の制御下にある場合に、これらのデバイスは /dev/mapper/ ディレクトリーおよび /dev/ ディレクトリーに作成されます。
/dev/dm-X という形式のデバイスは内部使用専用であるため、管理者が直接使用するものではありません。
以下は、マルチパスデバイス名を説明しています。
-
user_friendly_names設定オプションがnoに設定されている場合は、マルチパスデバイスの名前が World Wide Identifier (WWID) に設定されます。デフォルトでは、マルチパスデバイスの名前はその WWID に設定されます。デバイス名は/dev/mapper/WWIDになります。また、/dev/dm-Xという名前の/dev/ディレクトリーにも作成されます。 -
または、
/etc/multipath.confファイルでuser_friendly_namesオプションをyesに設定することもできます。これにより、multipathセクションのaliasが、mpathN形式のノード固有の名前に設定されます。デバイス名は、/dev/mapper/mpathNおよび/dev/dm-Xになります。ただし、マルチパスデバイスを使用するすべてのノードでデバイス名が同じであるとは限りません。同様に、/etc/multipath.confファイルでaliasオプションを設定した場合は、クラスター内のすべてのノードで自動的に名前が一致しません。
LVM を使用してマルチパスデバイスから論理デバイスを作成する場合は、これにより問題が発生することはありません。すべてのノードでマルチパスデバイス名の一貫性を保つために、Red Hat は、user_friendly_names オプションを無効にすることを推奨します。
たとえば、ゾーンに分けられていない 1 つの FC スイッチにより、2 つのポートを持つストレージコントローラーに接続された 2 つの HBA を持つノードは、/dev/sda、/dev/sdb、/dev/sdc、および /dev/sdd の 4 つのデバイスを認識します。DM Multipath は、マルチパス設定に従って、I/O を基本となるこれらの 4 つのデバイスにルーティングしなおす一意の WWID を持つシングルデバイスを作成します。
user_friendly_names オプションおよび alias オプションの他に、マルチパスデバイスには他の属性もあります。/etc/multipath.conf ファイルの multipaths セクションに、デバイスのエントリーを作成することにより、特定のマルチパスデバイスのこれらの属性を変更できます。
2.2. 論理ボリューム内のマルチパスデバイス リンクのコピーリンクがクリップボードにコピーされました!
マルチパスデバイスを作成したら、論理ボリュームマネージャー (LVM) 物理ボリュームを作成する際に物理デバイス名を使用するのと同様に、マルチパスデバイス名を使用できます。たとえば、/dev/mapper/mpatha がマルチパスデバイスの名前である場合、pvcreate /dev/mapper/mpatha コマンドは、/dev/mapper/mpatha を物理ボリュームとしてマークします。
他の LVM 物理デバイスを使用するのと同じように、LVM ボリュームグループを作成するときに、作成された LVM 物理デバイスを使用できます。
/etc/lvm/lvm.conf ファイル内のすべての sd デバイスをフィルタリングするには、そのファイルの devices セクションに filter = [ "r/block/", "r/disk/", "r/sd./", "a/./" ] を追加します。
パーティションを設定したデバイス全体に LVM 物理ボリュームを作成しようとすると、pvcreate コマンドは失敗します。Anaconda および Kickstart のインストールプログラムは、すべてのブロックデバイスに特に指定しない限り、空のパーティションテーブルを作成します。パーティションを作成する代わりにデバイス全体を使用する場合は、デバイスから既存のパーティションを削除します。kpartx -d デバイスコマンドと fdisk ユーティリティーを使用して、既存のパーティションを削除できます。システムに 2Tb を超えるブロックデバイスがある場合は、parted ユーティリティーを使用してパーティションを削除します。
active/passive マルチパスアレイを基礎となる物理デバイスとして使用する LVM 論理ボリュームを作成する場合は、必要に応じて、/etc/lvm/lvm.conf ファイルにフィルターを追加して、マルチパスデバイスの基礎となるディスクを除外できます。これは、I/O の受信時にアレイがアクティブパスをパッシブパスに自動的に変更する場合に、このようなデバイスにフィルターが設定されていないと、LVM がパッシブパスをスキャンするたびにマルチパスがフェイルオーバーおよびフェイルバックするためです。
カーネルは、使用する正しいハードウェアハンドラーを自動的に検出してアクティブ/パッシブ状態を変更します。状態を変更するために介入を必要とするアクティブ/パッシブパスの場合、マルチパスは自動的にこのハードウェアハンドラーを使用して、必要に応じて介入します。カーネルが使用する正しいハードウェアハンドラーを自動的に検出しない場合は、multipath.conf ファイルで "hardware_handler" オプションを使用して、使用するハードウェアハンドラーを設定できます。パッシブパスをアクティブにするコマンドを必要とする アクティブ/パッシブ アレイでこの問題が発生すると、LVM が警告メッセージを出力します。
設定によっては、LVM が以下のいずれかのメッセージを出力することがあります。
LUN の準備ができていません:
end_request: I/O error, dev sdc, sector 0 sd 0:0:0:3: Device not ready: <6>: Current: sense key: Not Ready Add. Sense: Logical unit not ready, manual intervention requiredend_request: I/O error, dev sdc, sector 0 sd 0:0:0:3: Device not ready: <6>: Current: sense key: Not Ready Add. Sense: Logical unit not ready, manual intervention requiredCopy to Clipboard Copied! Toggle word wrap Toggle overflow 読み取りに失敗しました:
/dev/sde: read failed after 0 of 4096 at 0: Input/output error
/dev/sde: read failed after 0 of 4096 at 0: Input/output errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
以下は、上記のエラーの理由です。
- マルチパスは、マシンにアクティブ/パッシブパスを提供するストレージデバイスでは設定されません。
- パスはマルチパスデバイスではなく、直接アクセスします。
第3章 DM Multipath の設定 リンクのコピーリンクがクリップボードにコピーされました!
mpathconf ユーティリティーを使用して DM Multipath を設定できます。このユーティリティーは、次のシナリオに基づいて /etc/multipath.conf マルチパス設定ファイルを作成または編集します。
-
/etc/multipath.confファイルがすでに存在する場合は、mpathconfユーティリティーでファイルを編集します。 -
/etc/multipath.confファイルが存在しない場合は、mpathconfユーティリティーにより/etc/multipath.confファイルが新たに作成されます。
3.1. device-mapper-multipath パッケージの確認 リンクのコピーリンクがクリップボードにコピーされました!
システムに DM-Multipath をセットアップする前に、システムが最新であり、device-mapper-multipath パッケージがインストールされていることを確認してください。
手順
システムに
device-mapper-multipathパッケージが含まれているか確認します。rpm -q device-mapper-multipath
# rpm -q device-mapper-multipath device-mapper-multipath-current-package-versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムにパッケージが含まれていない場合は、次のように出力されます。
package device-mapper-multipath is not installed
package device-mapper-multipath is not installedCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムにパッケージが含まれていない場合は、次のコマンドを実行してパッケージをインストールします。
dnf install device-mapper-multipath
# dnf install device-mapper-multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. DM Multipath を使用した基本的なフェイルオーバー設定のセットアップ リンクのコピーリンクがクリップボードにコピーされました!
基本的なフェイルオーバー設定用の DM Multipath をセットアップし、multipathd デーモンを起動する前に /etc/multipath.conf ファイルを編集できます。
前提条件
- 管理アクセスがある。
手順
マルチパス設定ファイルを有効にして初期化します。
mpathconf --enable
# mpathconf --enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
/etc/multipath.confファイルを編集します。ほとんどのデフォルト設定はすでに設定されています。たとえば、
path_grouping_policyはfailoverに設定されています。オプション: マルチパスデバイスのデフォルトの命名形式は、
/dev/mapper/mpathn形式に設定されます。別の命名形式を使用する場合は、次のようにします。ユーザーフレンドリーな命名スキーム (mpath_n_) の代わりに、マルチパスデバイスの WWID を名前として使用するように DM Multipath を設定します。
mpathconf --enable --user_friendly_names n
# mpathconf --enable --user_friendly_names nCopy to Clipboard Copied! Toggle word wrap Toggle overflow DM Multipath デーモンの設定をリロードします。
systemctl reload multipathd.service
# systemctl reload multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
DM Multipath デーモンを起動します。
systemctl start multipathd.service
# systemctl start multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
DM Multipath デーモンが問題なく実行されていることを確認します。
systemctl status multipathd.service
# systemctl status multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスデバイスの命名形式を確認します。
ls /dev/mapper/
# ls /dev/mapper/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. マルチパスデバイスの作成時にローカルのディスクを無視 リンクのコピーリンクがクリップボードにコピーされました!
一部のマシンには内部ディスク用のローカル SCSI カードがあり、DM Multipath をこのようなデバイスで使用することは推奨されません。find_multipaths 設定パラメーターを on に設定すると、このようなデバイスでマルチパスを無効にする必要はありません。
find_multipaths 設定パラメーターを on に設定しない場合は、以下の手順に従って DM Multipath 設定ファイルを変更して、マルチパスの設定時にローカルのディスクを無視できます。
手順
デバイスのモデル、パス、ベンダーなどの既知のパラメーターを使用して内部ディスクを識別し、次のオプションのいずれかを使用してその WWID を決定します。
既存のマルチパスデバイスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DM Multipath が作成できるマルチパスデバイスをさらに表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デバイス情報を表示します。
multipathd show paths raw format "%d %w" | grep sda
# multipathd show paths raw format "%d %w" | grep sda sda WDC_WD800JD-75MSA3_WD-WMAM9FU71040Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
/dev/sdaは内部ディスクで、その WWID はWDC_WD800JD-75MSA3_WD-WMAM9FU71040です。
/etc/multipath.confファイルのblacklistセクションを編集し、WWID 属性を使用してこのデバイスを無視します。blacklist { wwid WDC_WD800JD-75MSA3_WD-WMAM9FU71040 }blacklist { wwid WDC_WD800JD-75MSA3_WD-WMAM9FU71040 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告sdaなどのdevnodeパラメーターを使用してデバイスを識別することはできますが、/dev/sdaが再起動時に同じデバイスを参照することが保証されていないため、この手順は安全ではありません。/etc/multipath.confファイルに設定エラーがないか確認します。multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完全なレポートを表示するには、コマンド出力を破棄しないでください。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ディスクが
initramfsに含まれている場合は、initramfs を再作成します。詳細は、initramfs でのマルチパスの設定 を参照してください。 multipathdデーモンを再設定して、/etc/multipath.confファイルをリロードします。systemctl reload multipathd
# systemctl reload multipathdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ローカルディスク上のマルチパスデバイスは、使用中に削除することができません。このようなデバイスを無視するには、デバイスのすべてのユーザーを停止します。たとえば、デバイス上のファイルシステムをアンマウントし、それを使用している論理ボリュームを非アクティブ化します。これが不可能な場合は、システムを再起動してマルチパスデバイスを削除できます。
検証
内部ディスクが無視され、マルチパス出力に表示されないことを確認します。
マルチパスデバイスをリスト表示します。
multipath -v2 -l
# multipath -v2 -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow DM Multipath が作成できる追加デバイスをリスト表示します。
multipath -v2 -d
# multipath -v2 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. DM Multipath での追加のストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、DM Multipath には、DM Multipath をサポートする最も一般的なストレージアレイの組み込み設定が含まれています。ストレージアレイにまだ設定がない場合は、/etc/multipath.conf ファイルを編集して設定を追加できます。
初期設定中にストレージデバイスを追加して、予想されるニーズに合わせてセットアップを調整します。DM Multipath では、スケーラビリティーまたはアップグレードのために後でデバイスを追加できますが、この方法では互換性を確保するために設定の調整が必要になる場合があります。
手順
デフォルトの設定値とサポートされているデバイスを表示します。
multipathd show config
# multipathd show configCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/multipath.confファイルを編集して、マルチパスを設定します。例3.1 HP OPEN-V ストレージデバイス用の DM Multipath 設定
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を保存してエディターを閉じます。
新しいデバイスをスキャンして、マルチパスデバイスの一覧を更新します。
multipath -r
# multipath -rCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
マルチパスデバイスが正しく認識されていることを確認します。
multipath -ll
# multipath -llCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. initramfs でのマルチパスの設定 リンクのコピーリンクがクリップボードにコピーされました!
initramfs ファイルシステムでのマルチパスの設定は、特に冗長性と負荷分散が必要なシナリオにおいて、シームレスなストレージ機能を実現するのに不可欠です。この設定により、ブートプロセスの早い段階でマルチパスデバイスが利用可能になります。これは、ストレージ設定の整合性を維持し、潜在的な問題を防ぐうえで非常に重要です。
前提条件
- システムに DM Multipath が設定されている。
手順
マルチパス設定ファイルを使用して
initramfsファイルシステムを再構築します。dracut --force --add multipath
# dracut --force --add multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記initramfsでマルチパスを使用し、その設定ファイルを変更する場合は、変更を反映するために必ずinitramfsを再構築してください。ルートデバイスがマルチパスを使用している場合、dracutコマンドは自動的にマルチパスモジュールをinitramfsに組み込みます。オプション:
initramfsのマルチパスが必要なくなった場合は、以下を実行します。マルチパス設定ファイルを削除します。
rm /etc/dracut.conf.d/multipath.conf
# rm /etc/dracut.conf.d/multipath.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 追加したマルチパス設定を使用して
initramfsを再構築します。dracut --force --omit multipath
# dracut --force --omit multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
マルチパス関連のファイルと設定が存在するかどうかを確認します。
lsinitrd /path/to/initramfs.img -m | grep multipath
# lsinitrd /path/to/initramfs.img -m | grep multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow
上記の検証手順により設定の成功を確認できますが、設定が期待どおりに機能することを確認するために、最終的なテスト起動を行うことを推奨します。
再起動したら、マルチパスデバイスが正しく認識されていることを確認します。
multipath -ll
# multipath -llCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 NVMe デバイスでのマルチパスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ファイバーチャネル (FC) などのファブリックトランスポートを介して、システムに接続されている Non-volatile Memory Express™ (NVMe™) デバイスをマルチパスすることができます。複数のマルチパスソリューションを選択することができます。
4.1. ネイティブ NVMe マルチパスと DM Multipath リンクのコピーリンクがクリップボードにコピーされました!
Non-volatile Memory Express™ (NVMe™) デバイスは、ネイティブなマルチパス機能をサポートしています。NVMe にマルチパスを設定する場合、標準の DM Multipath フレームワークと NVMe のネイティブなマルチパスのどちらかを選択できます。
DM Multipath と NVMe のネイティブマルチパスは、どちらも NVMe デバイスのマルチパス方式である ANA(Asymmetric Namespace Access) に対応しています。ANA は、コントローラーとホスト間の最適化されたパスを特定し、パフォーマンスを向上させます。
ネイティブ NVMe マルチパスを有効にすると、すべての NVMe デバイスにグローバルに適用されます。より高いパフォーマンスを提供できますが、DM Multipath が提供するすべての機能は含まれていません。例えば、ネイティブの NVMe マルチパスは、numa と round-robin のパス選択方法のみをサポートしています。
デフォルトでは、NVMe マルチパスは Red Hat Enterprise Linux 9 で有効になっており、これは推奨されるマルチパスソリューションです。
4.2. NVMe デバイスでの DM Multipath の有効化 リンクのコピーリンクがクリップボードにコピーされました!
nvme_core.multipath オプションのデフォルトのカーネル設定は Y に設定されています。これは、ネイティブ Non-volatile Memory Express™ (NVMe™) マルチパスが有効であることを意味します。ネイティブ NVMe マルチパスを無効にすることで、接続された NVMe デバイスで DM マルチパスを有効にできます。
前提条件
- NVMe デバイスがシステムに接続されていることを確認します。詳細は、NVMe over fabric デバイスの概要 を参照してください。
手順
ネイティブ NVMe マルチパスが有効になっているかどうかを確認します。
cat /sys/module/nvme_core/parameters/multipath
# cat /sys/module/nvme_core/parameters/multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドは以下のいずれかを表示します。
N- ネイティブ NVMe マルチパスは無効です。
Y- ネイティブ NVMe マルチパスは有効です。
ネイティブ NVMe マルチパスが有効になっている場合は、次のいずれかの方法を使用して無効にします。
カーネルオプションの使用
nvme_core.multipath=Nオプションをコマンドラインに追加します。grubby --update-kernel=ALL --args="nvme_core.multipath=N"
# grubby --update-kernel=ALL --args="nvme_core.multipath=N"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 64 ビットの IBM Z アーキテクチャーでは、ブートメニューを更新します。
zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムを再起動します。
カーネルモジュール設定ファイルの使用
以下の内容で
/etc/modprobe.d/nvme_core.conf設定ファイルを作成します。options nvme_core multipath=N
options nvme_core multipath=NCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfsファイルをバックアップします。cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m%d-%H%M%S).img
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m%d-%H%M%S).imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfsを再構築します。cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img dracut --force --verbose
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img # dracut --force --verboseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムを再起動します。
DM マルチパスを有効にします。
systemctl enable --now multipathd.service
# systemctl enable --now multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なすべてのパスに I/O を分配します。
/etc/multipath.confファイルに以下の内容を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記DM Multipath が NVMe デバイスを管理する場合、
/sys/class/nvme-subsystem/nvme-subsys0/iopolicy設定ファイルは I/O ディストリビューションには影響を与えません。設定の変更を適用するために、
multipathdサービスをリロードします。multipath -r
# multipath -rCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ネイティブ NVMe マルチパスが無効になっているかどうかを確認します。
cat /sys/module/nvme_core/parameters/multipath N
# cat /sys/module/nvme_core/parameters/multipath NCopy to Clipboard Copied! Toggle word wrap Toggle overflow DM Multipath が NVMe デバイスを認識しているかどうかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. ネイティブ NVMe マルチパスの実現 リンクのコピーリンクがクリップボードにコピーされました!
ネイティブ NVMe マルチパスが無効になっている場合は、次の解決策を使用して有効にできます。
前提条件
- NVMe デバイスがシステムに接続されていることを確認します。詳細は、NVMe over fabric デバイスの概要 を参照してください。
手順
カーネルでネイティブ NVMe マルチパスが有効になっているかどうかを確認します。
cat /sys/module/nvme_core/parameters/multipath
# cat /sys/module/nvme_core/parameters/multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドは以下のいずれかを表示します。
N- ネイティブ NVMe マルチパスは無効です。
Y- ネイティブ NVMe マルチパスは有効です。
ネイティブ NVMe マルチパスが無効になっている場合は、次のいずれかの方法を使用して有効にします。
カーネルオプションの使用
カーネルコマンドラインから
nvme_core.multipath=Nオプションを削除します。grubby --update-kernel=ALL --remove-args="nvme_core.multipath=N"
# grubby --update-kernel=ALL --remove-args="nvme_core.multipath=N"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 64 ビットの IBM Z アーキテクチャーでは、ブートメニューを更新します。
zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムを再起動します。
カーネルモジュール設定ファイルの使用
/etc/modprobe.d/nvme_core.conf設定ファイルを削除します。rm /etc/modprobe.d/nvme_core.conf
# rm /etc/modprobe.d/nvme_core.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfsファイルをバックアップします。cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfsを再構築します。dracut --force --verbose
# dracut --force --verboseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムを再起動します。
オプション: 実行中のシステムで、NVMe デバイスの I/O ポリシーを変更して、利用可能なすべてのパスに I/O を分散させます。
echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
# echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicyCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
udevルールを使用して I/O ポリシーを永続的に設定します。以下の内容で/etc/udev/rules.d/71-nvme-io-policy.rulesファイルを作成します。ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
システムが NVMe デバイスを認識しているかどうかを確認します。次の例は、2 つの NVMe 名前空間を持つ NVMe over fabrics ストレージサブシステムが接続されていることを想定しています:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接続されているすべての NVMe サブシステムをリストアップします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アクティブトランスポートタイプを確認します。例えば、
nvme0 fcはファイバーチャネルトランスポートで接続されていることを示し、nvme tcpは TCP で接続されていることを示しています。カーネルオプションを編集した場合は、カーネルコマンドラインでネイティブ NVMe マルチパスが有効になっているかどうかを確認します。
cat /proc/cmdline BOOT_IMAGE=[...] nvme_core.multipath=Y
# cat /proc/cmdline BOOT_IMAGE=[...] nvme_core.multipath=YCopy to Clipboard Copied! Toggle word wrap Toggle overflow I/O ポリシーを変更した場合は、NVMe デバイス上で
round-robinがアクティブな I/O ポリシーであるかどうかを確認します。cat /sys/class/nvme-subsystem/nvme-subsys0/iopolicy round-robin
# cat /sys/class/nvme-subsystem/nvme-subsys0/iopolicy round-robinCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 DM Multipath 設定ファイルの編集 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath では、マルチパスで最も一般的に使用する設定値がデフォルトで提供されています。また、DM Multipath に対応する最も一般的なストレージアレイへのサポートも DM Multipath に含まれています。
DM-Multipath のデフォルトの設定値は、/etc/multipath.conf 設定ファイルを編集するとオーバーライドできます。必要に応じて、サポートされていないデフォルトのストレージアレイを設定ファイルに追加することもできます。マルチパス設定ファイルでは、設定に必要なセクション、またはデフォルト値から変更する必要があるセクションのみを指定する必要があります。使用環境には無関係なファイルのセクションや、デフォルト値を無効にする必要がないファイルのセクションでは、初期ファイルに指定されているコメントアウトを削除する必要はありません。
設定ファイルでは、正規表現を使用することもできます。
initramfs ファイルシステムからマルチパスを実行してマルチパス設定ファイルに変更を加える場合、変更を有効にするには initramfs ファイルシステムを再構築する必要があります。
5.1. 設定ファイルの概要 リンクのコピーリンクがクリップボードにコピーされました!
マルチパス設定ファイルは以下のセクションに分かれています。
- blacklist
- マルチパス設定の対象として考慮しないデバイスのリスト。
- blacklist_exceptions
-
指定されていなければ、
blacklistセクションのパラメーターに従って無視されるマルチパスのデバイスのリスト。 - defaults
- DM Multipath のデフォルトの全般設定。
- multipaths
-
マルチパスデバイスの特性に関する個別設定。ここで指定する値は、設定ファイルの
overrides、devices、およびdefaultsのセクションで指定されている値より優先されます。 - devices
-
ストレージコントローラーの個別設定。ここで指定する値は、設定ファイル内の
defaultsセクションで指定されている値より優先されます。デフォルトでは対応していないストレージアレイを使用している場合は、そのアレイ用のdevicesサブセクションを作成する必要があります。 - overrides
-
すべてのデバイスに適用される設定。ここで指定する値は、設定ファイルの
devicesセクションおよびdefaultsセクションで指定されている値より優先されます。
システムがマルチパスデバイスの属性を決定するとき、次の順序で multipath.conf ファイルから個別のセクションの設定をチェックします。
-
multipathsセクション -
overridesセクション -
devicesセクション -
defaultsセクション
デフォルト設定を表示する方法は次のとおりです。
マシンをマルチパスデバイスにインストールすると、デフォルトのマルチパス設定が自動的に適用されます。デフォルトの設定には、以下が含まれます。
-
デフォルト設定値の完全なリストを表示するには、
multipath -tまたはmultipathd show configコマンドを実行します。 -
設定オプションのリストと説明については、システム上の
multipath.confman ページを参照してください。
-
デフォルト設定値の完全なリストを表示するには、
-
インストール中にマルチパスをセットアップしなかった場合は、
mpathconf --enableコマンドを実行してデフォルト設定を取得します。
5.2. 設定ファイルの defaults セクション リンクのコピーリンクがクリップボードにコピーされました!
/etc/multipath.conf 設定ファイルには、デフォルト セクションが含まれています。このセクションには、デバイスマッパー (DM) マルチパスのデフォルト設定が含まれています。デフォルト値は、デバイスの初期設定により異なる場合があります。
次の表は、multipath.conf 設定ファイルの defaults セクションで設定する任意属性について説明しています。設定しない場合は、overrides または devices セクションのデフォルト値が適用されます。
| 属性 | 説明 |
|---|---|
|
|
パスチェックが行われる間隔を秒数で指定します。適正に機能するパスでは、チェックの間隔は |
|
デフォルト値は | |
|
| 2 つのパスチェック間の最大間隔を秒単位で指定します。 |
|
デフォルト値は | |
|
| マルチパスデバイスのセットアップモードを定義します。利用可能な値は次のとおりです。 |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は | |
|
|
|
| 正の値: 正の値を設定すると、ブラックリストに登録されていないすべてのデバイスにタイムアウトが適用されます。 | |
|
負の値: 負の値を設定すると、マルチパスハードウェアテーブル (ビルトインテーブルまたは | |
|
| |
|
既知のハードウェアのデフォルト値は | |
|
|
|
|
多数のデバイスがあるシステムでは、 | |
|
デフォルト値は | |
|
|
デバイスマッパーマップの再割り当てを有効にします。このオプションを使用すると、 |
|
|
詳細度のデフォルト値は |
|
| 次回の I/O 動作に使用するパスを決定する、デフォルトのアルゴリズムを指定します。使用できる値を以下に示します。 |
|
| |
|
| |
|
| |
|
デフォルト値は | |
|
| 未指定のマルチパスに適用する、デフォルトのパスグルーピングポリシーを指定します。使用できる値を以下に示します。 |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は | |
|
|
WWID による |
|
このオプションの値は、 | |
| このオプションを設定し、それがデバイスのデバイスノード名と一致する場合、このデバイスの WWID を決定するために設定された他の方法が上書きされます。 | |
|
この値を | |
|
デフォルトは | |
|
|
パスの優先値を得るために呼び出すデフォルトの関数を指定します。例えば、SPC-3 の ALUA ビットは悪用可能な |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は、 | |
|
|
関数 |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は | |
|
| マルチパスデバイスの追加デフォルト機能です。形式は "number_of_features_plus_arguments feature1 …" となります。 |
|
| |
|
| |
|
| |
|
| |
|
| |
| デフォルトでは、この値は 設定 されません。 | |
|
| パスの状態を判断するためのデフォルトのメソッドを指定します。使用できる値を以下に示します。 |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は | |
|
|
この属性は、 |
|
デフォルト値は | |
|
| パスグループのフェイルバックを管理します。使用できる値を以下に示します。 |
|
| |
|
| |
|
| |
| 0 より大きい数値で、フェイルバックの遅延を秒単位で指定します。 | |
|
デフォルト値は | |
|
|
現在のパスグループで、次のパスに切り替えるまでにルーティングする I/O 要求数を指定します。この設定は、2.6.31 より前のカーネルを実行しているシステムにのみ適用されます。2.6.31 以降のシステムには、 |
|
|
現在のパスグループで、次のパスに切り替えるまでにルーティングする I/O 要求数を指定します。request-base の device-mapper-multipath を使用します。この設定は、現在のカーネルを実行しているシステムで使用できます。2.6.31 より前のバージョンのカーネルを実行しているシステムの場合は |
|
| この属性の数値は、キューイングを無効にする前に、パスチェッカーがマルチパスデバイス内のすべてのパスに対して何回失敗するとキューイングが無効になるかを指定します。 |
|
| |
|
| |
|
デフォルト値は | |
|
| 使用できる値を以下に示します。 |
|
| |
|
| |
|
デフォルト値は | |
|
|
|
|
|
|
|
|
マルチパスおよび |
|
|
明示的なタイムアウトで、SCSI コマンドを発行するパス checker および prioritizer に使用するタイムアウト (秒) です。 |
|
|
FC リモートポートで問題が検出されてから、そのリモートポート上のデバイスへの I/O が失敗するまでに SCSI レイヤーが待機する秒数。この値は |
|
| FC リモートポートで問題が検出された後、それをシステムから削除するまで SCSI レイヤーが待機する秒数。無限に設定する場合は、2147483647 秒または 68 年に設定します。OS がデフォルト値を決定します。 |
|
|
SCSI デバイスに障害が発生した場合に、SCSI レイヤーがエラー処理の実行に費やす最大秒数を指定します。このタイムアウトの後、SCSI レイヤーは HBA のフルリセットを実行します。 |
|
デフォルト値は | |
|
|
これが |
|
| |
|
デフォルト値は | |
|
|
デバイスの WWID に使用する |
|
デフォルト値はデバイスに依存し、SCSI デバイスの場合は | |
|
|
|
|
デフォルト値は | |
|
|
|
|
デフォルト値は | |
|
|
|
|
| |
|
|
この属性は、 |
|
デフォルト値は | |
|
|
|
|
|
これら 3 つの属性すべてを 0 より大きい整数に設定すると、 |
|
詳細は、 | |
|
デフォルト値は | |
|
|
|
|
| |
|
詳細は、 | |
|
デフォルト値は | |
|
| 使用できる値を以下に示します。 |
|
| |
|
| |
|
| |
|
| |
|
詳細は、 | |
|
デフォルト値は | |
|
|
|
|
|
|
|
|
このオプションを使用すると、マルチパスデバイスを最初にアクティブ化する前に、マルチパスデバイスの基になるすべてのパスで |
|
|
この属性は、ゴーストパスのみでデバイスを作成した後、 |
|
これを | |
|
デフォルト値は | |
|
| この属性は、外部ライブラリーを有効または無効にします。 |
| 値は正規表現です。名前が式と一致する場合、外部ライブラリーがロードされます。 | |
|
デフォルトでは、外部ライブラリーは有効になっていません。 | |
|
|
|
|
このオプションは、WWID を取得するためにデフォルトの | |
|
デフォルト値は | |
|
|
このオプションは、マルチパスが使用中のデバイスの削除を再試行する回数を設定します。各試行の間に、マルチパスは 1 秒間非アクティブになります。デフォルトの値は |
|
|
|
|
デフォルト値は | |
|
|
|
|
このパラメーターは | |
|
|
|
|
|
|
|
| |
|
| |
|
|
5.3. マルチパス設定ファイルのデフォルトの編集 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf file の defaults セクションで設定されたデフォルト値は、devices、multipath で指定された属性によって上書きされない限り、または multipath.conf ファイルのセクションをオーバーライドしない限り、DM Multipath により使用されます。
手順
/etc/multipath.conf設定ファイルを表示します。このファイルには、設定のデフォルトのテンプレートが含まれています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定パラメーターのデフォルト値を上書きします。このテンプレートから
defaultsのセクションに関連する行をコピーして、コメントを外すことができます。たとえば、
path_grouping_policyパラメーターを、デフォルト値のfailoverではなくmultibusに上書きするには、以下のように、テンプレートで該当行を見つけて設定ファイルの defaults セクションにコピーし、そのコメントを外します。defaults { user_friendly_names yes path_grouping_policy multibus }defaults { user_friendly_names yes path_grouping_policy multibus }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. 設定ファイルの multipaths セクション リンクのコピーリンクがクリップボードにコピーされました!
/etc/multipath.conf 設定ファイルの multipaths セクションを使用して、個々のマルチパスデバイスの属性を設定します。デバイスマッパー (DM) マルチパスは、これらの属性を使用して、overrides セクションの設定を含む、他のすべての設定オプションをオーバーライドします。
multipaths セクションでは、multipath サブセクションのみが属性として認識されます。次の表は、特定のマルチパスデバイスごとに、multipath サブセクションで設定できる属性を示しています。これらの属性は、指定された 1 つのマルチパスにのみ適用されます。複数の multipath サブセクションが特定のデバイスの World Wide Identifier (WWID) と一致する場合、それらのサブセクションの内容がマージされます。最新エントリーの設定は、以前のバージョンよりも優先されます。
| 属性 | 説明 |
|---|---|
|
|
multipath 属性を適用するマルチパスデバイスの WWID を指定します。このパラメーターは、 |
|
|
multipath 属性が適用されるマルチパスデバイスのシンボリック名を指定します。 |
設定ファイルで、2 つの特定マルチパスデバイスに対して multipath 属性を指定している例を以下に示します。1 つ目のデバイスの WWID は 3600508b4000156d70001200000b0000 で、シンボリック名は yellow です。
2 つ目のマルチパスデバイスの WWID は 1DEC_321816758474 で、シンボリック名は red です。
例5.1 マルチパス属性の仕様
5.5. 設定ファイルの devices セクション リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf 設定ファイルの devices セクションを使用して、個々のストレージコントローラータイプの設定を定義します。このセクションで設定された値は、defaults セクションで指定された値をオーバーライドします。
システムは、vendor、product、および revision キーワードによってストレージコントローラーのタイプを識別します。これらのキーワードは正規表現であり、特定のデバイスに関する sysfs 情報と一致する必要があります。
devices セクションは、device サブセクションのみを属性として認識します。デバイスに一致するキーワードが複数ある場合は、一致するすべてのエントリーの属性がデバイスに適用されます。属性が複数の一致する device サブセクションで指定されている場合、新しいバージョンのエントリーが以前のエントリーよりも優先されます。
device サブセクションの最新バージョンの設定属性は、以前の devices サブセクションおよび defaults セクションの属性をオーバーライドします。
次の表に、device サブセクションで設定できる属性を示します。
| 属性 | 説明 |
|---|---|
|
| デバイスベンダー名と一致する正規表現を指定します。これは必須属性です。 |
|
| デバイスの製品名に一致する正規表現を指定します。これは必須属性です。 |
|
| デバイスの製品リビジョンに一致する正規表現を指定します。リビジョン属性がない場合、すべてのデバイスリビジョンが一致します。 |
|
|
マルチパスはこの属性を使用して、このデバイスエントリーの |
|
| VPD ページの省略形を使用して、ベンダー固有の Vital Product Data (VPD) ページ情報を表示します。 |
|
| |
|
| 特定のデバイスタイプに使用するハードウェアハンドラーを指定します。可能な値はすべてハードウェアに依存し、以下が含まれます。 |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は |
バージョン 4.3 以降の Linux カーネルでは、デバイスハンドラーが既知のデバイスに自動的にアタッチされます。これには、SCSI-3 ALUA をサポートするすべてのデバイスが含まれます。カーネルでは、後でハンドラーを変更できません。カーネルでそのようなデバイスに hardware_handler 属性を設定しても効果はありません。
5.6. 設定ファイルの overrides セクション リンクのコピーリンクがクリップボードにコピーされました!
overrides セクションは、オプションの protocol サブセクションを認識し、複数の protocol サブセクションを含めることができます。システムは、必須の type 属性を使用して、パスデバイスを protocol サブセクションと照合します。一致する protocol サブセクションの属性は、残りの overrides セクションの属性よりも優先されます。一致する protocol サブセクションが複数ある場合は、後のエントリーほど優先度が高くなります。
protocol サブセクションは、次の必須属性を認識します。
| 属性 | 説明 |
|---|---|
|
| パスデバイスのプロトコル文字列を指定します。使用できる値を以下に示します。 |
|
| |
| この属性は正規表現ではありません。パスデバイスプロトコル文字列は正確に一致する必要があります。 |
次のリストの属性は、protocol サブセクションのオプションです。これらを設定しない場合、overrides、devices または defaults セクションのデフォルト値が適用されます。
-
fast_io_fail_tmo -
dev_loss_tmo -
eh_deadline
5.7. DM Multipath によるデバイスのタイムアウトのオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
sysfs オプションの recovery_tmo は、特定の iSCSI デバイスのタイムアウトを制御します。次のオプションは、recovery_tmo 値をグローバルにオーバーライドします。
-
replacement_timeout設定オプションは、すべての iSCSI デバイスのrecovery_tmo値をグローバルにオーバーライドします。 DM Multipath の
fast_io_fail_tmoオプションは、DM Multipath によって管理されるすべての iSCSI デバイスのrecovery_tmo値をグローバルにオーバーライドします。DM Multipath の
fast_io_fail_tmoオプションは、ファイバーチャネルデバイスのfast_io_fail_tmoオプションもオーバーライドします。
DM Multipath の fast_io_fail_tmo オプションは、replacement_timeout よりも優先されます。multipathd サービスがリロードされるたびに、recovery_tmo が fast_io_fail_tmo 設定オプションの値にリセットされます。DM Multipath によって管理されるデバイスの recovery_tmo をオーバーライドするには、DM Multipath の fast_io_fail_tmo 設定オプションを使用してください。
5.8. 特定デバイスのマルチパス設定の編集 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf 設定ファイルの multipaths セクションで、必須の WWID パラメーターによって参照される個々のマルチパスデバイスに固有の設定を追加できます。
このデフォルトは DM Multipath により使用され、multipath.conf ファイルの overrides セクション、defaults セクション、および devices セクションに設定された属性を上書きします。multipaths セクションには、任意の数のマルチパスサブセクションを含めることができます。
手順
特定のマルチパスデバイスの
multipathsセクションを変更します。設定ファイルで、2 つの特定マルチパスデバイスに対して multipath 属性を指定している例を以下に示します。-
1 つ目のデバイスの WWID は
3600508b4000156d70001200000b0000で、シンボリック名はyellowです。 -
2 番目のマルチパスデバイスの WWID は
1DEC_321816758474で、シンボリック名redがあります。
rr_weight属性はprioritiesに設定されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
1 つ目のデバイスの WWID は
次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.9. プロトコルを使用した特定デバイスのマルチパス設定の変更 リンクのコピーリンクがクリップボードにコピーされました!
トランスポートプロトコルに基づいてマルチパスデバイスパスを設定できます。/etc/multipath.conf ファイルの overrides セクションの protocol サブセクションを使用すると、特定のパスでマルチパス設定を上書きできます。これにより、Fiber Channel (FC) や Internet Small Computer Systems Interface (iSCSI) などの複数のトランスポートプロトコルを介したマルチパスデバイスへのアクセスが可能になります。
protocol サブセクションで設定したオプションは、overrides、devices、および defaults セクションの値を上書きします。これらのオプションは、サブセクションの type パラメーターに一致するトランスポートプロトコルを使用するデバイスにのみ適用されます。
前提条件
- システムで Device Mapper (DM) マルチパスを設定している。
- すべてのパスが同じトランスポートプロトコルを使用するのではなく、マルチパスデバイスがある。
手順
以下のコマンドを実行して、特定のパスプロトコルを表示します。
multipathd show paths format "%d %P"
# multipathd show paths format "%d %P" dev protocol sda scsi:ata sdb scsi:fcp sdc scsi:fcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各マルチパスタイプに
protocolサブセクションを追加して、/etc/multipath.confファイルのoverridesセクションを編集します。overridesセクションには、複数のprotocolサブセクションを含めることができます。重要protocolサブセクションにはtypeパラメーターが含める必要があります。次に、タイプパラメーターが一致するすべてのパスの設定が、プロトコルサブセクションにリストされている残りのパラメーターで更新されます。scsi:fcpプロトコルを使用するパスデバイスの設定。Copy to Clipboard Copied! Toggle word wrap Toggle overflow scsi:iscsiプロトコルを使用するパスデバイスの設定。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 他のすべてのプロトコルを使用するパスデバイスの設定。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.10. ストレージコントローラーのマルチパス設定の編集 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf 設定ファイルの devices セクションは、各ストレージデバイスの属性を設定します。デバイスを含むパスの multipath.conf ファイルの multipaths セクションまたは overrides セクションに指定された属性により上書きされた場合を除き、これらの値は DM Multipath により使用されます。これらの属性は、multipath.conf ファイルの defaults セクションに設定された属性を上書きします。
手順
サポートされているデバイスを含む、デフォルトの設定値に関する情報を表示します。
multipathd show config multipath -t
# multipathd show config # multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスに対応しているデバイスの多くは、デフォルトでマルチパスの設定に含まれています。
-
オプション: デフォルトの設定値を変更する必要がある場合は、それらの値を上書きするデバイスの設定ファイルにエントリーを含めることで、デフォルト値を上書きできます。
multipathd show configコマンドが表示する、目的のデバイスのデフォルト値をコピーして、変更したい値に書き換えることができます。 vendorとproductのパラメーターを設定して、デフォルトで自動的に設定されないデバイスを設定ファイルのdevicesセクションに追加します。次の例に示すように、/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
# cat /sys/block/sda/device/vendor WINSYS # cat /sys/block/sda/device/model SF2372Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 特定のデバイスに応じて、追加のパラメーターを指定します。
active/activeデバイス-
通常、この場合、追加のパラメーターを設定する必要はありません。必要に応じて、
path_grouping_policyをmultibusに設定できます。この他に、設定が必要となる可能性があるパラメーターはno_path_retryとrr_min_ioです。 active/passiveデバイス-
I/O を持つパスが自動的に passive パスに切り替えられる場合は、チェッカーの関数を、I/O をパスに送信しない関数に変更し、それが正しく動作するかどうかを検証する必要があります (これを行わないとデバイスはフェイルオーバーし続けます)。これは、
path_checkerをturに設定したことを意味します。これは、ほとんどの場合、Test Unit Ready コマンドをサポートするすべての SCSI デバイスで機能します。
パスの切り替えに特殊なコマンドを必要とするデバイスにマルチパスを設定するには、ハードウェアハンドラーカーネルモジュールが必要になります。現在、利用可能なハードウェアハンドラーは
emcです。このハンドラーが目的のデバイスに使用できない場合は、そのデバイスにマルチパスを設定できない可能性があります。マルチパス設定ファイルの
deviceエントリーの例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.11. すべてのデバイスへのマルチパス値の設定 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf 設定ファイルの overrides セクションを使用すると、すべてのデバイスの設定値を設定できます。このセクションは、multipath.conf 設定ファイルの devices セクションおよび defaults セクションの両方で対応しているすべての属性に対応します。これは、vendor、product、および revision 以外のすべての devices セクション属性になります。
DM Multipath は、デバイスを含むパスの multipath.conf ファイルの multipaths セクションで指定された属性によって上書きされない限り、すべてのデバイスに対してこれらの属性を使用します。この属性は、multipath.conf ファイルの devices セクションおよび defaults セクションに設定された属性を上書きします。
手順
デバイス固有の設定を上書きします。たとえば、すべてのデバイスで
no_path_retryをfailに設定できます。すべてのパスに障害が発生した場合は、次のコマンドを使用してキューイングをオフにします。これにより、デバイス固有の設定が上書きされます。overrides { no_path_retry fail }overrides { no_path_retry fail }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 デバイスのマルチパスの防止 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスデバイスを設定する際に、選択したデバイスを無視するように DM Multipath を設定できます。DM Multipath は、これらの無視されたデバイスをマルチパスデバイスにグループ化しません。
6.1. DM Multipath がパスのマルチパスデバイスを作成する際の条件 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath には、パス用のマルチパスデバイスを作成するか、パスを無視するかどうかを判断するためのデフォルトルールのセットがあります。動作を設定できます。
find_multipaths 設定パラメーターを off に設定すると、マルチパスは明示的に無効にされていないパスに対して常にマルチパスデバイスを作成しようとします。find_multipaths 設定パラメーターを on に設定すると、以下の条件のいずれかが満たされている場合に限り、マルチパスによりデバイスが作成されます。
- 無効にされていない、同じ World-Wide Identification (WWID) を持つパスが少なくとも 2 つあります。
-
multipathコマンドでデバイスを指定して、デバイスの作成を手動で強制する場合。 - 任意のパスが、以前に作成されたマルチパスデバイスと同一の WWID を持っている場合 (そのマルチパスデバイスがその時点で存在していない場合も含む)。マルチパスデバイスを作成すると、常にそのデバイスの WWID が記憶されるため、同一の WWID を持つパスが検出されると、そのデバイスが自動的に再作成されます。これにより、他のデバイスでマルチパスを無効にしなくても、マルチパスが自動的に正しいパスを選択してマルチパスデバイスにすることができます。
find_multipaths パラメーターを使用せずにマルチパスデバイスを作成してから、パラメーターを on に設定した場合は、/etc/multipath/wwids ファイルから、マルチパスデバイスとして作成しないデバイスの WWID を削除しなければならない場合があります。次の例は、サンプルの /etc/multipath/wwids ファイルを示しています。WWID は、スラッシュ (/) で囲まれています。
on と off に加えて、find_multipaths も以下の値に設定することができます。
strict-
マルチパスは、以前にマルチパス化されていないパスを許可しないため、そのパスは
/etc/multipath/wwidsファイルに記載されていません。 smart-
マルチパスは、
udevで無効になっていないデバイスが表示されるとすぐに、それらを常に受け入れます。multipathdがfind_multipaths_timeoutパラメーターで設定されたタイムアウト内にデバイスを作成しない場合、デバイスに対するクレームを解放します。
find_multipaths の組み込みデフォルト値は off です。ただし、mpathconf により作成されたデフォルトの multipath.conf ファイルは、find_multipaths の値を on に設定します。
find_multipaths パラメーターが on に設定されている場合、マルチパスを使用したくない複数のパスを持つデバイスでのみマルチパスを無効にします。このため、通常、デバイスでマルチパスを無効にする必要はありません。
以前に作成したマルチパスデバイスを blacklist に追加する場合は、-w オプションを使用して /etc/multipath/wwids ファイルからそのデバイスの WWID を削除すると、他のプログラムとの問題を回避するのに役立つことがあります。たとえば、WWID 3600d0230000000000e13954ed5f89300 のデバイス /dev/sdb を /etc/multipath/wwids ファイルから削除する場合は、以下のいずれかの方法を使用することができます。
デバイス名でマルチパスデバイスを削除する。
multipath -w /dev/sdb
# multipath -w /dev/sdb wwid '3600d0230000000000e13954ed5f89300' removedCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスデバイスの WWID を使用して削除する。
multipath -w 3600d0230000000000e13954ed5f89300
# multipath -w 3600d0230000000000e13954ed5f89300 wwid '3600d0230000000000e13954ed5f89300' removedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
また、-W オプションで /etc/multipath/wwids ファイルを更新することも可能です。これにより、/etc/multipath/wwids ファイルがリセットされ、現在のマルチパスデバイスの WWID のみが含まれるようになります。リセットする場合は、以下を実行してください。
multipath -W
# multipath -W
successfully reset wwids
6.2. 特定のデバイスでマルチパスを無効にする基準 リンクのコピーリンクがクリップボードにコピーされました!
以下のいずれかの基準により、デバイスでマルチパスを無効にできます。
- WWID
- デバイス名
- デバイスの種別
- プロパティー
- protocol
デフォルトでは、設定ファイルの初期 blacklist セクションをコメントアウトした後でも、さまざまなデバイス種別が無効化されます。
すべてのデバイスに対して、DM Multipath は以下の順番でこの基準を評価します。
-
プロパティー -
devnode -
device -
プロトコル -
wwid
上記の基準のいずれかによってデバイスが無効になっていることが判明した場合、DM Multipath はそのデバイスを multipathd による処理から除外し、後の基準を評価しません。各基準において、デバイスが例外リストと無効なデバイスリストの両方に一致する場合は、例外リストが優先されます。
6.3. WWID によるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
WWID (World-Wide Identification) を使用して、個々のデバイスでマルチパスを無効にできます。
手順
デバイスの WWID を検索します。
multipathd show paths raw format "%d %w" | grep sdb
# multipathd show paths raw format "%d %w" | grep sdb sdb 3600508b4001080520001e00011700000Copy to Clipboard Copied! Toggle word wrap Toggle overflow wwidエントリーを使用して、/etc/multipath.conf設定ファイルのデバイスを無効にします。次の例は、WWID が
3600508b4001080520001e00011700000のデバイスを無効にする DM マルチパス設定ファイル内の行を示します。blacklist { wwid 3600508b4001080520001e00011700000 }blacklist { wwid 3600508b4001080520001e00011700000 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. デバイス名によるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath がマルチパスデバイスにグループ化しないように、デバイス名でデバイスタイプのマルチパスを無効にできます。
手順
デバイス情報を表示します。
udevadm info --query=all -n /dev/mapper/sd*
# udevadm info --query=all -n /dev/mapper/sd*Copy to Clipboard Copied! Toggle word wrap Toggle overflow devnodeエントリーを使用して、/etc/multipath.conf設定ファイルのデバイスを無効にします。以下の例は、すべての
sd*デバイスを無効にするため、すべての SCSI デバイスを無効にする DM Multipath 設定ファイル内の行を示しています。blacklist { devnode "^sd[a-z]" }blacklist { devnode "^sd[a-z]" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow devnodeエントリーを使用すると、特定タイプのすべてのデバイスではなく、個別のデバイスを無効にできます。ただし、udevルールで静的にマッピングされていない限り、再起動時に特定のデバイス名が同じ名前になる保証がないため、この方法は推奨されません。たとえば、システムが再起動するとデバイス名が/dev/sdaから/dev/sdbに変わる可能性があります。デフォルトでは、DM Multipath は以下の
devnodeエントリーを使用して、SCSI、NVMe、または DASD 以外のすべてのデバイスを無効にします。blacklist { devnode "!^(sd[a-z]|dasd[a-z]|nvme[0-9])" }blacklist { devnode "!^(sd[a-z]|dasd[a-z]|nvme[0-9])" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow このエントリーを無効にするデバイスは、通常、DM Multipath に対応していません。
次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.5. デバイスの種別によるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
device セクションを使用して、デバイスのマルチパスを無効にできます。
手順
表示デバイスの種類:
multipathd show paths raw format "%d %s" | grep sdb
# multipathd show paths raw format "%d %s" | grep sdb sdb HP,HSV210Copy to Clipboard Copied! Toggle word wrap Toggle overflow deviceセクションを使用して、/etc/multipath.conf設定ファイルのデバイスを無効にします。以下の例は、IBM DS4200 および HP のすべてのデバイスでのマルチパスを無効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6. udev プロパティーによるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
udev プロパティーパラメーターを使用して、デバイスのマルチパスを無効にできます。
手順
デバイスの
udev変数を表示します。udevadm info --query=all -n /dev/sdb
# udevadm info --query=all -n /dev/sdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow propertyパラメーターを使用して、/etc/multipath.conf設定ファイルのデバイスを無効にします。このパラメーターは、デバイスのudev環境変数名と一致する正規表現の文字列です。以下の例は、
udevプロパティーID_ATAを持つすべてのデバイスでマルチパスを無効にします。blacklist { property "ID_ATA" }blacklist { property "ID_ATA" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.7. デバイスプロトコルによるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
device プロトコルを使用して、デバイスのマルチパスを無効にできます。
手順
オプション: パスが使用するプロトコルを表示します。
multipathd show paths raw format "%d %P" | grep sdb
# multipathd show paths raw format "%d %P" | grep sdb sdb scsi:fcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow protocolパラメーターを使用して、/etc/multipath.conf設定ファイルのデバイスを無効にします。protocolパラメーターは正規表現を受け取り、一致するプロトコル文字列を持つすべてのデバイスをブラックリストに登録します。たとえば、すべての nvme デバイスでマルチパスを無効にするには、以下を使用します。blacklist { protocol "nvme" }blacklist { protocol "nvme" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow DM Multipath は、
scsi:fcp、scsi:spi、scsi:ssa、scsi:sbp、scsi:srp、scsi:iscsi、scsi:sas、scsi:adt、scsi:ata、scsi:unspec、ccw、cciss、nvme:pcie、nvme:rdma、nvme:fc、nvme:tcp、nvme:loop、nvme:apple-nvme、nvme:unspec、undefなどのprotocol文字列を認識します。次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.8. マルチパスを無効にしたデバイスに対する例外の追加 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスが現在無効になっているデバイスに例外を追加することで、マルチパスを有効にできます。
前提条件
- 特定のデバイスでマルチパスが無効になっている。
手順
/etc/multipath.conf設定ファイルのblacklist_exceptionsセクションを使用して、デバイスでマルチパスを有効にします。設定ファイルの
blacklist_exceptionsセクションでデバイスを指定する場合は、blacklistセクションで指定したものと同じ基準を使用して例外を指定する必要があります。たとえば、無効にしたデバイスがその WWID に関連付けられている場合でも、WWID 例外はdevnodeエントリーで無効になっているデバイスには適用されません。同様に、devnode例外はdevnodeエントリーにしか適用されず、device例外はデバイスエントリーにしか適用されません。例6.1 WWID による例外
たとえば、デバイスが多数あり、その中の 1 つのデバイス (以下の例では WWID が
3600d0230000000000e13955cc3757803のデバイス) でのみマルチパスを有効にする場合は、有効にするデバイス以外のものを 1 つ 1 つ無効にするのではなく、一旦すべてのデバイスを無効にしてから、/etc/multipath.confファイルに以下の行を追加し、必要なデバイスのみを有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、感嘆符 (
!) を使用してblacklistエントリーを反転することもできます。これにより、指定した WWID を除くすべてのデバイスを無効にできます。blacklist { wwid "!3600d0230000000000e13955cc3757803" }blacklist { wwid "!3600d0230000000000e13955cc3757803" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例6.2 udev プロパティーによる例外
propertyパラメーターの挙動は、他のblacklist_exceptionパラメーターとは異なります。propertyパラメーターの値は、udevデータベース内の変数の名前と一致する必要があります。それ以外の場合は、デバイスは無効になります。このパラメーターを使用すると、USB スティックやローカルハードドライブなどの特定の SCSI デバイスでマルチパスを無効にできます。合理的にマルチパス化できる SCSI デバイスでのみマルチパスを有効にするには、以下の例のようにこのパラメーターを
SCSI_IDENT_|ID_WWN)に設定します。blacklist_exceptions { property "(SCSI_IDENT_|ID_WWN)" }blacklist_exceptions { property "(SCSI_IDENT_|ID_WWN)" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかのコマンドを実行してマルチパス設定ファイルを変更した後、
/etc/multipath.confファイルを検証します。設定エラーを表示するには、以下のコマンドを実行します。
multipath -t > /dev/null
# multipath -t > /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更が追加された新しい設定を表示するには、以下のコマンドを実行します。
multipath -t
# multipath -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/multipath.confファイルを再読み込みし、multipathdデーモンを再設定して変更を反映します。service multipathd reload
# service multipathd reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第7章 マルチパス化されたボリュームの管理 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath が提供する multipath、dmsetup、および multipathd コマンドを使用して、マルチパスボリュームを管理できます。
7.1. オンラインのマルチパスデバイスのサイズ変更 リンクのコピーリンクがクリップボードにコピーされました!
multipad コマンドと resize2fs コマンドを使用して、オンラインのマルチパスデバイスとファイルシステムのサイズを変更できます。
手順
- 物理デバイスのサイズを変更します。
論理ユニット番号 (LUN) へのパスを確認します。
multipath -l
# multipath -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow パスのサイズを変更します。SCSI デバイスの場合は、デバイスの
rescanファイルに 1 と書き込むと、SCSI ドライバーによる再スキャンが行われます。以下にコマンド例を示します。echo 1 > /sys/block/path_device/device/rescan
# echo 1 > /sys/block/path_device/device/rescanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各パスデバイスに対してこのコマンドを実行します。たとえば、パスデバイスが
sda、sdb、sde、およびsdfの場合は、次のコマンドを実行します。echo 1 > /sys/block/sda/device/rescan echo 1 > /sys/block/sdb/device/rescan echo 1 > /sys/block/sde/device/rescan echo 1 > /sys/block/sdf/device/rescan
# echo 1 > /sys/block/sda/device/rescan # echo 1 > /sys/block/sdb/device/rescan # echo 1 > /sys/block/sde/device/rescan # echo 1 > /sys/block/sdf/device/rescanCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスデバイスのサイズを変更します。
multipathd resize map multipath_device
# multipathd resize map multipath_deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステムのサイズを変更します (LVM または DOS のパーティションが使用されていないことを前提とします)。
resize2fs /dev/mapper/mpatha
# resize2fs /dev/mapper/mpathaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2. ルートファイルシステムをシングルパスデバイスからマルチパスデバイスに移動する リンクのコピーリンクがクリップボードにコピーされました!
システムをシングルパスデバイスにインストールしてから、ルートファイルシステムに別のパスを追加した場合は、ルートファイルシステムをマルチパスデバイスに移動します。
前提条件
-
device-mapper-multipathパッケージがインストールされている。
手順
/etc/multipath.conf設定ファイルを作成します。mpathconf --enable
# mpathconf --enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow multipathdサービスを有効にします。systemctl enable multipathd.service
# systemctl enable multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
find_multipaths設定パラメーターがonに設定されていない場合は、デバイスのマルチパスの防止 の説明に従って、/etc/multipath.confファイルのblacklistセクションとblacklist_exceptionsセクションを編集します。 /etc/multipath/wwidsファイルにデバイスの WWID を追加します。multipath -a /dev/sdb
# multipath -a /dev/sdb wwid '3600d02300069c9ce09d41c4ac9c53200' addedCopy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/sdb は、ルートデバイス名に置き換えます。
設定ファイルが正しく設定されていることを確認します。
multipath -d 3600d02300069c9ce09d41c4ac9c53200
# multipath -d 3600d02300069c9ce09d41c4ac9c53200 : mpatha (3600d02300069c9ce09d41c4ac9c53200) undef 3PARdata,VV size=446M features='1 queue_if_no_path' hwhandler='1 alua' wp=undef `-+- policy='service-time 0' prio=50 status=undef `- 5:0:0:0 sdb 8:16 undef ready runningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 3600d02300069c9ce09d41c4ac9c53200 は、スワップデバイスの WWID に置き換えます。
multipathを使用してinitramfsファイルシステムを再構築します。dracut --force --add multipath
# dracut --force --add multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow - マシンをシャットダウンします。
- マシンを起動します。
- 他のパスがマシンから見えるようにする。
検証
以下のコマンドを実行して、マルチパスデバイスが作成されているかどうかを確認します。
multipath -l | grep 3600d02300069c9ce09d41c4ac9c53200
# multipath -l | grep 3600d02300069c9ce09d41c4ac9c53200 mpatha (3600d02300069c9ce09d41c4ac9c53200) dm-0 3PARdata,VVCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. スワップファイルシステムをシングルパスデバイスからマルチパスデバイスに移動する リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、スワップデバイスは論理ボリュームとして設定されます。論理ボリュームグループを構成する物理ボリュームにマルチパスを設定する場合、スワップデバイスをマルチパスデバイスとして設定するための特別な手順は必要ありません。ただし、スワップデバイスが LVM ボリュームではなく、デバイス名でマウントされる場合は、適切なマルチパスデバイス名に切り替えるために /etc/fstab ファイルを編集する必要がある場合があります。
手順
/etc/multipath.conf設定ファイルを作成します。mpathconf --enable
# mpathconf --enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow multipathdサービスを有効にします。systemctl enable multipathd.service
# systemctl enable multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
find_multipaths設定パラメーターがonに設定されていない場合は、デバイスのマルチパスの防止 の説明に従って、/etc/multipath.confファイルのblacklistセクションとblacklist_exceptionsセクションを編集します。 /etc/multipath/wwidsファイルにデバイスの WWID を追加します。multipath -a /dev/sdb
# multipath -a /dev/sdb wwid '3600d02300069c9ce09d41c4ac9c53200' addedCopy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/sdb は、スワップデバイス名に置き換えます。
設定ファイルが正しく設定されていることを確認します。
multipath -d 3600d02300069c9ce09d41c4ac9c53200
# multipath -d 3600d02300069c9ce09d41c4ac9c53200 : mpatha (3600d02300069c9ce09d41c4ac9c53200) undef 3PARdata,VV size=446M features='1 queue_if_no_path' hwhandler='1 alua' wp=undef `-+- policy='service-time 0' prio=50 status=undef `- 5:0:0:0 sdb 8:16 undef ready runningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 3600d02300069c9ce09d41c4ac9c53200 は、スワップデバイスの WWID に置き換えます。
/etc/multipath.confファイルに、swap デバイスのエイリアスを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstabファイルで、root デバイスへの古いデバイスパスを、マルチパスデバイスに置き換えます。たとえば、
/etc/fstabファイルに、以下のようなエントリーがあるとします。/dev/sdb2 swap swap defaults 0 0
/dev/sdb2 swap swap defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow エントリーを以下のように変更します。
/dev/mapper/swapdev swap swap defaults 0 0
/dev/mapper/swapdev swap swap defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow multipath を使用して initramfs ファイルシステムを再構築します。
dracut --force --add multipath
# dracut --force --add multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow - マシンをシャットダウンします。
- マシンを起動します。
- 他のパスがマシンから見えるようにする。
検証
スワップデバイスがマルチパスデバイス上にあるかどうかを確認します。
swapon -s
# swapon -s Filename Type Size Used Priority /dev/dm-3 partition 4169724 0 -2Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイル名は、マルチパススワップデバイスと一致させる必要があります。
readlink -f /dev/mapper/swapdev
# readlink -f /dev/mapper/swapdev /dev/dm-3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4. マルチパスデバイスのデバイスマッパーエントリーの特定 リンクのコピーリンクがクリップボードにコピーされました!
multipathd コマンドを使用すると、マルチパスを設定したデバイスに一致するデバイスマッパーのエントリーを検出できます。
手順
すべてのデバイスマッパーデバイスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5. multipathd デーモンの管理 リンクのコピーリンクがクリップボードにコピーされました!
multipathd コマンドを使用して、multipathd デーモンを管理できます。
手順
multipathd show mapsコマンドの出力のデフォルトフォーマットを表示します。multipathd show maps
# multipathd show maps name sysfs uuid mpathc dm-0 360a98000324669436c2b45666c567942Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一部の
multipathdコマンドには、後にワイルドカードが付いたformatオプションを含むものがあります。次のコマンドを実行すると、使用できるワイルドカードのリストを表示できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow multipathdが監視しているマルチパスデバイスを表示します。ワイルドカードを使用して、表示されるフィールドを指定します。multipathd show maps format "%n %w %d %s"
# multipathd show maps format "%n %w %d %s" name uuid sysfs vend/prod/rev mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUNCopy to Clipboard Copied! Toggle word wrap Toggle overflow multipathdが監視しているパスを表示します。ワイルドカードを使用して、表示されるフィールドを指定します。multipathd show paths format "%n %w %d %s"
# multipathd show paths format "%n %w %d %s" target WWNN uuid dev vend/prod/rev 0x50001fe1500d2250 3600508b4001080520001e00011700000 sdb HP,HSV210Copy to Clipboard Copied! Toggle word wrap Toggle overflow データを raw 形式で表示します。
multipathd show maps raw format "%n %w %d %s"
# multipathd show maps raw format "%n %w %d %s" mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUNCopy to Clipboard Copied! Toggle word wrap Toggle overflow raw 形式ではヘッダーは出力されず、フィールドがパッディングされていないため、列とヘッダーが調整されていません。このため、出力はスクリプトで使いやすくなります。
第8章 ストレージデバイスの削除 リンクのコピーリンクがクリップボードにコピーされました!
実行中のシステムからストレージデバイスを安全に削除することで、システムメモリーのオーバーロードやデータ損失を防ぐことができます。次のシステムではストレージデバイスを削除しないでください。
- 空きメモリーが合計メモリーの 5 % 未満 (サンプル 100 件の内 10 件以上)。
-
スワップが有効になっている (
vmstatコマンドの出力でsiとsoのコラムが 0 以外の値)。
前提条件
I/O フラッシュ中にシステムメモリーの負荷が増加するため、ストレージデバイスを削除する前に、システムメモリーが十分にあることを確認する。システムの現在のメモリー負荷と空きメモリーを表示するには、次のコマンドを使用します。
vmstat 1 100 free
# vmstat 1 100 # freeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.1. ストレージデバイスの安全な削除 リンクのコピーリンクがクリップボードにコピーされました!
稼働中のシステムからストレージデバイスを安全に取り外すには、上から下へのアプローチが必要です。アプリケーションやファイルシステムなどの最上位層から始め、物理デバイスなどの最下位層に向かって作業を進めます。
ストレージデバイスは複数の方法で使用でき、物理デバイスの上層に別の仮想設定を指定できます。例えば、デバイスの複数のインスタンスをマルチパスデバイスにグループ化したり、RAID の一部にしたり、LVM グループの一部にしたりすることが可能です。さらに、デバイスはファイルシステムを介してアクセスすることもできるし、“raw” デバイスのように直接アクセスすることもできます。
上から下へのアプローチを用いながら、次のことを確認する必要があります。
- 削除したいデバイスが使用中でないこと
- デバイスへの保留中の I/O がすべてフラッシュされる
- オペレーティングシステムがストレージデバイスを参照していない
8.2. ブロックデバイスと関連メタデータの削除 リンクのコピーリンクがクリップボードにコピーされました!
実行中のシステムからブロックデバイスを安全に削除するには、システムメモリーのオーバーロードとデータ損失を防ぐために、最初にブロックデバイスからメタデータを削除する必要があります。ファイルシステムから始めて、スタック内の各レイヤーに対処し、ディスクに進みます。これらのアクションにより、システムが不整合な状態になるのを防ぎます。
削除するデバイスのタイプに応じて異なる特定のコマンドを使用します。
-
lvremove、vgremove、およびpvremoveは LVM に固有です。 -
ソフトウェア RAID の場合、
mdadmを実行してアレイを削除します。詳細は、RAID の管理 を参照してください。 - LUKS を使用して暗号化されたブロックデバイスの場合、特定の追加手順があります。次の手順は、LUKS を使用して暗号化されたブロックデバイスでは機能しません。詳細は、LUKS を使用したブロックデバイスの暗号化 を参照してください。
SCSI バスを再びスキャンしたり、ここで説明されている手順に従わずにオペレーティングシステムを変更する別のアクションを実行すると、I/O タイムアウトが原因で遅延が発生したり、デバイスやデータが予期せず削除されたりする可能性があります。
前提条件
- ファイルシステム、論理ボリューム、およびボリュームグループを含む既存のブロックデバイススタックがある。
- 削除するデバイスを他のアプリケーションやサービスが使用していないことを確認した。
- 削除するデバイスからデータをバックアップした。
オプション: マルチパスデバイスを削除する必要があり、そのパスデバイスにアクセスできない場合は、次のコマンドを実行してマルチパスデバイスのキューイングを無効にしておく。
multipathd disablequeueing map multipath-device
# multipathd disablequeueing map multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 無効にすることで、デバイスの I/O が失敗し、デバイスを使用しているアプリケーションがシャットダウンできるようになります。
メタデータを含むデバイスを一度に 1 レイヤーずつ削除することで、ディスクに古い署名が残らないようにします。
手順
ファイルシステムをアンマウントします。
umount /mnt/mount-point
# umount /mnt/mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステムを削除します。
wipefs -a /dev/vg0/myvol
# wipefs -a /dev/vg0/myvolCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstabファイルにエントリーを追加して、ファイルシステムとマウントポイントの間の永続的な関連付けを作成した場合は、この時点で/etc/fstabを編集してそのエントリーを削除します。削除するデバイスのタイプに応じて、次の手順に進みます。
ファイルシステムを含む論理ボリューム (LV) を削除します。
lvremove vg0/myvol
# lvremove vg0/myvolCopy to Clipboard Copied! Toggle word wrap Toggle overflow ボリュームグループ (VG) に他の論理ボリュームが残っていない場合は、デバイスを含む VG を安全に削除できます。
vgremove vg0
# vgremove vg0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 物理ボリューム (PV) メタデータを PV デバイスから削除します。
pvremove /dev/sdc1
# pvremove /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow wipefs -a /dev/sdc1
# wipefs -a /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow PV が含まれていたパーティションを削除します。
parted /dev/sdc rm 1
# parted /dev/sdc rm 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow デバイスを完全に消去する場合は、パーティションテーブルを削除します。
wipefs -a /dev/sdc
# wipefs -a /dev/sdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow デバイスを物理的に取り外す場合にのみ、次の手順を実行します。
マルチパスデバイスを削除する場合は,次のコマンドを実行します。
デバイスへの全パスを表示します。
multipath -l
# multipath -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの出力は、後のステップで必要になります。
I/O をフラッシュして、マルチパスデバイスを削除します。
multipath -f multipath-device
# multipath -f multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
デバイスがマルチパスデバイスとして設定されていない場合や、デバイスがマルチパスデバイスとして設定されていて、過去に I/O を個別のパスに渡している場合は、未処理の I/O を、使用されている全デバイスパスにフラッシュします。
blockdev --flushbufs device
# blockdev --flushbufs deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow この操作は、
umountコマンドまたはvgreduceコマンドで I/O がフラッシュされないデバイスに直接アクセスする場合に重要になります。SCSI デバイスを取り外す場合は、以下のコマンドを実行します。
-
システム上のアプリケーション、スクリプト、またはユーティリティーで、
/dev/sd、/dev/disk/by-path、またはmajor:minor番号など、デバイスのパスベースの名前への参照をすべて削除します。参照を削除することで、今後追加される別のデバイスが現在のデバイスと混同されないようにします。 SCSI サブシステムからデバイスへの各パスを削除します。
echo 1 > /sys/block/device-name/device/delete
# echo 1 > /sys/block/device-name/device/deleteCopy to Clipboard Copied! Toggle word wrap Toggle overflow デバイスが以前にマルチパスデバイスとして使用されていた場合、
device-nameは、multipath -lコマンドの出力からの内容に置き換えます。
-
システム上のアプリケーション、スクリプト、またはユーティリティーで、
- 稼働中のシステムから物理デバイスを削除します。このデバイスを削除しても、他のデバイスへの I/O は停止しないことに注意してください。
検証
削除したデバイスが
lsblkコマンドの出力に表示されないことを確認します。出力例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第9章 DM Multipath のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マルチパス設定の実装に問題がある場合は、さまざまな項目を確認できます。マルチパス設定の反応が遅かったり、機能しない場合は、以下の問題が原因として考えられます。
- マルチパスデーモンが実行していない
-
マルチパス設定の実装に問題がある場合は、DM Multipath の設定 で説明するように、
multipathdデーモンが実行されていることを確認してください。マルチパスが設定されているデバイスを使用するには、multipathdデーモンを実行しておく必要があります。 queue_if_no_path機能に関する問題-
マルチパスデバイスが
features "1 queue_if_no_path"オプションで設定されている場合は、1 つ以上のパスが復元されるまで、I/O を発行するすべてのプロセスがハングアップします。
9.1. queue_if_no_path 機能に関する問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マルチパスデバイスが features "1 queue_if_no_path" オプションで設定されている場合は、1 つ以上のパスが復元されるまで、I/O を発行するすべてのプロセスがハングアップします。これを回避するには、/etc/multipath.conf ファイルに no_path_retry N パラメーターを設定します (N はシステムでパスを再試行する回数に置き換えます)。
上記の問題なしで features "1 queue_if_no_path" オプションを使用する場合は、すべてのパスが使用できない特定の LUN に対して、実行時にキューイングポリシーを無効にすることができます。
手順
キューイングを無効にします。
特定のデバイスの場合:
multipathd disablequeueing map device
# multipathd disablequeueing map deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデバイスの場合:
multipathd disablequeueing maps
# multipathd disablequeueing mapsCopy to Clipboard Copied! Toggle word wrap Toggle overflow キューイングを無効にすると、
multipathdを再起動または再読み込みするまで、無効のままになります。
キューイングを以前の値にリセットします。
特定のデバイスの場合:
multipathd restorequeueing map device
# multipathd restorequeueing map deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデバイスの場合:
multipathd restorequeueing maps
# multipathd restorequeueing mapsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2. multipathd 対話式コンソールでトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
multipathd -k コマンドは、multipathd デーモンに対する対話式のインターフェイスです。このコマンドを実行すると対話式のマルチパスコンソールが立ち上がります。このコマンドを実行した後、help を入力すると、利用可能なコマンドのリストが表示され、Ctrl+D を押すと終了できます。
multipathd 対話型コンソールを使用して、システムで発生した問題のトラブルシューティングを行います。
手順
コンソールを終了する前に、デフォルト値を含むマルチパス設定を表示します。
multipathd -k
# multipathd -k multipathd> show config multipathd> Ctrl+DCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスが
multipath.confファイルへの変更をすべて反映するようにします。multipathd -k
# multipathd -k multipathd> reconfigure multipathd> Ctrl+DCopy to Clipboard Copied! Toggle word wrap Toggle overflow パスチェッカーが正常に動作していることを確認します。
multipathd -k
# multipathd -k multipathd> show paths multipathd> Ctrl+DCopy to Clipboard Copied! Toggle word wrap Toggle overflow また、対話型コンソールを起動せずに、コマンドラインから直接 1 つの
multipathd対話型コマンドを実行することも可能です。たとえば、マルチパスがmultipath.confファイルへの変更をすべて反映することを確認するには、次のコマンドを実行します。multipathd reconfigure
# multipathd reconfigureCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第10章 eh_deadline を使用したストレージエラーからの回復における最大時間の設定 リンクのコピーリンクがクリップボードにコピーされました!
障害が発生した SCSI デバイスを復旧するのに許容できる最大時間を設定できます。この設定は、ストレージハードウェアが不具合により応答しなくなっても、I/O 応答時間を保証します。
10.1. eh_deadline パラメーター リンクのコピーリンクがクリップボードにコピーされました!
SCSI エラー処理 (EH) メカニズムは、障害が発生した SCSI デバイスでエラーからの復旧の実行を試行します。SCSI ホストオブジェクト eh_deadline パラメーターでは、復旧時間の最大量を設定できます。設定した時間が過ぎると、SCSI EH は、ホストバスアダプター (HBA) 全体を停止してリセットします。
eh_deadline を使用すると、以下のいずれかの時間を短縮できます。
- エラーのあるパスのシャットオフ
- パスの切り替え
- RAID スライスの無効化
eh_deadline が過ぎると、SCSI EH は HBA をリセットします。これは、エラーが発生しているものだけでなく、HBA 上のすべてのターゲットパスに影響します。一部の冗長パスがその他の理由により利用できない場合は、I/O エラーが発生する可能性があります。すべてのターゲットでマルチパスが設定されている場合にのみ、eh_deadline を有効にします。また、マルチパスデバイスが完全に冗長でない場合は、no_path_retry がパスの回復を可能にするのに十分な大きさに設定されていることを確認する必要があります。
eh_deadline パラメーターの値は秒単位で指定されます。デフォルト設定は off で、時間制限が無効になり、すべてのエラー復旧が行われるようになります。
eh_deadline が便利なシナリオ
多くの場合、eh_deadline を有効にする必要はありません。eh_deadline を使用すると、特定のシナリオで役立つ場合があります。たとえば、ファイバーチャネル (FC) スイッチとターゲットポート間でリンクが失われ、HBA が Registered State Change Notifications (RSCN) を受信しない場合などです。このような場合、I/O 要求やエラーからの復旧コマンドは、エラーに遭遇することなく、すべてタイムアウトになります。この環境で eh_deadline を設定すると、リカバリー時間に上限が課せられます。これにより、DM Multipath により、利用できる別のパスで不具合の発生した I/O の再試行が可能になります。
以下の条件下では、eh_deadline パラメーターは、これ以上のメリットをもたらしません。その理由は、DM Multipath の再試行を可能にする I/O とエラー復旧コマンドがすぐに失敗するためです。
- RSCN が有効になっている場合
- HBA が利用できなくなっているリンクを登録しない場合
10.2. eh_deadline パラメーターの設定 リンクのコピーリンクがクリップボードにコピーされました!
eh_deadline パラメーターの値を設定することで、SCSI 最大復旧時間を制限できます。
手順
eh_deadlineは、以下のいずれかの方法で設定できます。multpath.confファイルのdefaultsセクションmultpath.confファイルの defaults セクションから、eh_deadlineパラメーターを必要な秒数に設定します。eh_deadline 300
# eh_deadline 300Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記RHEL 8.4 以降、
multpath.confファイルの defaults セクションを使用してeh_deadlineパラメーターを設定することが推奨されます。このメソッドで
eh_deadlineパラメーターをオフにするには、eh_deadlineをoffに設定します。sysfs/sys/class/scsi_host/host<host-number>/eh_deadlineファイルに秒数を書き込みます。たとえば、SCSI ホスト 6 のsysfsを介してeh_deadlineパラメーターを設定するには、次のようにします。echo 300 > /sys/class/scsi_host/host6/eh_deadline
# echo 300 > /sys/class/scsi_host/host6/eh_deadlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow このメソッドで
eh_deadlineパラメーターをオフにするには、echooffを使用します。カーネルパラメーター
すべての SCSI HBA のデフォルト値は
scsi_mod.eh_deadlineカーネルパラメーターを使用して設定します。echo 300 > /sys/module/scsi_mod/parameters/eh_deadline
# echo 300 > /sys/module/scsi_mod/parameters/eh_deadlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow このメソッドで
eh_deadlineパラメーターをオフにするには、echo-1を使用します。