Device Mapper Multipath の設定
Device Mapper Multipath 機能の設定および管理
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 デバイスマッパーマルチパスの概要 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath は、アクティブ/パッシブ構成においてフェイルオーバーを通じて冗長性を提供し、アクティブ/アクティブモードで複数のパスに I/O を分散することでパフォーマンスを向上させます。
DM Multipath は以下を提供します。
- 冗長性
DM Multipath は、アクティブ/パッシブ構成でフェイルオーバーを提供できます。アクティブ/パッシブ構成では、どの時点においても、I/O には一部のパスだけが使用されます。ケーブル、スイッチ、コントローラーなどの I/O パスの要素に障害が発生した場合、DM Multipath は代替パスに切り替わります。詳細は以下を参照してください。
-
システム上の
multipath(8)およびmultipathd(8)man ページ -
/etc/multipath.confファイル
-
システム上の
パスの数はセットアップによって異なります。通常、DM Multipath 設定にはストレージへのパスが 2、4、または 8 個ありますが、これは一般的な設定であり、他の数となる可能性もあります。
- パフォーマンスの向上
- DM Multipath は、アクティブ/アクティブモードで設定できます。このモードでは、I/O はラウンドロビン方式でパスに分散されます。一部の設定では、DM Multipath は I/O パスの負荷を検出し、負荷を動的に再調整できます。
1.1. 1 つの RAID デバイスを使用したアクティブ/パッシブのマルチパス設定 リンクのコピーリンクがクリップボードにコピーされました!
アクティブ/パッシブ構成では、2 つの HBA と SAN スイッチを介して単一の RAID デバイスに接続する冗長化された I/O パスが提供されます。これにより、パス上のコンポーネントに障害が発生した場合でも、自動フェイルオーバーが可能になります。
この設定では、サーバー上に 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 つの RAID デバイスを使用したアクティブ/パッシブ構成では、複数のストレージアレイへの冗長化されたパスが提供されます。これにより、専用のコントローラーを備えた個別の 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 デバイスを使用したアクティブ/アクティブのマルチパス設定 リンクのコピーリンクがクリップボードにコピーされました!
アクティブ/アクティブ構成では、RAID デバイスへの複数のパスで同時に I/O 操作を行うことが可能です。これにより、フェイルオーバー機能を維持しながら、ワークロードを分散してパフォーマンスを向上させることができます。
この設定では、サーバー上に HBA、2 つの SAN スイッチ、および 2 つの RAID コントローラーがあります。以下の図は、サーバーからストレージデバイスへの 2 つの I/O パスを使用した設定を説明します。ここで、I/O は、これら 2 つのパスに分散できます。
図1.3 1 つの RAID デバイスを使用したアクティブ/アクティブのマルチパス設定
1.4. DM Multipath コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath は、multipathd デーモンや multipath コマンドツールなど、複数の I/O パスを管理するために連携して動作するカーネルモジュール、ユーティリティー、デーモンで構成されています。
以下の表は、DM Multipath コンポーネントを示しています。
| コンポーネント | 説明 |
|
| I/O を再ルーティングし、パスとパスグループのフェイルオーバーに対応します。 |
|
| デバイスマッパーマルチパスを設定して有効にします。 |
|
|
マルチパスデバイスをリスト表示して設定します。これは、ブロックデバイスが追加されるたびに |
|
|
マルチパスデバイスを自動的に作成および削除し、パスを監視します。パスが失敗して戻ってくると、マルチパスデバイスが更新される場合があります。マルチパスデバイスへのインタラクティブな変更を許可します。 |
|
|
デバイス上のパーティションのデバイスマッパーデバイスを作成します。このコマンドは、マルチパスデバイスが作成され、その上にパーティションデバイスが作成されると、 |
|
|
マルチパスデバイスに |
1.5. マルチパストポロジーの表示 リンクのコピーリンクがクリップボードにコピーされました!
パスを効果的に監視したり、マルチパスの問題をトラブルシューティングしたり、マルチパス設定が正しく設定されているかどうかを確認したりするために、マルチパストポロジーを表示できます。
手順
マルチパスデバイストポロジーを表示します。
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 running
# 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 runningCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
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 は、同じストレージへの複数の I/O パスを束ねて単一のマルチパスデバイスを作成し、それらを論理的に整理します。これがないと、同じサーバーを同じストレージコントローラーに接続している場合でも、各パスが個別のデバイスとして認識されます。
2.1. マルチパスデバイス識別子 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスデバイスでは、ファイルシステム内での表示方法を決定する特定の命名規則が使用されます。マルチパスデバイスは、設定に応じて、World Wide Identifier (WWID) または mpathN などのユーザーフレンドリーな名前で識別できます。
新しいデバイスが 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 を使用してマルチパスデバイスから論理デバイスを作成する場合は、これにより問題が発生することはありません。すべてのノードでマルチパスデバイス名の一貫性を保つには、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 セクションに、デバイスのエントリーを作成することにより、特定のマルチパスデバイスのこれらの属性を変更できます。詳細は以下を参照してください。
-
システム上の
multipath(8)およびmultipath.conf(8)man ページ -
/etc/multipath.confファイル
2.2. 論理ボリューム内のマルチパスデバイス リンクのコピーリンクがクリップボードにコピーされました!
マルチパスデバイスは LVM とシームレスに統合します。そのため、ユーザーは個々のディスクパスの代わりに、マルチパスデバイス名を使用して物理ボリューム、ボリュームグループ、および論理ボリュームを作成できます。
マルチパスデバイスを作成したら、論理ボリュームマネージャー (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.conf man ページを参照してください。
パーティションを設定したデバイス全体に LVM 物理ボリュームを作成しようとすると、pvcreate コマンドは失敗します。Anaconda および Kickstart のインストールプログラムは、すべてのブロックデバイスに特に指定しない限り、空のパーティションテーブルを作成します。パーティションを作成する代わりにデバイス全体を使用する場合は、デバイスから既存のパーティションを削除します。kpartx -d デバイスコマンドと fdisk ユーティリティーを使用して、既存のパーティションを削除できます。システムに 2Tb を超えるブロックデバイスがある場合は、parted ユーティリティーを使用してパーティションを削除します。
active/passive マルチパスアレイを基礎となる物理デバイスとして使用する LVM 論理ボリュームを作成する場合は、必要に応じて、/etc/lvm/lvm.conf ファイルにフィルターを追加して、マルチパスデバイスの基礎となるディスクを除外できます。これは、I/O の受信時にアレイがアクティブパスをパッシブパスに自動的に変更する場合に、このようなデバイスにフィルターが設定されていないと、LVM がパッシブパスをスキャンするたびにマルチパスがフェイルオーバーおよびフェイルバックするためです。
カーネルは、使用する正しいハードウェアハンドラーを自動的に検出してアクティブ/パッシブ状態を変更します。状態を変更するために介入を必要とするアクティブ/パッシブパスの場合、マルチパスは自動的にこのハードウェアハンドラーを使用して、必要に応じて介入します。カーネルが使用する正しいハードウェアハンドラーを自動的に検出しない場合は、multipath.conf ファイルで "hardware_handler" オプションを使用して、使用するハードウェアハンドラーを設定できます。パッシブパスをアクティブにするコマンドを必要とする active/passive アレイでこの問題が発生すると、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 の設定 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath を設定するには、mpathconf ユーティリティーを使用します。このユーティリティーは、/etc/multipath.conf 設定ファイルを作成または編集し、基本的なフェイルオーバーと追加のストレージオプションを設定します。
このユーティリティーは、次のシナリオに基づいて /etc/multipath.conf マルチパス設定ファイルを作成または編集します。
-
/etc/multipath.confファイルがすでに存在する場合は、mpathconfユーティリティーでファイルを編集します。 -
/etc/multipath.confファイルが存在しない場合は、mpathconfユーティリティーにより/etc/multipath.confファイルが新たに作成されます。
3.1. device-mapper-multipath パッケージの確認 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスを設定する前に、必要なすべてのコンポーネントを利用可能な状態にするために、device-mapper-multipath パッケージがシステムにインストールされていることを確認してください。これにより、中核的なソフトウェアの不足によって障害が発生する可能性を防ぐことができます。
手順
システムに
device-mapper-multipathパッケージが含まれているか確認します。rpm -q device-mapper-multipath device-mapper-multipath-current-package-version
# 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 の基本的なフェイルオーバー設定を確立することで、パスの冗長性が確保され、ストレージの信頼性が向上します。1 つのパスに障害が発生した場合でも、別のパスを通じて I/O 操作が継続されるため、ダウンタイムやデータ損失を防止できます。
前提条件
- 管理アクセスがある。
手順
マルチパス設定ファイルを有効にして初期化します。
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. マルチパスデバイスの生成時にローカルディスクを無視する リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath がローカル SCSI ディスクを使用するのを防ぐために、マルチパスデバイスの生成時にこれらのデバイスを無視するように設定できます。find_multipaths を on に設定すると、このプロセスが簡素化されます。これを行わない場合は、設定ファイルで手動で除外する必要があります。
手順
デバイスのモデル、パス、ベンダーなどの既知のパラメーターを使用して内部ディスクを識別し、次のオプションのいずれかを使用してその 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 sda WDC_WD800JD-75MSA3_WD-WMAM9FU71040
# 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ファイルを編集して、マルチパスを設定します。以下は、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章 DM Multipath 設定ファイルの編集 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスの動作をカスタマイズしたり、サポートされていないストレージアレイのサポートを追加したりするには、/etc/multipath.conf ファイルを編集して、DM Multipath のデフォルト設定値をオーバーライドします。
マルチパス設定ファイルでは、設定に必要なセクション、またはデフォルト値から変更する必要があるセクションのみを指定する必要があります。使用環境には無関係なファイルのセクションや、デフォルト値を無効にする必要がないファイルのセクションでは、初期ファイルに指定されているコメントアウトを削除する必要はありません。
設定ファイルでは、正規表現を使用することもできます。
initramfs ファイルシステムからマルチパスを実行してマルチパスの設定ファイルを変更した場合は、initramfs ファイルシステムを再構築して変更を有効にする必要があります。
4.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コマンドを実行してデフォルト設定を取得します。
4.2. 設定ファイルの defaults セクション リンクのコピーリンクがクリップボードにコピーされました!
defaults セクションでは、ポーリング間隔、パスグループ化ポリシー、すべてのマルチパスデバイスに適用するフェイルオーバー設定など、DM Multipath の動作に関するグローバル設定パラメーターを設定します。
/etc/multipath.conf 設定ファイルには、defaults セクションが含まれています。このセクションには、デバイスマッパー (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 年に設定します。デフォルト値はオペレーティングシステムによって決定されます。 |
|
|
SCSI デバイスに障害が発生した場合に、SCSI レイヤーがエラー処理の実行に費やす最大秒数を指定します。このタイムアウトの後、SCSI レイヤーは HBA のフルリセットを実行します。 |
|
デフォルト値は | |
|
|
これが |
|
| |
|
デフォルト値は | |
|
|
|
|
| |
|
デフォルト値は | |
|
|
|
|
| |
|
| |
|
デフォルト値は | |
|
|
デバイスの WWID に使用する |
|
デフォルト値はデバイスに依存し、SCSI デバイスの場合は | |
|
|
|
|
デフォルト値は | |
|
|
|
|
デフォルト値は | |
|
|
|
|
| |
|
|
この属性は、 |
|
デフォルト値は | |
|
|
|
|
|
これら 3 つの属性すべてを 0 より大きい整数に設定すると、 |
|
詳細は、 | |
|
デフォルト値は | |
|
|
|
|
| |
|
詳細は、 | |
|
デフォルト値は | |
|
| 使用できる値を以下に示します。 |
|
| |
|
| |
|
| |
|
| |
|
詳細は、 | |
|
デフォルト値は | |
|
|
|
|
|
|
|
|
このオプションを使用すると、マルチパスデバイスを最初にアクティブ化する前に、マルチパスデバイスの基になるすべてのパスで |
|
|
この属性は、ゴーストパスのみでデバイスを作成した後、 |
|
これを | |
|
デフォルト値は | |
|
| この属性は、外部ライブラリーを有効または無効にします。 |
| 値は正規表現です。名前が式と一致する場合、外部ライブラリーがロードされます。 | |
|
デフォルトでは、外部ライブラリーは有効になっていません。NVMe ネイティブのマルチパスサポートを有効にするには | |
|
|
|
|
このオプションは、WWID を取得するためにデフォルトの | |
|
デフォルト値は | |
|
|
このオプションは、マルチパスが使用中のデバイスの削除を再試行する回数を設定します。各試行の間に、マルチパスは 1 秒間非アクティブになります。デフォルトの値は |
|
|
|
|
デフォルト値は | |
|
|
|
|
このパラメーターは | |
|
|
|
|
|
|
|
| |
|
| |
|
|
詳細は、システム上の multipath.conf(5) man ページを参照してください。
4.3. マルチパス設定ファイルのデフォルトの編集 リンクのコピーリンクがクリップボードにコピーされました!
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
4.4. 設定ファイルの multipaths セクション リンクのコピーリンクがクリップボードにコピーされました!
multipaths セクションでは、WWID によって特定のマルチパスデバイスをカスタマイズできます。これにより、エイリアスやパスポリシーなどのデバイス固有の設定でグローバル設定をオーバーライドできます。
/etc/multipath.conf 設定ファイルの multipaths セクションを使用して、個々のマルチパスデバイスの属性を設定します。デバイスマッパー (DM) マルチパスは、これらの属性を使用して、overrides セクションの設定を含む、他のすべての設定オプションをオーバーライドします。
multipaths セクションでは、multipath サブセクションのみが属性として認識されます。次の表は、特定のマルチパスデバイスごとに、multipath サブセクションで設定できる属性を示しています。これらの属性は、指定された 1 つのマルチパスにのみ適用されます。複数の multipath サブセクションが特定のデバイスの World Wide Identifier (WWID) と一致する場合、それらのサブセクションの内容がマージされます。最新エントリーの設定は、以前のバージョンよりも優先されます。詳細は、システム上の multipath.conf(5) man ページを参照してください。
| 属性 | 説明 |
|---|---|
|
|
multipath 属性を適用するマルチパスデバイスの WWID を指定します。このパラメーターは、 |
|
|
multipath 属性が適用されるマルチパスデバイスのシンボリック名を指定します。 |
設定ファイルで、2 つの特定マルチパスデバイスに対して multipath 属性を指定している例を以下に示します。1 つ目のデバイスの WWID は 3600508b4000156d70001200000b0000 で、シンボリック名は yellow です。
2 つ目のマルチパスデバイスの WWID は 1DEC_321816758474 で、シンボリック名は red です。
例4.1 マルチパス属性の仕様
4.5. 設定ファイルの devices セクション リンクのコピーリンクがクリップボードにコピーされました!
devices セクションでは、デバイスごとのマルチパスの動作を最適化するために、ベンダー、製品、リビジョンパターンによって識別される特定のストレージコントローラータイプの設定を定義します。
multipath.conf 設定ファイルの devices セクションを使用して、個々のストレージコントローラータイプの設定を定義します。このセクションで設定された値は、defaults セクションで指定された値をオーバーライドします。
システムは、vendor、product、および revision キーワードによってストレージコントローラーのタイプを識別します。これらのキーワードは正規表現であり、特定のデバイスに関する sysfs 情報と一致する必要があります。
devices セクションは、device サブセクションのみを属性として認識します。デバイスに一致するキーワードが複数ある場合は、一致するすべてのエントリーの属性がデバイスに適用されます。属性が複数の一致する device サブセクションで指定されている場合、新しいバージョンのエントリーが以前のエントリーよりも優先されます。詳細は、システム上の multipath.conf(5) man ページを参照してください。
device サブセクションの最新バージョンの設定属性は、以前の devices サブセクションおよび defaults セクションの属性をオーバーライドします。
次の表に、device サブセクションで設定できる属性を示します。
| 属性 | 説明 |
|---|---|
|
| デバイスベンダー名と一致する正規表現を指定します。これは必須属性です。 |
|
| デバイスの製品名に一致する正規表現を指定します。これは必須属性です。 |
|
| デバイスの製品リビジョンに一致する正規表現を指定します。リビジョン属性がない場合、すべてのデバイスリビジョンが一致します。 |
|
|
マルチパスはこの属性を使用して、このデバイスエントリーの |
|
| VPD ページの省略形を使用して、ベンダー固有の Vital Product Data (VPD) ページ情報を表示します。 |
|
| |
|
| 特定のデバイスタイプに使用するハードウェアハンドラーを指定します。可能な値はすべてハードウェアに依存し、以下が含まれます。 |
|
| |
|
| |
|
| |
|
| |
|
| |
|
デフォルト値は |
バージョン 4.3 以降の Linux カーネルでは、デバイスハンドラーが既知のデバイスに自動的にアタッチされます。これには、SCSI-3 ALUA をサポートするすべてのデバイスが含まれます。カーネルでは、後でハンドラーを変更できません。カーネルでそのようなデバイスに hardware_handler 属性を設定しても効果はありません。
4.6. 設定ファイルの overrides セクション リンクのコピーリンクがクリップボードにコピーされました!
overrides セクションは、すべてのデバイスに設定変更を適用します。ここには、必要に応じて、デバイス設定やデフォルト設定よりも優先される、プロトコル固有のサブセクションを含めることができます。
overrides セクションは、オプションの protocol サブセクションを認識し、複数の protocol サブセクションを含めることができます。システムは、必須の type 属性を使用して、パスデバイスを protocol サブセクションと照合します。一致する protocol サブセクションの属性は、残りの overrides セクションの属性よりも優先されます。一致する protocol サブセクションが複数ある場合は、後のエントリーほど優先度が高くなります。詳細は、システム上の multipath.conf(5) man ページを参照してください。
protocol サブセクションは、次の必須属性を認識します。
| 属性 | 説明 |
|---|---|
|
| パスデバイスのプロトコル文字列を指定します。使用できる値を以下に示します。 |
|
| |
| この属性は正規表現ではありません。パスデバイスプロトコル文字列は正確に一致する必要があります。 |
次のリストの属性は、protocol サブセクションのオプションです。これらを設定しない場合、overrides、devices または defaults セクションのデフォルト値が適用されます。
-
fast_io_fail_tmo -
dev_loss_tmo -
eh_deadline
4.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 設定オプションを使用してください。
4.8. 特定デバイスのマルチパス設定の編集 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf ファイルの multipaths セクションでは、WWID を使用して特定のデバイス用の設定を定義します。この設定は、overrides、defaults、および devices の値をオーバーライドするため、デバイスごとの動作を微調整できます。複数のエントリーを記述できます。
手順
特定のマルチパスデバイスの
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
4.9. プロトコルを使用した特定デバイスのマルチパス設定の変更 リンクのコピーリンクがクリップボードにコピーされました!
/etc/multipath.conf の overrides セクション内で protocol サブセクションを使用して、トランスポートタイプごとにパス固有のオプションを設定できます。この設定は、overrides、devices、および defaults の値をオーバーライドし、一致するタイプ値にのみ適用されます。
前提条件
- システムで Device Mapper (DM) マルチパスを設定している。
- すべてのパスが同じトランスポートプロトコルを使用するのではなく、マルチパスデバイスがある。
手順
以下のコマンドを実行して、特定のパスプロトコルを表示します。
multipathd show paths format "%d %P" dev protocol sda scsi:ata sdb scsi:fcp sdc scsi:fcp
# 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パラメーターを含める必要があります。これにより、一致するtypeパラメーターを持つすべてのパスの設定が、protocolサブセクションにリストされている残りのパラメーターで更新されます。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
4.10. ストレージコントローラーのマルチパス設定の編集 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf の devices セクションでは、特定のストレージベンダーおよびモデル用の DM Multipath 設定をカスタマイズします。これらの属性は、パフォーマンスを最適化し、デフォルト設定をオーバーライドします。ただし、一致するパスに対して multipaths や overrides で値が設定されている場合は、その値によって置き換えられます。
手順
サポートされているデバイスを含む、デフォルトの設定値に関する情報を表示します。
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
4.11. すべてのデバイスへのマルチパス値の設定 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf の overrides セクションを使用して、すべてのデバイスにグローバル設定を適用します。これにより、パスの管理、タイムアウト、およびその他のパラメーターの一貫性が確保されます。これらの値は、multipaths セクションで置き換えられない限り、defaults と devices をオーバーライドします。
手順
デバイス固有の設定をオーバーライドします。たとえば、すべてのデバイスで
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
第5章 デバイスのマルチパス化の防止 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスデバイスを設定する際に、選択したデバイスを無視するように DM Multipath を設定できます。DM Multipath は、これらの無視されたデバイスをマルチパスデバイスにグループ化しません。
5.1. DM Multipath がパスのマルチパスデバイスを作成する際の条件 リンクのコピーリンクがクリップボードにコピーされました!
DM Multipath は、find_multipaths パラメーターとデバイス検出ルールを使用して、検出されたストレージパスに対してマルチパスデバイスをいつ作成するかを自動的に決定します。
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 wwid '3600d0230000000000e13954ed5f89300' removed
# multipath -w /dev/sdb wwid '3600d0230000000000e13954ed5f89300' removedCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスデバイスの WWID を使用して削除する。
multipath -w 3600d0230000000000e13954ed5f89300 wwid '3600d0230000000000e13954ed5f89300' removed
# multipath -w 3600d0230000000000e13954ed5f89300 wwid '3600d0230000000000e13954ed5f89300' removedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
また、-W オプションで /etc/multipath/wwids ファイルを更新することも可能です。これにより、/etc/multipath/wwids ファイルがリセットされ、現在のマルチパスデバイスの WWID のみが含まれるようになります。リセットする場合は、以下を実行してください。
multipath -W successfully reset wwids
# multipath -W
successfully reset wwids
5.2. 特定のデバイスでマルチパスを無効にする基準 リンクのコピーリンクがクリップボードにコピーされました!
マルチパスからデバイスを除外する際には、WWID、デバイス名、タイプ、プロパティー、プロトコルなどの基準が使用されます。これらは優先順位に従って評価されますが、例外リストが最優先されます。
以下のいずれかの基準により、デバイスでマルチパスを無効にできます。
- WWID
- デバイス名
- デバイスの種別
- プロパティー
- protocol
デフォルトでは、設定ファイルの初期 blacklist セクションをコメントアウトした後でも、さまざまなデバイス種別が無効化されます。
すべてのデバイスに対して、DM Multipath は以下の順番でこの基準を評価します。
-
property -
devnode -
device -
protocol -
wwid
上記の基準のいずれかによってデバイスが無効になっていることが判明した場合、DM Multipath はそのデバイスを multipathd による処理から除外し、後の基準を評価しません。各基準において、デバイスが例外リストと無効なデバイスリストの両方に一致する場合は、例外リストが優先されます。
5.3. WWID によるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf ファイルで WWID を使用して特定のデバイスを無効にすることで、そのデバイスをマルチパスから除外します。これは、ローカルディスク、シングルパスデバイス、またはマルチパスフレームワーク外で特別な取り扱いを必要とするストレージに役立ちます。
手順
デバイスの WWID を検索します。
multipathd show paths raw format "%d %w" | grep sdb sdb 3600508b4001080520001e00011700000
# 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 Multipath 設定ファイル内の行を示しています。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
5.4. デバイス名によるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf ファイル内で /dev/sda などのデバイス名を使用して、特定のデバイスのマルチパスを無効にします。これにより、ローカルディスク、USB デバイス、またはその他のストレージが 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
5.5. デバイスの種別によるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf の devices セクションでベンダーと製品の情報を指定することで、デバイスのカテゴリー全体をマルチパスから除外します。これにより、特定のモデルまたはベンダーのデバイスが DM Multipath によってグループ化されなくなり、個別のブロックデバイスとして保持されます。
手順
表示デバイスの種類:
multipathd show paths raw format "%d %s" | grep sdb sdb HP,HSV210
# 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
5.6. udev プロパティーによるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf ファイル内の 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
5.7. デバイスプロトコルによるマルチパスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf 内のデバイスプロトコル設定を使用して、トランスポートプロトコルに基づいてデバイスをマルチパスから除外します。これは、ローカルプロトコルや、マルチパスフレームワーク外で管理するほうが適している特定のプロトコルにおいて、マルチパス化を防ぐのに役立ちます。
オプション: パスが使用するプロトコルを表示します。
multipathd show paths raw format "%d %P" | grep sdb sdb scsi:fcp
# 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
5.8. マルチパスを無効にしたデバイスに対する例外の追加 リンクのコピーリンクがクリップボードにコピーされました!
multipath.conf に例外を追加して、特定のデバイスのマルチパスを再度有効にします。これは、範囲の広い除外ルールを適用しているが、特定のデバイスではマルチパスが必要な場合に役立ちます。これにより、DM Multipath よって管理するデバイスを正確に制御できます。
前提条件
- 特定のデバイスでマルチパスが無効になっている。
手順
/etc/multipath.conf設定ファイルのblacklist_exceptionsセクションを使用して、デバイスでマルチパスを有効にします。設定ファイルの
blacklist_exceptionsセクションでデバイスを指定する場合は、blacklistセクションで指定したのと同じ基準を使用して例外を指定する必要があります。たとえば、無効にしたデバイスがその WWID に関連付けられている場合でも、WWID 例外はdevnodeエントリーで無効になっているデバイスには適用されません。同様に、devnode例外はdevnodeエントリーにしか適用されず、device例外はデバイスエントリーにしか適用されません。以下に、マルチパスを無効にしたデバイスに対して例外を追加する例を示します。
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 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
第6章 マルチパス化されたボリュームの管理 リンクのコピーリンクがクリップボードにコピーされました!
multipath、dmsetup、および multipathd コマンドを使用すると、マルチパスボリュームを管理できます。これらのコマンドは、デバイスのサイズ変更、ファイルシステムの移動、multipathd デーモンの管理を行うために、DM Multipath によって提供されています。
6.1. オンラインのマルチパスデバイスのサイズ変更 リンクのコピーリンクがクリップボードにコピーされました!
オンラインのマルチパスデバイスとそのファイルシステムのサイズを変更するには、multipathd および 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
6.2. ルートファイルシステムをシングルパスデバイスからマルチパスデバイスに移動する リンクのコピーリンクがクリップボードにコピーされました!
重要なシステムデータのパスの冗長性を確保するために、ルートファイルシステムをシングルパスデバイスからマルチパス構成に移動します。これにより、1 つのストレージパスに障害が発生した場合でも、システムの起動と動作が可能になり、信頼性と全体的な可用性が向上します。
前提条件
-
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 wwid '3600d02300069c9ce09d41c4ac9c53200' added
# multipath -a /dev/sdb wwid '3600d02300069c9ce09d41c4ac9c53200' addedCopy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/sdb は、ルートデバイス名に置き換えます。
設定ファイルが正しく設定されていることを確認します。
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 running
# 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 mpatha (3600d02300069c9ce09d41c4ac9c53200) dm-0 3PARdata,VV
# multipath -l | grep 3600d02300069c9ce09d41c4ac9c53200 mpatha (3600d02300069c9ce09d41c4ac9c53200) dm-0 3PARdata,VVCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. スワップファイルシステムをシングルパスデバイスからマルチパスデバイスに移動する リンクのコピーリンクがクリップボードにコピーされました!
冗長性を確保し、パフォーマンスの問題を防ぐために、スワップファイルシステムをシングルパスストレージからマルチパスストレージに移動します。スワップが LVM を使用している場合、特別な手順は必要ありません。一方、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 wwid '3600d02300069c9ce09d41c4ac9c53200' added
# multipath -a /dev/sdb wwid '3600d02300069c9ce09d41c4ac9c53200' addedCopy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/sdb は、スワップデバイス名に置き換えます。
設定ファイルが正しく設定されていることを確認します。
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 running
# 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 Filename Type Size Used Priority /dev/dm-3 partition 4169724 0 -2
# 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 /dev/dm-3
# readlink -f /dev/mapper/swapdev /dev/dm-3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. マルチパスデバイスのデバイスマッパーエントリーの特定 リンクのコピーリンクがクリップボードにコピーされました!
設定されているマルチパスデバイスのデバイスマッパーエントリーを特定するには、multipathd コマンドを使用します。これにより、マルチパスデバイス名と、その基礎となるデバイスマッパーエントリーを紐付けることができます。これは、監視、トラブルシューティング、およびシステム管理タスクにおける正確なデバイス識別に役立ちます。
手順
すべてのデバイスマッパーデバイスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.5. multipathd デーモンの管理 リンクのコピーリンクがクリップボードにコピーされました!
multipathd デーモンを管理および操作するには、このデーモンのコマンドを使用します。multipathd の管理は、サービスやシステムを再起動することなく、パスの状態を監視し、デバイス情報を確認し、マルチパスの動作をリアルタイムで制御するうえで不可欠です。
手順
multipathd show mapsコマンドの出力のデフォルトフォーマットを表示します。multipathd show maps name sysfs uuid mpathc dm-0 360a98000324669436c2b45666c567942
# 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" name uuid sysfs vend/prod/rev mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUN
# 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" target WWNN uuid dev vend/prod/rev 0x50001fe1500d2250 3600508b4001080520001e00011700000 sdb HP,HSV210
# 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" mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUN
# multipathd show maps raw format "%n %w %d %s" mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUNCopy to Clipboard Copied! Toggle word wrap Toggle overflow raw 形式ではヘッダーは出力されず、フィールドがパッディングされていないため、列とヘッダーが調整されていません。このため、出力はスクリプトで使いやすくなります。
第7章 ストレージデバイスの削除 リンクのコピーリンクがクリップボードにコピーされました!
実行中のシステムからストレージデバイスを安全に削除することで、システムメモリーのオーバーロードやデータ損失を防ぐことができます。
次のシステムではストレージデバイスを削除しないでください。
- 空きメモリーが合計メモリーの 5 % 未満 (サンプル 100 件の内 10 件以上)。
-
スワップが有効になっている (
vmstatコマンドの出力でsiとsoのコラムが 0 以外の値)。
7.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
I/O フラッシュ中にシステムメモリーの負荷が増加するため、ストレージデバイスを削除する前に、システムメモリーが十分にあることを確認する。システムの現在のメモリー負荷と空きメモリーを表示するには、次のコマンドを使用します。
vmstat 1 100 free
# vmstat 1 100 # freeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2. ストレージデバイスの安全な削除 リンクのコピーリンクがクリップボードにコピーされました!
稼働中のシステムからストレージデバイスを安全に取り外すには、上から下へのアプローチが必要です。アプリケーションやファイルシステムなどの最上位層から始め、物理デバイスなどの最下位層に向かって作業を進めます。
ストレージデバイスは複数の方法で使用でき、物理デバイスの上層に別の仮想設定を指定できます。例えば、デバイスの複数のインスタンスをマルチパスデバイスにグループ化したり、RAID の一部にしたり、LVM グループの一部にしたりすることが可能です。また、デバイスにはファイルシステム経由でアクセスすることも、"raw" デバイスのように直接アクセスすることもできます。
上から下へのアプローチを用いながら、次のことを確認する必要があります。
- 削除したいデバイスが使用中でないこと
- デバイスへの保留中の I/O がすべてフラッシュされる
- オペレーティングシステムがストレージデバイスを参照していない
7.3. ブロックデバイスと関連メタデータの削除 リンクのコピーリンクがクリップボードにコピーされました!
実行中のシステムからブロックデバイスを安全に削除し、メモリーの過負荷やデータの損失を回避するには、まずそのメタデータを削除します。システムの安定性と整合性を維持するために、ファイルシステムからディスクまで、各レイヤーを 1 つずつ処理してください。
前提条件
- ファイルシステム、論理ボリューム、およびボリュームグループを含む既存のブロックデバイススタックがある。
- 削除するデバイスを他のアプリケーションやサービスが使用していないことを確認した。
- 削除するデバイスからデータをバックアップした。
オプション: マルチパスデバイスを削除する必要があり、そのパスデバイスにアクセスできない場合は、次のコマンドを実行してマルチパスデバイスのキューイングを無効にしておく。
multipathd disablequeueing map multipath-device
# multipathd disablequeueing map multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 無効にすることで、デバイスの I/O が失敗し、デバイスを使用しているアプリケーションがシャットダウンできるようになります。
メタデータを含むデバイスを一度に 1 レイヤーずつ削除することで、ディスクに古い署名が残らないようにします。
削除するデバイスの種類に応じて、特定のコマンドを使用します。
-
LVM の場合は、
lvremove、vgremove、pvremoveを実行します。 -
ソフトウェア RAID の場合、
mdadmを実行してアレイを削除します。詳細は、RAID の管理 を参照してください。 - LUKS を使用して暗号化されたブロックデバイスの場合、特定の追加手順があります。次の手順は、LUKS を使用して暗号化されたブロックデバイスでは機能しません。詳細は、LUKS を使用したブロックデバイスの暗号化 を参照してください。
SCSI バスを再びスキャンしたり、ここで説明されている手順に従わずにオペレーティングシステムを変更する別のアクションを実行すると、I/O タイムアウトが原因で遅延が発生したり、デバイスやデータが予期せず削除されたりする可能性があります。
手順
ファイルシステムをアンマウントします。
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
第8章 DM Multipath のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マルチパス設定の問題をトラブルシューティングするには、デーモンのステータスと queue_if_no_path 機能の問題を確認し、multipathd 対話型コンソールを使用して診断します。
マルチパス設定の反応が遅かったり、機能しない場合は、以下の問題が原因として考えられます。
- マルチパスデーモンが実行していない
-
マルチパス設定の実装に問題がある場合は、DM Multipath の設定 の説明に従って、
multipathdデーモンが実行されていることを確認してください。マルチパスが設定されているデバイスを使用するには、multipathdデーモンを実行しておく必要があります。 queue_if_no_path機能に関する問題-
マルチパスデバイスが
features "1 queue_if_no_path"オプションで設定されている場合は、1 つ以上のパスが復元されるまで、I/O を発行するすべてのプロセスがハングアップします。
8.1. queue_if_no_path 機能に関する問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
queue_if_no_path による I/O のハングを解決するには、すべてのパスが失敗した場合の再試行を制限するために、/etc/multipath.conf で no_path_retry N を設定します。また、パスの停止中にアプリケーションがハングするのを防ぐために、特定の 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
8.2. multipathd 対話型コンソールでのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
multipathd -k 対話型コンソールを使用して、マルチパスの問題をリアルタイムでトラブルシューティングします。このコンソールでは、ステータス情報、設定の詳細、制御コマンドにアクセスできます。コマンドを確認するには、help を入力します。サービスを停止させずにコンソールを終了するには、Ctrl+D を押します。
手順
コンソールを終了する前に、デフォルト値を含むマルチパス設定を表示します。
multipathd -k multipathd> show config multipathd> Ctrl+D
# multipathd -k multipathd> show config multipathd> Ctrl+DCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチパスが
multipath.confファイルへの変更をすべて反映するようにします。multipathd -k multipathd> reconfigure multipathd> Ctrl+D
# multipathd -k multipathd> reconfigure multipathd> Ctrl+DCopy to Clipboard Copied! Toggle word wrap Toggle overflow パスチェッカーが正常に動作していることを確認します。
multipathd -k multipathd> show paths multipathd> Ctrl+D
# 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
第9章 eh_deadline を使用したストレージエラーからの回復における最大時間の設定 リンクのコピーリンクがクリップボードにコピーされました!
障害が発生した SCSI デバイスを復旧するのに許容できる最大時間を設定できます。この設定は、ストレージハードウェアが不具合により応答しなくなっても、I/O 応答時間を保証します。
9.1. eh_deadline パラメーター リンクのコピーリンクがクリップボードにコピーされました!
eh_deadline パラメーターは、SCSI エラー回復操作の最大時間制限を設定します。この時間を過ぎると、無期限のハングを防ぐために、システムがホストバスアダプター全体をリセットします。
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 が利用できなくなっているリンクを登録しない場合
9.2. eh_deadline パラメーターの設定 リンクのコピーリンクがクリップボードにコピーされました!
SCSI エラー回復に許可される最大時間を制限するには、eh_deadline パラメーターを設定します。これにより、I/O 応答時間が予測可能なものになり、無期限のハングが防止されます。その結果、アプリケーションが、定義されたタイムアウト制限に基づいて、応答しないストレージを処理できるようになります。
手順
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を使用します。