目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Linux Enterprise Serverマニュアル / ストレージ管理ガイド / ネットワークストレージ / デバイスのマルチパスI/Oの管理
適用項目 SUSE Linux Enterprise Server 15 SP5

18 デバイスのマルチパスI/Oの管理

本項では、マルチパスI/O (MPIO)を使用して、サーバ/ブロックストレージデバイス間のマルチパスのフェールオーバーおよびパスの負荷分散を管理する方法について説明します。

18.1 マルチパスI/Oの理解

マルチパス処理とは、サーバのホストバスアダプタおよびデバイスのストレージコントローラ間で、複数の物理パスをまたいで、同じ物理または論理ブロックストレージデバイスと通信するサーバの機能です。これは、通常、FC (Fibre Channel)環境またはiSCSI SAN環境で行われます。

Linuxマルチ処理は、接続に耐障害性を与え、アクティブな接続全体.に負荷を分散します。マルチパス処理が設定および実行されていると、自動的に、デバイス接続の障害が特定され、I/Oが代替の接続に再経路指定されます。

マルチパス処理は、接続の障害に対して耐障害性を提供しますが、ストレージデバイス自体の障害に対する耐障害性は提供しません。後者は、ミラーリングのような補完テクニックによって提供されます。

18.1.1 マルチパスの用語

ストレージアレイ

SANストレージをクライアントに提供する多数のディスクおよび複数のファブリック接続(コントローラ)を備えたハードウェアデバイス。通常、ストレージアレイはRAIDおよびフェールオーバー機能を備えていて、マルチパス処理をサポートしています。これまでは、アクティブ/パッシブ(フェールオーバー)ストレージアレイおよびアクティブ/アクティブ(ロードバランシング)ストレージアレイは区別されていました。このような概念は依然として存在していますが、最新ハードウェアによってサポートされるパスグループおよびアクセス状態の特殊な概念に過ぎません。

ホスト、ホストシステム

ストレージアレイのクライアントシステムとして動作するSUSE Linux Enterprise Serverを実行しているコンピュータ。

マルチパスマップ、マルチパスデバイス

一連のパスデバイスです。これは、ストレージアレイのストレージボリュームを表し、ホストシステムからは単一のブロックデバイスとして見なされます。

パスデバイス

マルチパスマップのメンバー(通常はSCSIデバイス)です。ホストコンピュータと実際のストレージボリューム(iSCSIセッションの論理ユニットなど)との間における一意の接続を各パスデバイスが表します。

WWID

「World Wide Identifier」です。multipath-toolsではWWIDを使用して、マルチパスマップにアセンブルする必要がある低レベルデバイスを判断します。WWIDは、設定可能なマップ名と区別する必要があります(18.12項 「マルチパスデバイス名およびWWID」を参照)。

uevent、udevイベント

カーネルによってユーザスペースに送信されてudevサブシステムによって処理されるイベント。デバイスの追加や削除、またはプロパティの変更を行うと、ueventが生成されます。

デバイスマッパー

仮想ブロックデバイスを作成するためのLinuxカーネルのフレームワークです。マップデバイスに対するI/O操作は基礎となるブロックデバイスにリダイレクトされます。デバイスマッピングはスタックされる場合があります。デバイスマッパーでは独自のイベントシグナル処理を実装します。これは「デバイスマッパーイベント」または「dmイベント」とも呼ばれます。

initramfs

初期RAMファイルシステムは、これまでの経緯もあって、「初期RAMディスク」(initrd)とも呼ばれます(16.1項 「用語集」を参照)。

ALUA

「Asymmetric Logical Unit Access」です。これはSCSI標準のSCSI-3で導入された概念です。ストレージボリュームには、さまざまな状態(アクティブ、スタンバイなど)でポートグループに編成されている複数のポートからアクセスできます。ALUAは、SCSIコマンドを定義してポートグループおよびその状態をクエリし、ポートグループの状態を変更します。SCSIをサポートする最新のストレージアレイは通常ALUAもサポートします。

18.2 ハードウェアサポート

SUSE Linux Enterprise Serverがサポートしているすべてのアーキテクチャで、マルチパス処理のドライバおよびツールが使用できます。プロトコルを区別しない汎用ドライバは、市販のほとんどのマルチパス対応ストレージハードウェアで動作します。一部のストレージアレイベンダは、独自のマルチパス処理管理ツールを提供しています。ベンダのハードウェアマニュアルを参照して、どのような設定が必要か判別してください。

18.2.1 マルチパス実装: デバイスマッパーとNVMe

Linuxにおけるマルチパス処理で従来の一般的な実装では、デバイスマッパーフレームワークを使用します。SCSIデバイスなどのほとんどのデバイスタイプでは、デバイスマッパーのマルチパス処理が唯一使用可能な実装です。デバイスマッパーのマルチパスは高度に設定可能であり、柔軟です。

Linux NVM Express (NVMe)カーネルサブシステムでは、カーネルでマルチパス処理をネイティブに実装します。通常高速で遅延が非常に小さいNVMeデバイスの演算オーバーヘッドが、この実装で軽減されています。ネイティブNVMeマルチパス処理ではユーザスペースコンポーネントは不要です。SLE 15以降、ネイティブマルチパス処理がNVMeマルチパスデバイスのデフォルトになっています。詳細については、17.2.4項 「マルチパス処理」を参照してください。

この章では、デバイスマッパーのマルチパスおよびそのユーザスペースコンポーネント(multipath-tools)について説明します。multipath-toolsは、ネイティブのNVMeマルチパス処理も限定的にサポートしています(18.13項 「その他のオプション」を参照)。

18.2.2 マルチパス処理のストレージアレイ自動検出

デバイスマッパーのマルチパスは一般的な技術です。マルチパスデバイスの検出で必要なことは、低レベルデバイス(SCSIなど)がカーネルによって検出されることと、デバイスのプロパティが複数の低レベルデバイスを(実際に異なるデバイスではなく)同じボリュームへの異なる「パス」として安定的に特定することのみです。

multipath-toolsパッケージはベンダおよび製品名でストレージアレイを検出します。これには、広範なストレージ製品に対してデフォルト設定が組み込まれています。ご使用のストレージアレイのハードウェアドキュメントを参照してください。Linuxのマルチパス処理設定に対して独自の推奨事項を提示しているベンダもあります。

使用しているストレージアレイの組み込み設定に変更を適用する必要がある場合、18.8項 「マルチパス設定」を参照してください。

重要
重要: 組み込みのハードウェアプロパティに関する免責条項

multipath-toolsには、多くのストレージアレイ用の事前設定が組み込まれています。あるストレージ製品用にこのような事前設定が存在することは、そのストレージ製品のベンダがdm-multipathで製品をテストしたことを意味しませんし、ベンダがその製品でdm-multipathの使用に関して保証やサポートを行うことも「意味しません」。サポート関連の質問については、ベンダのドキュメントを必ず参照してください。

18.2.3 特定のハードウェアハンドラを必要とするストレージアレイ

あるパスから別のパスにフェールオーバーするための特殊なコマンドや標準と異なるエラー処理方法が必要なストレージアレイもあります。これらの特殊なコマンドや処理方法は、Linuxカーネルのハードウェアハンドラによって実装されています。最新のSCSIストレージアレイは、SCSI標準で定義されている「Asymmetric Logical Unit Access」(ALUA)ハードウェアハンドラをサポートしています。ALUAに加えて、SLEカーネルにはNetapp E-Series (RDAC)、Dell/EMC CLARiiON CXアレイファミリ、およびHPのレガシアレイのハードウェアハンドラが含まれています。

Linuxカーネル4.4以降では、ほとんどのアレイ(ALUAをサポートするすべてのアレイを含む)のハードウェアハンドラをLinuxカーネルで自動検出します。要件は、それぞれのデバイスが検出されるときにデバイスハンドラモジュールがロードされることだけです。この要件は、multipath-toolsパッケージが適切な設定ファイルをインストールすることによって実現します。デバイスハンドラは、特定のデバイスにアタッチされると、変更できなくなります。

18.3 マルチパス処理のプラニング

マルチパスI/Oソリューションのプラニング時には、本項のガイドラインに従ってください。

18.3.1 前提条件

  • マルチパス処理対象のデバイスに使用するストレージアレイで、マルチパス処理がサポートされている必要があります。詳細については、18.2項 「ハードウェアサポート」を参照してください。

  • サーバのホストバスアダプタおよびブロックストレージデバイスのバスコントローラ間に複数の物理パスが存在している場合のみ、マルチパス処理を設定する必要があります。

  • 一部のストレージアレイについては、アレイの物理および論理デバイスのマルチパス処理を管理するための独自のマルチパス処理ソフトウェアがベンダから提供されます。この場合は、ベンダの指示に従って、それらのデバイスのマルチ処理を設定してください。

  • 仮想化環境でマルチパス処理を使用する場合、マルチパス処理は、ホストサーバ環境で制御されます。デバイスのマルチパス処理を設定してから、デバイスを仮想ゲストマシンに割り当ててください。

18.3.2 マルチパスのインストールタイプ

インストールタイプは、ルートデバイスを処理する方法で区別されます。18.4項 「マルチパスシステムでのSUSE Linux Enterprise Serverのインストール」では、インストール中またはインストール後にさまざまな設定が作成される方法について説明しています。

18.3.2.1 マルチパスのルートファイルシステム(SANブート)

ルートファイルシステムはマルチパスデバイス上にあります。これは通常、ディスクのないサーバでSANストレージのみを使用する場合です。このようなシステムでは、起動時にマルチパスのサポートが必須で、マルチパス処理をinitramfsで有効にする必要があります。

18.3.2.2 ローカルディスクのルートファイルシステム

ルートファイルシステム(および場合によってはその他のファイルシステム)はローカルストレージ(直接アタッチされているSATAディスク、ローカルRAIDなど)にありますが、このシステムはマルチパスのSANストレージのファイルシステムを追加で使用します。このシステムタイプは次の3つの方法で設定できます。

ローカルディスク用のマルチパスセットアップ

すべてのブロックデバイスはローカルディスクを含むマルチパスマップの一部です。ルートデバイスは、パスが1つしかないディグレードマルチパスマップとして表示されます。YaSTによる初期システムインストール中にマルチパス処理が有効になると、この設定が作成されます。

ローカルディスクをマルチパスから除外する

この設定では、マルチパス処理はinitramfsで有効になっていますが、ルートデバイスはマルチパスから明示的に除外されます(18.11.1項 「multipath.confblacklistセクション」を参照)。手順18.1「インストール後にルートディスクのマルチパス処理を無効にする」では、この設定のセットアップ方法を説明しています。

initramfsでマルチパスを無効にする

YaSTによる初期システムインストール中にマルチパス処理が有効になっていないと、このセットアップが作成されます。この設定はかなり脆弱です。代わりに、他のオプションのいずれかを使用することを検討してください。

18.3.3 ディスク管理タスク

サードパーティのSANアレイ管理ツールまたはご使用のストレージアレイのユーザインタフェースを使用して、論理デバイスを作成し、それらをホストに割り当てます。両側でホストの資格情報を正しく設定してください。

実行中のホストでボリュームの追加や削除ができますが、変更を検出するには、SCSIターゲットを再スキャンし、ホストでマルチパス処理を再設定する必要がある場合があります。18.14.6項 「新規デバイスのスキャン(再起動なし)」を参照してください。

注記
注記: ストレージプロセッサ

一部のディスクアレイでは、ストレージアレイがストレージプロセッサを使用してトラフィックを管理します。1つのプロセッサがアクティブとなり、もう1つのプロセッサは障害が発生するまでパッシブとなります。パッシブストレージプロセッサに接続している場合、目的のLUNが表示されないか、表示はされるがアクセスしようとするとI/Oエラーが発生する場合があります。

ディスクアレイに複数のストレージプロセッサがある場合は、アクセスしたいLUNを所有するアクティブなストレージプロセッサにSANスイッチが接続していることを必ず確認してください。

18.3.4 ソフトウェアRAIDと複雑なストレージスタック

マルチパス処理は、SCSIデバイスなどの基本的なストレージデバイスの上にセットアップされます。マルチレイヤのストレージスタックでは、マルチパス処理は常に最下位レイヤです。ソフトウェアRAID、論理ボリューム管理、ブロックデバイスの暗号化などのその他のレイヤは、マルチパス処理の上に重ねられます。したがって、複数のI/Oパスを持ち、ソフトウェアRAIDで使用予定の各デバイスは、まず、マルチパス処理用に設定してから、ソフトウェアRAIDデバイスとして作成する必要があります。

18.3.5 高可用性ソリューション

ストレージリソースのクラスタリング用の高可用性ソリューションは、各ノード上でマルチパス処理サービスをベースとして実行されます。各ノード上の/etc/multipath.confファイル内の構成設定が、クラスタ全体で同一であるようにしてください。

マルチパスデバイスがすべてのデバイス間で同じ名前であるようにしてください。詳細については、18.12項 「マルチパスデバイス名およびWWID」を参照してください。

LAN上のデバイスをミラーリングするDRBD (Distributed Replicated Block Device)高可用性ソリューションは、マルチパス処理をベースとして実行されます。複数のI/Oパスを持ち、DRDBソリューションで使用予定のデバイスごとに、マルチパス処理用デバイスを設定してから、DRBDを設定する必要があります。

pacemakersbdなどフェンシングに共有ストレージを使用するクラスタリングソフトウェアと共にマルチパス処理を使用する場合、特別な注意が必要です。詳細については18.9.2項 「クラスタ化されたサーバでのキューポリシー」を参照してください。

18.4 マルチパスシステムでのSUSE Linux Enterprise Serverのインストール

マルチパスハードウェアを含むシステムでSUSE Linux Enterprise Serverをインストールするために必要な特別なインストールパラメータはありません。

18.4.1 接続されているマルチパスデバイスを使用しないインストール

後でマルチパスSANデバイスをシステムに追加することを目的として、最初にFabricとストレージを設定せずにローカルディスクでインストールを実行したい場合があります。この場合、インストールは、非マルチパスシステム上でのインストールのように続行します。インストール後、multipath-toolsがインストールされますが、systemdサービス(multipathd.service)は無効になります。システムは、18.3.2.2項 「ローカルディスクのルートファイルシステム」initramfsでマルチパスを無効にするで説明しているように設定されます。SANハードウェアを追加する前に、multipathd.serviceを有効にして起動する必要があります。ルートデバイス用に/etc/multipath.confblacklistエントリを作成することをお勧めします(18.11.1項 「multipath.confblacklistセクション」を参照)。

18.4.2 接続されているマルチパスデバイスによるインストール

インストール時にマルチパスデバイスがシステムに接続されている場合、YaSTは、そのデバイスを検出し、パーティショニングステージに入る前にマルチパスを有効にするかどうかを尋ねるポップアップウィンドウを表示します。

YaST multipath dialog

このプロンプトで「いいえ」を選択すると(非推奨)、インストールは18.4.1項 「接続されているマルチパスデバイスを使用しないインストール」のように続行します。パーティショニングステージでは、後でマルチパスマップの一部になるデバイスを使用/編集しないでください。

マルチパスのプロンプトで「はい」を選択すると、インストール中にmultipathdが実行されます。/etc/multipath.confblacklistセクションにはデバイスは追加されないため、パーティショニングのダイアログではすべてのSCSIデバイスおよびDASDデバイス(ローカルディスクを含む)がマルチパスデバイスとして表示されます。インストール後、18.3.2.1項 「マルチパスのルートファイルシステム(SANブート)」で説明しているように、すべてのSCSIデバイスおよびDASDデバイスがマルチパスデバイスになります。

手順 18.1: インストール後にルートディスクのマルチパス処理を無効にする

この手順では、ローカルディスクにインストールし、インストール中にマルチパス処理を有効にしたことを想定しているため、ルートデバイスはマルチパス上にありますが、18.3.2.2項 「ローカルディスクのルートファイルシステム」ローカルディスクをマルチパスから除外するで説明しているようにシステムをセットアップしたいと考えています。

  1. システムを調べてローカルルートデバイスへの/dev/mapper/...参照を探し、これを、デバイスがマルチパスマップでない場合にも動作している参照に置き換えます(18.12.4項 「マルチパスマップの参照」を参照)。次のコマンドを実行しても参照が見つからない場合、変更を適用する必要はありません。

    > sudo grep -rl /dev/mapper/ /etc
  2. dracutby-uuid永続デバイスポリシーに切り替えます(18.7.4.2項 「initramfsの永続的なデバイス名」を参照)。

    > echo 'persistent_policy="by-uuid"' | \
          sudo tee /etc/dracut.conf.d/10-persistent-policy.conf
  3. ルートデバイスのWWIDを決定します。

    > multipathd show paths format "%i %d %w %s"
    0:2:0:0 sda 3600605b009e7ed501f0e45370aaeb77f IBM,ServeRAID M5210
    ...

    このコマンドを実行すると、すべてのパスデバイス、そのWWIDおよびベンダ/製品の情報が出力されます。ルートデバイス(ここではServeRAIDデバイス)を識別できるようになります。WWIDをメモします。

  4. 決定したWWIDを使用して/etc/multipath.conf (18.11.1項 「multipath.confblacklistセクション」を参照)にブラックリストエントリを作成します(まだこれらの設定を適用しないでください)。

    blacklist {
        wwid 3600605b009e7ed501f0e45370aaeb77f
    }
  5. initramfsを再構築します。

    > sudo dracut -f
  6. 再起動します。非マルチパスルートディスクを使用してシステムが起動します。

18.5 マルチパスシステムでのSLEの更新

システムをオンラインで更新する場合、第5章 「オンラインでのアップグレードの説明に従って続行できます。

システムのオフライン更新は、18.4項 「マルチパスシステムでのSUSE Linux Enterprise Serverのインストール」で説明されている新規インストールと似ています。blacklistがないため、ユーザがマルチパスを有効にすると、ルートデバイスがマルチパスデバイスとして表示されます(これがマルチパスデバイスでない場合も同様)。更新手順中にdracutがinitramfsを構築するとき、ブートシステムに表示されるストレージスタックとは異なるストレージスタックが表示されます。18.7.4.2項 「initramfsの永続的なデバイス名」および18.12.4項 「マルチパスマップの参照」を参照してください。

18.6 マルチパス管理ツール

SUSE Linux Enterprise Serverのマルチパス処理のサポートは、Linuxカーネルのデバイスマッパーマルチパスモジュールとmultipath-toolsユーザスペースパッケージに基づいています。

一般的なマルチパス処理機能は、デバイスマッパーのマルチパス(DM-MP)モジュールによって処理されます。詳細については、18.6.1項 「デバイスマッパーマルチパスモジュール」を参照してください。

パッケージmultipath-toolsおよびkpartxでは、自動パス検出とグループ化を扱うツールが提供されています。ツールを次に示します。

multipathd

マルチパスマップをセットアップして監視するデーモン、およびデーモンプロセスと通信するコマンドラインクライアント。18.6.2項 「multipathdデーモン」を参照してください。

multipath

マルチパス操作用のコマンドラインツール。18.6.3項 「multipathコマンド」を参照してください。

kpartx

マルチパスデバイスの「パーティション」を管理するためのコマンドラインツール。18.7.3項 「マルチパスデバイスのパーティションおよびkpartxを参照してください。

mpathpersist

SCSIの永続的な予約を管理するためのコマンドラインツール。18.6.4項 「SCSIの永続的な予約およびmpathpersistを参照してください。

18.6.1 デバイスマッパーマルチパスモジュール

デバイスマッパーマルチパス(DM-MP)モジュール(dm-multipath.ko)は、Linuxに一般的なマルチパス処理機能を提供します。DM-MPIOは、SCSIデバイスおよびDASDデバイスに対してSUSE Linux Enterprise Serverでマルチパス処理を行う際に推奨されるソリューションであり、NVMeデバイスにも使用できます。

注記
注記: NVMeデバイスに対してDM-MPを使用する

SUSE Linux Enterprise Server 15以降、ネイティブNVMeマルチパス処理(18.2.1項 「マルチパス実装: デバイスマッパーとNVMe」を参照)がNVMeに対して推奨されており、デフォルトで使用されます。ネイティブのNVMeマルチパス処理を無効にして、デバイスマッパーマルチパスで代用するには(非推奨)、カーネルパラメータのnvme-core.multipath=0を指定してブートします。

デバイスマッパーマルチパスモジュールは次のタスクを処理します。

  • アクティブパスグループ内の複数のパスに負荷を分散する。

  • パスデバイスのI/Oエラーを通知し、これらを障害とマークし、I/Oがこれらに送信されないようにする。

  • アクティブパスグループのすべてのパスで障害が発生したときにパスグループを切り替える。

  • すべてのパスで障害が発生した場合、設定に応じてマルチパスデバイスのI/Oを失敗させるまたはI/Oをキューに入れる。

次のタスクは、デバイスマッパーのマルチパスモジュールではなく、multipath-toolsパッケージのユーザスペースコンポーネントによって処理されます。

  • 同じストレージデバイスへのさまざまなパスを表すデバイスを検出し、それらからマルチパスマップをアセンブルする。

  • 似ているプロパティを持つパスデバイスをパスグループに収集する。

  • パスデバイスをアクティブに監視して、障害または再インスタンス化を探す。

  • パスデバイスの追加と削除を監視する。

  • デバイスマッパーマルチパスモジュールは、セットアップおよび環境設定のために簡単に使用できるユーザインタフェースを提供しません。

multipath-toolsパッケージのコンポーネントの詳細については、18.6.2項 「multipathdデーモン」を参照してください。

注記
注記: マルチパスが防ぐ障害

DM-MPIOは、デバイス自体の障害(メディアエラーなど)ではなく、デバイスへのパスの障害からシステムを保護します。デバイス自体の障害は、レプリケーションなど別の方法で防ぐ必要があります。

18.6.2 multipathdデーモン

multipathdは、最新Linuxデバイスマッパーのマルチパスにおけるセットアップの最重要部分です。これは通常、systemdサービスmultipathd.serviceを通じて開始されます(18.7.1項 「マルチパスサービスの有効化、起動、および停止」を参照)。

multipathdは次のタスクを実行します(設定によって異なるものもあります)。

  • 起動時、パスデバイスを検出し、検出したデバイスからマルチパスマップをセットアップします。

  • ueventおよびデバイスマッパーイベントを監視し、必要に応じてマルチパスマップでパスマッピングの追加や削除を行い、フェールオーバー操作またはフェールバック操作を開始します。

  • 新しいパスデバイスが検出されるとすぐに新しいマップをセットアップします。

  • 一定の間隔でパスデバイスをチェックして障害を検出し、障害が発生したパスをテストして正常に戻った場合には復帰させます。

  • すべてのパスで障害が発生した場合、multipathdはそのマップを無効にするか、またはマップデバイスを指定時間でキュー待ちモードに切り替えます。

  • パス状態の変更を処理し、必要に応じてパスグループの切り替えまたはパスの再グループ化を行います。

  • パスをテストし、「ぎりぎりの」状態(つまり、パスの状態が正常と異常の間で切り替わる不安定な状態)かどうかを確認します。

  • 設定されている場合、パスデバイスでSCSIの永続的な予約キーを処理します。18.6.4項 「SCSIの永続的な予約およびmpathpersistを参照してください。

multipathdでは、コマンドラインのクライアントとしても動作し、インタラクティブコマンドを実行デーモンに送信することでコマンドを処理します。デーモンにコマンドを送信する一般的な構文は次のとおりです。

> sudo multipathd COMMAND

あるいは、

> sudo multipathd -k'COMMAND'

複数の後続のコマンドを送信できる対話的モードもあります。

> sudo multipathd -k
注記
注記: multipathとmultipathdを同時動作させる方法

多くのmultipathdのコマンドには、multipathの同等コマンドがあります。たとえば、multipathd show topologyの動作はmultipath -llの動作と同じです。重要な差異は、multipathdのコマンドでは実行中のmultipathdデーモンの内部状態を問い合わせるのに対して、multipathではカーネルおよびI/O操作から情報を直接取得することです。

マルチパスデーモンが実行中である場合、multipathdコマンドを使用してシステムを変更することをお勧めします。このようにしないと、デーモンが設定変更に気付き、変更に反応する場合があります。場合によっては、適用された変更をデーモンで元に戻そうとします。multipathは、実行中のデーモンが検出されると、マップの破棄やフラッシュなど危険性のあるコマンドをmultipathdに自動的に委任します。

下記のリストでは、使用頻度が高いmultipathdコマンドについて説明します。

show topology

現在のマップトポロジおよびプロパティを表示します。18.14.2項 「マルチパスI/Oステータスの解釈」を参照してください。

show paths

現在既知のパスデバイスを表示します。

show paths format "FORMAT STRING"

フォーマット文字列を使用して現在既知のパスデバイスを表示します。サポートされているフォーマット指定子のリストを表示するには、show wildcardsを使用します。

show maps

現在設定されているマップデバイスを表示します。

show maps format FORMAT STRING

フォーマット文字列を使用して、現在設定されているマップデバイスを表示します。サポートされているフォーマット指定子のリストを表示するには、show wildcardsを使用します。

show config local

multipathdが使用している現在の設定を表示します。

reconfigure

設定ファイルを再読み込みし、デバイスを再スキャンし、マップを再度セットアップします。これはmultipathdの再起動と基本的に同じです。いくつかのオプションは再起動しないと変更できません。これらについてはマニュアルページのmultipath.conf(5)で説明します。reconfigureコマンドを実行すると、何らかの方法で変更されたマップデバイスのみが再ロードされます。すべてのマップデバイスの再ロードを強制実行するには、reconfigure allを使用します(SUSE Linux Enterprise Server 15 SP4以降で使用できます。以前のバージョンではreconfigureを使用してすべてのマップを再ロードしていました)。

del map MAP DEVICE NAME

指定のマップデバイスおよびそのパーティションを設定解除して削除します。MAP DEVICE NAMEには、dm-0などのデバイスノード名、WWID、またはマップ名を使用できます。このコマンドは、デバイスを使用中には失敗します。

switchgroup map MAP DEVICE NAME group N

指定の数値インデックスを持つパスグループに切り替えます(先頭は1)。これは、手動フェールバックを使用するマップに対して有用です(18.9項 「フェールオーバー、待ち行列、およびフェールバック用のポリシーの設定」を参照)。

パスの状態の変更、キューの有効化または無効化などを実行できるコマンドもあります。詳細についてはmultipathd(8)を参照してください。

18.6.3 multipathコマンド

マルチパスのセットアップはほぼ自動でmultipathdによって処理されますが、multipathも依然として一部の管理タスクで有用です。このコマンドの使用例を次に示します。

multipath

パスデバイスを検出し、すべての検出マルチパスマップを設定します。

multipath -d

multipathに似ていますが、マップをセットアップしません(試行動作)。

multipath DEVICENAME

特定のマルチパスデバイスを設定します。DEVICENAMEは、デバイスノード名(/dev/sdb)またはデバイス番号(major:minorフォーマット)でメンバーパスデバイスを示すことができます。または、WWIDやマルチパスマップの名前も使用できます。

multipath -f DEVICENAME

マルチパスマップおよびそのパーティションマッピングを設定解除(「フラッシュ」)します。そのパーティションのいずれかまたはマップが使用中の場合、このコマンドは失敗します。DEVICENAMEで使用できる値については上記を参照してください。

multipath -F

すべてのマルチパスマップおよびそのパーティションマッピングを設定解除(「フラッシュ」)します。マップを使用中の場合、このコマンドは失敗します。

multipath -ll

現在設定されているすべてのマルチパスデバイスのステータスおよびトポロジを表示します。18.14.2項 「マルチパスI/Oステータスの解釈」を参照してください。

multipath -ll DEVICENAME

指定されたマルチパスデバイスのステータスを表示します。DEVICENAMEで使用できる値については上記を参照してください。

multipath -t

マルチパスの内部ハードウェアテーブルとアクティブな設定を表示します。設定パラメータの詳細については、multipath.conf(5)を参照してください。

multipath -T

multipath -tコマンドの機能と似ていますが、ホストで検出されたハードウェアと一致するハードウェアエントリのみを表示します。

-vオプションによって、出力の詳細レベルが制御されます。指定した値によって、/etc/multipath.confverbosityオプションが上書きされます。18.13項 「その他のオプション」を参照してください。

18.6.4 SCSIの永続的な予約およびmpathpersist

mpathpersistユーティリティを使用して、デバイスマッパーマルチパスのデバイスでSCSIの永続的な予約を管理します。永続的な予約を行うと、SCSIの論理ユニットへのアクセスが特定のSCSIイニシエータに制限されます。マルチパス設定では、指定ボリュームですべてのI_T関連付け(パス)に同じ予約キーを使用することが重要です。そのようにしないと、あるパスデバイスで予約を作成すると別のパスでI/Oエラーが発生する場合があります。

このユーティリティを/etc/multipath.confファイルのreservation_key属性と共に使用して、SCSIデバイスの永続的な予約を設定します。このオプションが設定されている場合(のみ)、multipathdデーモンは、新しく検出したパスまたは復帰したパスについて永続的な予約をチェックします。

この属性は、multipath.confdefaultsセクションまたはmultipathsセクションに追加できます。例:

multipaths {
    multipath {
        wwid             3600140508dbcf02acb448188d73ec97d
        alias            yellow
        reservation_key  0x123abc
    }
}

永続的な管理に適用可能なすべてのmpathデバイスに対してreservation_keyパラメータを設定した後、multipathd reconfigureを使用して設定を再ロードします。

注記
注記: 使用 “reservation_key file

特別な値であるreservation_key filemultipath.confdefaultsセクションで使用される場合、mpathpersistを使用して/etc/multipath/prkeysファイルで予約キーを動的に管理できます。

これは、マルチパスマップで永続的な予約を処理する際のお勧めの方法です。この方法はSUSE Linux Enterprise Server 12 SP4から使用できます。

mpathpersistコマンドを使用して、SCSIデバイスで構成されているマルチパスマップの永続的な予約を問い合わせて設定します。詳細については、mpathpersist(8)のマニュアルページを参照してください。このコマンドラインオプションは、sg3_utilsパッケージのsg_persistのオプションと同じです。sg_persist(8)のマニュアルページでは、このオプションの意味を詳細に説明しています。

次の例では、DEVICE/dev/mapper/mpathaなど、デバイスマッパーのマルチパスデバイスを示しています。下記のコマンドは、読みやすくするために長いオプションと共にリストしています。すべてのオプションには、mpathpersist -oGS 123abc DEVICEのように1文字の置換文字が含まれています。

mpathpersist --in --read-keys DEVICE

デバイスに登録されている予約キーを読み取ります。

mpathpersist --in --read-reservation DEVICE

デバイスの既存の予約を表示します。

mpathpersist --out --register --param-sark=123abc DEVICE

デバイスの予約キーを登録します。これにより、ホストですべてのI_T関連付け(パスデバイス)の予約キーが追加されます。

mpathpersist --out --reserve --param-rk=123abc --prout-type=5 DEVICE

以前登録したキーを使用して、デバイスのタイプ5(登録者のみの排他書き込み)の予約を作成します。

mpathpersist --out --release --param-rk=123abc --prout-type=5 DEVICE

デバイスのタイプ5の予約を解放します。

mpathpersist --out --register-ignore --param-sark=0 DEVICE

以前存在していた予約キーをデバイスから削除します。

18.7 マルチパス処理用システムの設定

18.7.1 マルチパスサービスの有効化、起動、および停止

マルチパスサービスを有効にしてブート時に起動するには、次のコマンドを実行します。

> sudo systemctl enable multipathd

実行中のシステムでサービスを手動で開始するには、次のように入力します。

> sudo systemctl start multipathd

サービスを再開するには、次のように入力します。

> sudo systemctl restart multipathd

ほとんどの状況で、サービスの再開は不要です。単にmultipathdに設定を再ロードさせるには、次のコマンドを実行します。

> sudo systemctl reload multipathd

サービスのステータスを確認するには、次のように入力します。

> sudo systemctl status multipathd

現行セッションのマルチパスサービスを停止するには、次のコマンドを実行します。

> sudo systemctl stop multipathd multipathd.socket

サービスを停止しても既存のマルチパスマップは削除されません。未使用マップを削除するには、次のコマンドを実行します。

> sudo multipath -F
警告
警告: multipathd.serviceを常に有効にしておいてください

マルチパスハードウェアを含むシステムでは、multipathd.serviceを常に有効にし、実行しておくことを強くお勧めします。このサービスは、systemdのソケットアクティベーションメカニズムをサポートしていますが、このメカニズムに依存することはお勧めしません。このサービスが無効になっていると、マルチパスマップは起動時にセットアップされません。

注記
注記: マルチパスの無効化

上記の警告にもかかわらずマルチパスを無効にする必要がある場合(サードパーティのマルチパス処理ソフトウェアを導入するなど)、次のように進めます。マルチパスデバイスへのハードコード化された参照をシステムで使用していないことを確認します(18.15.2項 「デバイス参照の問題の理解」を参照)。

1回のシステムブートに対してのみマルチパス処理を無効にするには、カーネルパラメータのmultipath=offを使用します。これは、ブートシステムとinitramfsの両方に影響します。この場合、initramfsを再構築する必要はありません。

multipathdサービスを恒久的に無効にして、今後のシステムブートでこのサービスが開始されないようにするには、次のコマンドを実行します。

> sudo systemctl disable multipathd multipathd.socket
> sudo dracut --force --omit multipath

(マルチパスサービスを無効または有効にするときには必ずinitramfsを再構築してください。詳細については、18.7.4項 「initramfsの同期状態の維持」を参照してください。)

multipathを手動で実行するときにも」マルチパスデバイスが設定されないようにする場合は、initramfsを再構築する前に、/etc/multipath.confの最後に次の行を追加します。

blacklist {
    wwid .*
}

18.7.2 マルチパス処理用SANデバイスの準備

SANデバイスのマルチパスI/Oを設定する前に、必要に応じて、次のようにSANデバイスを準備してください。

  • ベンダのツールで、SANデバイスを設定し、ゾーン化します。

  • ベンダのツールで、ストレージアレイ上のホストLUNのパーミッションを設定します。

  • SUSE Linux Enterprise Serverでホストバスアダプタ(HBA)用ドライバが同梱されていない場合、HBAベンダからLinuxドライバをインストールします。詳細については、ベンダの特定マニュアルを参照してください。

マルチパスデバイスが検出され、multipathd.serviceが有効になっている場合、マルチパスマップは自動的に作成されます。作成されない場合、18.15.3項 「緊急モードでのトラブルシューティング手順」に、状況の調査に使用できるシェルコマンドのリストが表示されます。LUNがHBAドライバによって認識されない場合は、SANのゾーン化セットアップをチェックします。特に、LUNのマスキングがアクティブであるかどうか、LUNがサーバに正しく割り当てられているかどうかをチェックしてください。

LUNがHBAドライバによって認識できるが、対応するブロックデバイスが作成されない場合は、追加のカーネルパラメータが必要な場合があります。SUSE KnowledgeのTID 3955167: Troubleshooting SCSI (LUN) Scanning Issues (https://www.suse.com/support/kb/doc.php?id=3955167)を参照してください。

18.7.3 マルチパスデバイスのパーティションおよびkpartx

マルチパスマップには、そのパスデバイスのようなパーティションを設けることができます。パーティションテーブルのスキャンおよびパーティションのデバイスノード作成は、ユーザスペースでkpartxツールによって実行されます。kpartxは、udevルールによって自動的に起動します。通常、手動での実行は不要です。マルチパスのパーティションを参照する方法については、18.12.4項 「マルチパスマップの参照」を参照してください。

注記
注記: kpartxの起動の無効化

/etc/multipath.confskip_kpartxオプションを使用して、選択したマルチパスマップでのkpartxの起動を無効にできます。たとえば、これは仮想化ホストで有用である場合があります。

マルチパスデバイスのパーティションテーブルおよびパーティションは、YaSTまたはfdiskpartedのようなツールを使用して普通に操作できます。パーティションテーブルに適用する変更は、パーティション処理ツールが終了するとシステムによって記録されます。これが動作しない場合(デバイスがビジーであることが原因であることが多い)、multipathd reconfigureを試すか、またはシステムを再起動してください。

18.7.4 initramfsの同期状態の維持

重要
重要

すべてのブロックデバイスでマルチパス処理の使用に関して一貫性のある動作が初期RAMファイルシステム(initramfs)およびブートシステムで確保されることを確認してください。マルチパス設定の変更を適用した後にinitramfsを再構築します。

システムでマルチパス処理が有効になっている場合はinitramfsでも有効にする必要があり、その逆も同様です。このルールの唯一の例外は18.3.2.2項 「ローカルディスクのルートファイルシステム」のオプションinitramfsでマルチパスを無効にするです。

このマルチパス設定はブートシステムとinitramfsの間で同期させる必要があります。したがって、/etc/multipath.conf/etc/multipath/wwids/etc/multipath/bindingsのいずれかのファイル、その他の設定ファイル、またはデバイスの識別に関係のあるudevルールを変更した場合、次のコマンドを使用してinitramfsを再構築します。

> sudo dracut -f

initramfsとシステムが同期されていない場合、システムは正しくブートせず、起動手順を実行すると緊急シェルが起動する場合があります。このようなシナリオを回避または修復する方法については、18.15項 「MPIOのトラブルシューティング」を参照してください。

18.7.4.1 initramfsでのマルチパス処理の有効化または無効化

initramfsが非標準的な状況で再構築される場合(カーネルパラメータのmultipath=offを使用してブートした後やレスキューシステムからなど)、特別な注意が必要です。dracutでは、initramfsが構築されるときにルートファイルシステムがマルチパスデバイス上にあることを検出した場合のみinitramfsにマルチパス処理のサポートを自動的に組み込みます。このような場合、マルチパス処理を明示的に有効または無効にする必要があります。

initramfsでマルチパスのサポートを有効にするには、次のコマンドを実行します。

> sudo dracut --force --add multipath

initramfsでマルチパスのサポートを無効にするには、次のコマンドを実行します。

> sudo dracut --force --omit multipath

18.7.4.2 initramfsの永続的なデバイス名

dracutでinitramfsを生成する場合、システムが確実に正しく起動するように、永続的な方法でマウントされるディスクおよびパーティションを参照する必要があります。dracutでマルチパスデバイスを検出すると、この目的で、次のようなDM-MPデバイス名が使用されます。

/dev/mapper/3600a098000aad73f00000a3f5a275dc8-part1

これがデフォルトの動作です。これは、システムが「常に」マルチパスモードで実行されている場合には適切です。ただし、18.7.4.1項 「initramfsでのマルチパス処理の有効化または無効化」で説明しているようにマルチパス処理なしでシステムを起動した場合、/dev/mapperデバイスが存在しないため、このようなinitramfsによる起動は失敗します。もう一つの考え得る問題シナリオおよび背景情報については、18.12.4項 「マルチパスマップの参照」を参照してください。

この問題が起こらないようにするには、--persistent-policyオプションを使用して、dracutの永続的なデバイス命名ポリシーを変更します。by-uuid使用ポリシーを設定することをお勧めします。

> sudo dracut --force --omit multipath --persistent-policy=by-uuid

手順18.1「インストール後にルートディスクのマルチパス処理を無効にする」および18.15.2項 「デバイス参照の問題の理解」も参照してください。

18.8 マルチパス設定

組み込みのmultipath-toolsは、ほとんどのセットアップでデフォルトで正しく動作します。カスタマイズが必要な場合、設定ファイルを作成する必要があります。主要設定ファイルは/etc/multipath.confです。また、/etc/multipath/conf.d/のファイルを考慮に入れます。詳細については、18.8.2.1項 「追加の設定ファイルおよび優先ルール」を参照してください。

重要
重要: ベンダの推奨事項および組み込みハードウェアのデフォルト

一部のストレージベンダは、マルチパスオプションの推奨値をマニュアルで公開しています。これらの値は、ベンダがベンダ環境でテストした値であることが多く、ストレージ製品に対して最適であることがわかっています。18.2.2項 「マルチパス処理のストレージアレイ自動検出」の免責事項を参照してください。

multipath-toolsには、公開されたベンダ推奨値から抽出した多くのストレージアレイ用の組み込みのデフォルトがあります。multipath -Tを実行して、デバイスの現在の設定を表示し、これをベンダの推奨値と比較します。

18.8.1 /etc/multipath.confの作成

変更する設定のみが含まれている最低限の/etc/multipath.confを作成することをお勧めします。多くの場合、/etc/multipath.confを作成する必要はありません。

考え得る設定ディレクティブすべてを含む設定テンプレートで作業したい場合、次のコマンドを実行します。

multipath -T >/etc/multipath.conf

18.14.1項 「設定のベストプラクティス」も参照してください。

18.8.2 multipath.conf 構文

/etc/multipath.confファイルでは、セクション、サブセクション、およびオプション/値のペアの階層を使用します。

  • トークンは空白で区切られます。連続する空白文字は、引用符で囲まれていない限り1つの空白に圧縮されます((以下を参照)。

  • ハッシュ(#)文字および感嘆符(!)文字を使用すると、行の残り部分がコメントとして破棄されます。

  • セクションとサブセクションは、同じ行の開き中かっこ({)で始まり、その行の閉じ中かっこ(})で終わります。

  • オプションおよび値は1行に書き込まれます。行の継続はサポートされていません。

  • オプションとセクション名はキーワードにする必要があります。使用できるキーワードについては、multipath.conf(5)を参照してください。

  • 値は二重引用符(")で囲むことができます。値に空白またはコメント文字が含まれている場合、その値を引用符で囲む必要があります。値の内側にある二重引用符文字は二重引用符のペア("")で表されます。

  • 一部のオプションの値はPOSIXの正規表現です(regex(7)を参照)。これらは、大文字と小文字が区別され、アンカーされないため、「bar」は「rhabarber」とは一致しますが、「Barbie」とは一致しません。

構文は、次のようにします。

section {
    subsection {
        option1 value
        option2      "complex value!"
        option3    "value with ""quoted"" word"
    } ! subsection end
} # section end

18.8.2.1 追加の設定ファイルおよび優先ルール

/etc/multipath.confの後、ツールは、パターン/etc/multipath.conf.d/*.confと一致するファイルを読み込みます。追加のファイルは/etc/multipath.confと同じ構文ルールに従います。セクションとオプションは複数回使用できます。「同じセクションの同じオプション」が複数のファイルで設定されたり、同じファイルの複数の行で設定されると、最後の値が優先されます。multipath.confセクション間には個別の優先ルールが適用されます。以下を参照してください。

18.8.3 multipath.confセクション

/etc/multipath.confファイルは、以下のセクションで構成されています。一部のオプションは複数のセクションで使用できます。詳細についてはmultipath.conf(5)を参照してください。

defaults

一般的なデフォルト設定。

重要
重要: 組み込みのデバイスプロパティの上書き

組み込みのハードウェア固有のデバイスプロパティはdefaultsセクションの設定より優先されます。したがって、変更は、devicesセクションまたはoverridesセクションで行う必要があります。

blacklist

無視するデバイスをリストします。18.11.1項 「multipath.confblacklistセクション」を参照してください。

blacklist_exceptions

マルチパス処理されるデバイスをリストします(ブラックリストに含まれている場合もリストされます)。18.11.1項 「multipath.confblacklistセクション」を参照してください。

devices

ストレージコントローラ専用の設定。このセクションはdeviceサブセクションのコレクションです。このセクションの値は、defaultsセクションの同じオプションの値、およびmultipath-toolsの組み込みの設定を上書きします。

devicesセクションのdeviceエントリは、正規表現を使用してデバイスのベンダおよび製品と照合されます。これらのエントリは「マージ」され、デバイスに対して照合するセクションのすべてのオプションが設定されます。複数の照合するdeviceセクションで同じオプションが設定されている場合、最後のデバイスエントリが優先されます。それが前のエントリよりも「特定的」でない場合でも同様です。これは、照合するエントリが異なる設定ファイルに存在する場合でも適用されます(18.8.2.1項 「追加の設定ファイルおよび優先ルール」を参照)。次の例では、デバイスSOMECORP STORAGEfast_io_fail_tmo 15を使用します。

devices {
    device {
        vendor SOMECORP
        product STOR
        fast_io_fail_tmo 10
    }
    device {
        vendor SOMECORP
        product .*
        fast_io_fail_tmo 15
    }
}
multipaths

個々のマルチパスデバイスの設定。このセクションはmultipathサブセクションのリストです。値はdefaultsセクションとdevicesセクションを上書きします。

上書き

他のすべてのセクションの値を上書きする設定。

18.8.4 multipath.confの変更の適用

設定変更を適用するには、次のコマンドを実行します。

> sudo multipathd reconfigure

忘れずにinitramfsの設定と同期してください。18.7.4項 「initramfsの同期状態の維持」を参照してください。

警告
警告: multipathを使用して設定を適用しない

multipathを実行中にmultipathdコマンドを使用して新しい設定を適用しないでください。これを行うと、セットアップの整合性が失われ、セットアップが破損する場合があります。

注記
注記: 変更したセットアップの確認

変更した設定を適用する前にテストできます。そのためには次のコマンドを実行します。

> sudo multipath -d -v2

このコマンドは、提案されたトポロジを使用して作成される新しいマップを表示しますが、マップが削除/フラッシュされるかどうかは表示しません。より多くの情報を得るには、詳細度を上げて次のコマンドを実行します。

> sudo multipath -d -v3 2>&1 | less

18.9 フェールオーバー、待ち行列、およびフェールバック用のポリシーの設定

マルチパスI/Oの最終目標は、ストレージシステムとサーバ間のコネクティビティ耐障害性を提供することです。望ましいデフォルトの動作は、サーバがスタンドアロンのサーバか、高可用性クラスタ内のノードかによって異なります。

このセクションでは、耐障害性を実現するために最も重要なmultipath-tools設定パラメータについて説明します。

polling_interval

パスデバイスの正常性チェック間の間隔(秒単位)。デフォルトは5秒です。障害が発生したデバイスはこの間隔でチェックされます。デバイスが正常な場合、この間隔を最長max_polling_interval秒まで長くすることができます。

detect_checker

これがyes (デフォルト、推奨)に設定されている場合、multipathdは、最適なパスチェックアルゴリズムを自動的に検出します。

path_checker

パスの状態のチェックに使用するアルゴリズム。チェッカーを有効にする必要がある場合、次のようにdetect_checkerを無効にします。

defaults {
	  detect_checker no
}

次のリストには、最も重要なアルゴリズムのみが含まれます。完全なリストについては、multipath.conf(5)を参照してください。

tur

TEST UNIT READYコマンドを送信します。これは、ALUAをサポートしているSCSIデバイスのデフォルトです。

directio

非同期I/O (aio)を使用してデバイスセクタを読み取ります。

rdac

NetAPP E-Seriesおよび同様のアレイ用のデバイス固有チェッカー。

none

パスチェックは実行されません。

checker_timeout

デバイスがパスチェッカーコマンドに一定時間応答しない場合、失敗とみなされます。デフォルトは、デバイスに対するカーネルのSCSIコマンドのタイムアウトです(通常30秒)。

fast_io_fail_tmo

SCSIトランスポートレイヤのエラーが(たとえば、ファイバチャネルのリモートポートで)検出されると、カーネルトランスポートレイヤは、トランスポートが回復するまでこの時間(秒単位)待機します。この時間経過後、パスデバイスは、「トランスポートオフライン」の状態で失敗します。これは、マルチパスでは非常に有用です。マルチパスでは、頻繁に発生するクラスのエラーに対してクイックパスフェールオーバーが許可されているためです。この値は、Fabricの再設定用に一般的なタイムスケールと一致している必要があります。デフォルト値の5秒は、ファイバチャネルでは正しく動作します。iSCSIなどのその他のトランスポートでは、より長いタイムアウトが必要な場合があります。

dev_loss_tmo

SCSIトランスポートエンドポイント(たとえば、ファイバチャネルのリモートポート)に到達できなくなった場合、カーネルは、SCSIデバイスノードを完全に削除してポートが再表示されるまでこの時間(秒単位)待機します。デバイスノードの削除は複雑な操作であり、競合状態やデッドロックになりやすいため、回避するのが望ましいです。したがって、この値を大きい値に設定することをお勧めします。特別な値infinityがサポートされています。デフォルトは10分です。デッドロック状態を回避するために、multipathdは、I/Oのキュー格納(no_path_retryを参照)をdev_loss_tmoの期限が切れる前に停止します。

no_path_retry

指定マルチパスマップのすべてのパスで障害が発生した場合における処理を決定します。次の値を使用できます。

fail

マルチパスマップのI/Oは失敗します。そのため、マウントされたファイルシステムなどの上位レイヤでI/Oエラーが発生します。影響を受けるファイルシステム、および場合によってはホスト全体がディグレードモードになります。

queue

マルチパスマップのI/Oがデバイスマッパーレイヤのキューに入り、パスデバイスを再度使用できるようになると、そのデバイスに送信されます。これは、データ損失を回避するための最も安全なオプションですが、パスデバイスが長時間復帰しないと悪影響を被る可能性があります。デバイスからの読み取りプロセスは中断できないスリープ(D)状態でハングします。キューに格納されたデータでメモリが一杯になり、処理できなくなります。最終的にメモリが枯渇します。

N

Nは正の整数です。N秒のポーリング間隔でマップデバイスをキューモードのままにします。この時間が経過すると、マップデバイスのmultipathdは失敗します。polling_intervalが5秒でno_path_retryが6の場合、multipathdはI/Oをキューに約30秒間(5秒X6)格納し、時間が経過するとそのマップデバイスのI/Oは失敗します。

flush_on_last_del

yesに設定され、マップのすべてのパスデバイスが(単に失敗するだけではなく)削除される場合、マップのすべてのI/Oが失敗してからマップを削除します。デフォルトはnoです。

deferred_remove

yesに設定され、マップのすべてのパスデバイスが削除される場合、マップデバイスのファイル記述子をホルダが閉じるまで待機してから、マップデバイスをフラッシュして削除します。最後のホルダがマップを閉じる前にパスが再表示された場合、延期された削除操作はキャンセルされます。デフォルトはnoです。

failback

非アクティブパスグループの失敗したパスデバイスが回復すると、multipathdは、すべてのパスグループのパスグループ優先度を再評価します(18.10項 「パスのグループ化および優先度の設定」を参照)。再評価後、優先度の最も高いパスグループが、現在非アクティブのパスグループの1つになる可能性があります。このパラメータによってこの状況での動作が決まります。

重要
重要: ベンダの推奨事項に従ってください

最適なフェールバックポリシーは、ストレージデバイスの特性によって異なります。したがって、failback設定をストレージベンダに確認することを強くお勧めします。

manual

管理者がmultipathd switchgroupを実行しない限り何も起こりません(18.6.2項 「multipathdデーモン」を参照)。

immediate

優先度の最も高いパスグループがすぐにアクティブになります。これは多くの場合(特にスタンドアロンサーバでは)パフォーマンスの観点で有利ですが、パスグループの変更が負荷の大きい操作となるアレイには使用しないでください。

followover

immediateと同様ですが、アクティブになったばかりのパスのみがパスグループ内の正常なパスである場合のみフェールバックを実行します。これは、クラスタ構成の場合に有用です。別のノードが以前にフェールオーバーを要求していたときに、ノードが自動的にフェールバックしないようにします。

N

Nは正の整数です。優先度の最も高いパスグループをアクティブにする前にN個のポーリング間隔待機します。この間に優先度が再度変更されると、待機期間が新たに始まります。

eh_deadline

デバイスが応答しなくなり、SCSIコマンドがエラー応答なしでタイムアウトした場合に、SCSIエラー処理にかかる時間のおおよその上限値(秒単位)を設定します。期限が経過すると、カーネルはHBAを完全にリセットします。

/etc/multipath.confファイルを変更した後、18.8.4項 「multipath.confの変更の適用」の説明に従って設定を適用します。

18.9.1 スタンドアロンサーバでのキューポリシー

スタンドアロンサーバに対してマルチパスI/Oを設定する際は、no_path_retryで値をqueueに設定することにより、サーバのオペレーティングシステムを、I/Oエラーの受信から可能な限り保護することができます。この設定では、マルチパスのフェールオーバーが発生するまでメッセージはキューに入ります。「無限」のキューを望まない場合(上記を参照)、通常の状況下でストレージパスが回復するのに十分大きいとみなされる数値を選択します(上記を参照)。

18.9.2 クラスタ化されたサーバでのキューポリシー

高可用性クラスタ内のノードに対してマルチパスI/Oを構成するときには、マルチパスでリソースのフェールオーバーをトリガするためにI/O障害が報告されるようにして、マルチパスのフェールオーバーが解決されるのを待たなくて済むようにするとよいでしょう。クラスタ環境では、no_path_retry 設定を、ストレージシステムへの接続が失われた場合に、クラスタノードがクラスタ検証プロセスに関連するI/Oエラー(ハートビート許容値の50%を推奨)を受信するように変更する必要があります。また、パスの障害によるリソースのピンポンを避けるため、マルチパスのfailbackmanualまたはfollowoverに設定するとよいでしょう。

18.10 パスのグループ化および優先度の設定

マルチパスマップのパスデバイスは、「パスグループ」(「優先度グループ」とも呼ばれる)にグループ化されます。常に1つのパスグループのみがI/Oを受信します。multipathdは、「優先度」をパスグループに割り当てます。アクティブなパスを持つパスグループの内、優先度の最も高いグループが、マップに設定されたフェールバックポリシーに応じてアクティブになります(18.9項 「フェールオーバー、待ち行列、およびフェールバック用のポリシーの設定」を参照)。パスグループの優先度は、パスグループ内のアクティブなパスデバイスの優先度の平均です。パスデバイスの優先度は、デバイスのプロパティから計算される整数値です(以下のprioオプションの説明を参照)。

このセクションでは、優先度の決定およびパスのグループ化に関連するmultipath.conf設定パラメータについて説明します。

path_grouping_policy

パスをグループに結合するために使用する方法を指定します。最も重要なポリシーのみがここにリストされます。使用頻度の低いその他の値については、multipath.conf(5)を参照してください。

failover

パスグループごとに1つのパス。この設定は、従来の「アクティブ/パッシブ」ストレージアレイで有用です。

multibus

1つのパスグループ内のすべてのパス。これは、従来の「アクティブ/パッシブ」アレイで有用です。

group_by_prio

同じパス優先度のパスデバイスがグループ化されます。このオプションは、ALUAのように非対称アクセス状態をサポートする最新のアレイで有用です。aluaまたはsysfsの優先度アルゴリズムと組み合わせて、multipathdによってセットアップされる優先度グループは、ストレージアレイがALUA関連のSCSIコマンドを使用してレポートするプライマリターゲットポートグループと照合されます。

マルチパスマップのパスグループ化ポリシーは、同じポリシー名を使用して、次のコマンドで一時的に変更できます。

> sudo multipath -p POLICY_NAME MAP_NAME
marginal_pathgroups

onまたはfpinに設定すると、「ぎりぎり」のパスデバイスは、別のパスグループに分類されます。これは、使用しているパスグループ化アルゴリズムとは無関係です。18.13.1項 「信頼性の低い(「ぎりぎりの」)パスデバイスの処理」を参照してください。

detect_prio

これがyes (デフォルト、推奨)に設定されている場合、multipathdは、ストレージデバイスの優先度を設定するのに最適なアルゴリズムを自動的に検出し、prio設定を無視します。実際には、これは、ALUAのサポートが検出された場合にsysfs prioアルゴリズムを使用することを意味します。

prio

パスデバイスの優先度を導出する方法を決定します。これを上書きする場合、次のようにdetect_prioを無効にします。

defaults {
	  detect_prio no
}

次のリストには、最も重要な方法のみが含まれます。他にもいくつかの方法が利用可能です。これらは主にレガシハードウェアをサポートするためのものです。完全なリストについては、multipath.conf(5)を参照してください。

alua

SCSI-3 ALUAアクセス状態を使用して、パス優先値を導出します。オプションのexclusive_pref_bit引数を使用して、ALUAの「優先プライマリターゲットポートグループ」(PREF)ビットが設定されているデバイスの動作を変更できます。

	prio alua
	prio_args exclusive_pref_bit

このオプションを設定すると、「優先」パスは、他のアクティブ/最適化パスを上回る優先度ボーナスを獲得します。このオプションを設定しないと、すべてのアクティブ/最適化パスは、同じ優先度を割り当てられます。

sysfs

aluaと似ていますが、SCSIコマンドをデバイスに送信する代わりに、sysfsからアクセス状態を取得します。これにより、aluaよりもI/O負荷が軽減されますが、ALUAがサポートされているすべてのストレージアレイに適しているわけではありません。

const

すべてのパスに定数値を使用します。

path_latency

パスデバイスでI/Oレイテンシ(I/O送信から完了までの時間)を測定し、レイテンシの低い方のデバイスに高い優先度を割り当てます。詳細についてはmultipath.conf(5)を参照してください。このアルゴリズムはまだ実験段階です。

weightedpath

名前、シリアル番号、Host:Bus:Target:Lun ID (HBTL)、またはファイバチャネルWWNに基づいて優先度をパスに割り当てます。優先度の値は時間が経過しても変化しません。この方法では、引数prio_argsが必要です。詳細については、multipath.conf(5)を参照してください。例:

	prio weightedpath
	prio_args "hbtl 2:.*:.*:.* 10 hbtl 3:.*:.*:.* 20 hbtl .* 1"

この例では、SCSIホスト3のデバイスがSCSIホスト2のデバイスより高い優先度が割り当てられ、他のすべてのデバイスに低い優先度が割り当てられます。

prio_args

一部のprioアルゴリズムは、追加の引数が必要です。これらはこのオプションで指定されます。構文はアルゴリズムによって決まります。詳細については上記の説明を参照してください。

hardware_handler

パスグループを切り替えるときにパスデバイスをアクティブ化するためにカーネルが使用するカーネルモジュールの名前。このオプションは、最新のカーネルでは効果がありません。最新のカーネルでは、ハードウェアハンドラが自動検出されるためです。18.2.3項 「特定のハードウェアハンドラを必要とするストレージアレイ」を参照してください。

path_selector

アクティブパスグループのパス間のロードバランシングに使用するカーネルモジュールの名前。利用可能な選択肢は、カーネル設定によって決まります。過去の経緯から、multipath.confでは、名前を常に引用符で囲み、その後ろに「0」を付加する必要があります。次に例を示します。

    path_selector "queue-length 0"
service-time

保留中のI/Oがすべてのパスで完了するために必要な時間を推定し、最小値のパスを選択します。これがデフォルトの設定です。

historical-service-time

過去のサービス時間(移動平均を保持する時間)および未処理の要求の数に基づいて、将来のサービス時間を推定します。保留中のI/Oがすべてのパスで完了するために必要な時間を推定し、最小値のパスを選択します。

queue-length

現在保留中のI/O要求が最も少ないパスを選択します。

round-robin

ラウンドロビン方式でパスを切り替えます。次のパスに切り替わる前にパスに送信される要求の数は、オプションrr_min_io_rqおよびrr_weightで調整できます。

io-affinity

このパスセレクタは、現時点ではmultipath-toolsでは機能しません。

/etc/multipath.confファイルを変更した後、18.8.4項 「multipath.confの変更の適用」の説明に従って設定を適用します。

18.11 マルチパス処理のためのデバイスの選択

マルチパスデバイスを含むシステムでは、一部のデバイス(通常はローカルディスク)でのマルチパスマップのセットアップを避けた方がよい場合があります。multipath-toolsは、どのデバイスをマルチパスのパスデバイスとみなすかを設定するためのさまざまな方法を提供します。

注記
注記: ローカルディスク上のマルチパス

通常、ローカルディスクの上にデバイスが1つだけある「ディグレード」マルチパスマップをセットアップしても問題ありません。これは正常に機能し、追加の設定は不要です。しかし、管理者の中にはこれを分かりにくいと感じたり、一般的にこの種の不必要なマルチパス処理に反対したりする人もいます。また、マルチパスレイヤを使用すると、パフォーマンスにわずかなオーバーヘッドが生じます。18.3.2.2項 「ローカルディスクのルートファイルシステム」も参照してください。

/etc/multipath.confファイルを変更した後、18.8.4項 「multipath.confの変更の適用」の説明に従って設定を適用します。

18.11.1 multipath.confblacklistセクション

/etc/multipath.confファイルには、multipathdおよびmultipathが無視する必要があるすべてのデバイスを列挙するblacklistセクションを含めることができます。次の例は、デバイスを除外する考えられる方法を示しています。

blacklist {
    wwid 3600605b009e7ed501f0e45370aaeb77f 1
    device {  2
        vendor ATA
        product .*
    }
    protocol scsi:sas 3
    property SCSI_IDENT_LUN_T10 4
    devnode "!^dasd[a-z]*" 5
}

1

wwidエントリは、ルートディスクなどの特定のデバイスを除外するのに最適です。

2

このdeviceセクションは、すべてのATAデバイスを除外します(productの正規表現はすべてに一致します)。

3

protocolによる除外では、特定のバスタイプ(ここではSAS)を使用してデバイスを除外できます。その他の一般的なプロトコル値は、scsi:fcpscsi:iscsi、およびccwです。詳細については、multipath.conf(5)を参照してください。システムのパスが使用しているプロトコルを表示するには、次のコマンドを実行します。

> sudo multipathd show paths format "%d %P"

この形式は、SLES 15 SP1以降およびSLES 12 SP5以降サポートされています。

4

このpropertyエントリは、特定のudevプロパティを含むデバイスを除外します(プロパティの値は無関係)。

5

devnodeによるデバイスの除外は、例のように正規表現を使用するデバイスのクラスに対してのみ推奨されます。この例では、DASDデバイス以外のすべてを除外します。sdaのような個々のデバイスにこれを使用することは、デバイスのノード名が永続的ではないため、お勧めしません。

この例は、blacklistセクションおよびblacklist_exceptionsセクションでのみサポートされている特別な構文を示しています。正規表現の先頭に感嘆符(!)を付けると、一致が否定されます。感嘆符は二重引用符内に配置される必要があることに注意してください。

デフォルトでは、multipath-toolsは、SCSI、DASDまたはNVMeを除くすべてのデバイスを無視します。技術的には、組み込みのdevnode除外リストは、次の否定された正規表現です。

    devnode !^(sd[a-z]|dasd[a-z]|nvme[0-9])

18.11.2 multipath.confblacklist exceptionsセクション

特定のデバイスのみをマルチパス処理用に設定することが望ましい場合があります。この場合、デフォルトでデバイスが除外され、マルチパスマップの一部となるデバイスに対して例外が定義されます。この目的でblacklist_exceptionsセクションが存在します。これは通常、次の例のように使用されます。この例では、製品文字列「NETAPP」のストレージを除くすべてが除外されます。

blacklist {
     wwid .*
}
blacklist_exceptions {
     device {
         vendor ^NETAPP$
         product .*
     }
}

blacklist_exceptionsセクションでは、上記のblacklistセクションで説明されているすべての方法がサポートされます。

blacklist_exceptionspropertyディレクティブは必須です。なぜなら、マルチパスのパスデバイスとみなされるために、すべてのデバイスは少なくとも1つの「許可された」udevプロパティを持つ「必要がある」ためです(プロパティの値は重要ではありません)。propertyの組み込みのデフォルトは次のとおりです。

    property (SCSI_IDENT_|ID_WWN)

この正規表現に一致するudevプロパティを少なくとも1つ持つデバイスのみが含まれます。

18.11.3 デバイスの選択に影響するその他のオプション

blacklistオプション以外にも、/etc/multipath.confには、どのデバイスをマルチパスのパスデバイスとみなすかに影響するその他の設定がいくつかあります。

find_multipaths

このオプションは、除外されないデバイスを初めて検出したときのmultipathおよびmultipathdの動作を制御します。次の値を使用できます。

greedy

/etc/multipath.confblacklistによって除外されないすべてのデバイスが含まれます。これは、SUSE Linux Enterpriseのデフォルトです。この設定がアクティブの場合、マルチパスマップへのデバイスの追加を防ぐ唯一の方法は、デバイスを除外と設定することです。

strict

すべてのデバイスは、/etc/multipath.confblacklistセクションに存在しなくても、そのWWIDが/etc/multipath/wwidsファイルにリストされていない限り、除外されます。これには、WWIDファイルの手動メンテナンスが必要です(下記の注意事項を参照)。

yes

デバイスは、strictの条件を満たしている場合、または同じWWIDを持つ他のデバイスがシステム内に少なくとも1つ存在する場合に含まれます。

smart

新しいWWIDを初めて検出した場合、これは、マルチパスのパスデバイスとして一時的にマークされます。multipathdは、同じWWIDを持つ追加のパスが現れるまでしばらく待機します。現れると、マルチパスマップは通常どおりにセットアップされます。それ以外の場合、タイムアウトになると、1つのデバイスが非マルチパスデバイスとしてシステムにリリースされます。タイムアウトは、オプションfind_multipaths_timeoutを使用して設定できます。

このオプションは、SUSE Linux Enterprise Server 15でのみ利用できるsystemd機能に依存します。

注記
注記: /etc/multipath/wwidsの管理

multipath-toolsは、前にセットアップしたマルチパスマップの記録をファイル/etc/multipath/wwids (「WWIDsファイル」)に保持します。このファイルにリストされているWWIDを持つデバイスは、マルチパスのパスデバイスとみなされます。このファイルは、greedyを除くfind_multipathsのすべての値に対して、マルチパスデバイスの選択に重要です。

find_multipathsyesまたはsmartに設定されている場合、multipathdは、新しいマップをセットアップした後にWWIDを/etc/multipath/wwidsに追加します。これにより、今後これらのマップはより迅速に検出されるようになります。

WWIDファイルは、手動で変更できます。

> sudo multipath -a 3600a098000aad1e3000064e45f2c2355 1
> sudo multipath -w /dev/sdf 2

1

このコマンドを実行すると、指定されたWWIDが/etc/multipath/wwidsに追加されます。

2

このコマンドを実行すると、指定されたデバイスのWWIDが削除されます。

strictモードでは、これが新しいマルチパスデバイスを追加する唯一の方法です。WWIDファイルを変更した後、multipathd reconfigureを実行して変更を適用します。変更をWWIDファイルに適用した後にinitramfsを再構築することをお勧めします(18.7.4項 「initramfsの同期状態の維持」を参照)。

allow_usb_devices

このオプションがyesに設定されている場合、USBストレージデバイスはマルチパス処理用とみなされます。デフォルトはnoです。

18.12 マルチパスデバイス名およびWWID

multipathdおよびmultipathは、WWIDを内部で使用してデバイスを識別します。WWIDは、デフォルトではマップ名としても使用されます。便宜上、multipath-toolsは、よりシンプルで簡単に覚えることができる名前のマルチパスデバイスへの割り当てをサポートしています。

18.12.1 WWIDおよびデバイスの識別

マルチパス操作では、同じストレージボリュームへのパスを表すデバイス検出の信頼性が高いことが非常に重要です。multipath-toolsは、この目的でデバイスのWWID (World Wide Identification: ワールドワイドID)を使用します(これはUUID (Universally Unique ID: ユニバーサルユニークIDまたはUID (Unique ID: ユニークID)と呼ばれることもあります(ユーザIDと混同しないでください)。マップデバイスのWWIDは、常にそのパスデバイスのWWIDと同じです。

デフォルトでは、パスデバイスのWWIDは、sysfsファイルシステムからデバイスの属性を読み取ることによって、または固有のI/Oコマンドを使用して、udevルールで決定されるデバイスのudevプロパティから推測されます。デバイスのudevプロパティを確認するには、次のコマンドを実行します。

> udevadm info /dev/sdx

WWIDを導出するためにmultipath-toolsによって使用されるudevプロパティを次に示します。

  • SCSIデバイスのID_SERIAL (これをデバイスの「シリアル番号」と混同しないでください)

  • DASDデバイスのID_UID

  • NVMeデバイスのID_WWN

警告
警告: WWIDの変更を回避する

使用中のマルチパスマップのWWIDは変更できません。設定変更により、マップされたパスデバイスのWWIDが変更された場合、マップを破棄し、新しいWWIDで新しいマップをセットアップする必要があります。これは、古いマップを使用中には実行できません。極端な場合、WWIDの変更によってデータが破損する可能性があります。したがって、マップのWWIDが変更される結果となる設定変更の適用は、「厳格に回避する」必要があります。

/etc/multipath.confuid_attrsオプションを有効にすることは許可されています。18.13項 「その他のオプション」を参照してください。

18.12.2 マルチパスマップのエイリアスの設定

/etc/multipath.confmultipathsセクションで、次のように任意のマップ名を設定できます。

multipaths {
    multipath {
        wwid 3600a098000aad1e3000064e45f2c2355
        alias postgres
    }
}

エイリアスは表現力が豊かですが、各マップに個別に割り当てる必要があるため、大規模なシステムでは面倒な場合があります。

18.12.3 自動生成されるユーザフレンドリ名の使用

multipath-toolsは、自動生成されたエイリアス、いわゆる「ユーザフレンドリ名」もサポートしています。エイリアスの命名規則は、mpathINDEXというパターンに従います。ここでINDEXは小文字です(aで始まります)。したがって、最初に自動生成されるエイリアスはmpathaで、その後mpathbmpathcと続き、mpathzまで続きます。その後は、mpathaampathab、以下同様に続きます。

マップ名は、永続的である場合のみ有用です。multipath-toolsは、/etc/multipath/bindingsファイル(「バインディングファイル」)で割り当てられた名前を追跡します。新しいマップが作成されると、最初にこのファイルでWWIDが検索されます。WWIDが見つからない場合、最も可用性が低いユーザフレンドリ名がこれに割り当てられます。

18.12.2項 「マルチパスマップのエイリアスの設定」で説明されているように、明示的なエイリアスがユーザフレンドリ名よりも優先されます。

/etc/multipath.confの次のオプションは、ユーザフレンドリ名に影響します。

user_friendly_names

yesに設定すると、ユーザフレンドリ名が割り当てられ、使用されます。それ以外の場合、エイリアスが設定されていない限り、WWIDがマップ名として使用されます。

alias_prefix

ユーザフレンドリ名を作成するために使用するプレフィクス。デフォルトではmpathです。

警告
警告: 高可用性クラスタのマップ名

クラスタ操作では、クラスタ内のすべてのノードにわたってデバイス名を同じにする必要があります。multipath-toolsの設定は、ノード間で同期状態を保つ必要があります。user_friendly_namesを使用している場合、multipathdは実行時に/etc/multipath/bindingsファイルを変更する可能性があります。このような変更は、すべてのノードに対して動的に複製する必要があります。同じことが/etc/multipath/wwidsにも当てはまります(18.11.3項 「デバイスの選択に影響するその他のオプション」を参照)。

注記
注記: 実行時のマップ名の変更

実行時にマップ名を変更できます。このセクションで説明されている方法のいずれかを使用してmultipathd reconfigureを実行すると、システムの操作を中断せずにマップ名が変更されます。

18.12.4 マルチパスマップの参照

技術的には、マルチパスマップは、デバイスマッパーデバイスです。これには、/dev/dm-nという形式の汎用名があります(nは整数)。これらの名前は永続的ではありません。これらは、マルチパスマップを参照するために使用「しない」でください。udevを実行すると、これらのデバイスへのさまざまなシンボリックリンクが作成されます。これらは、永続的な参照としてより適切です。これらのリンクは、特定の設定変更に対する不変性の点で異なります。次の一般的な例は、すべて同じデバイスを指しているさまざまなシンボリックリンクを示しています。

/dev/disk/by-id/dm-name-mpathb1 -> ../../dm-1
/dev/disk/by-id/dm-uuid-mpath-3600a098000aad73f00000a3f5a275dc82 -> ../../dm-1
/dev/disk/by-id/scsi-3600a098000aad73f00000a3f5a275dc83 -> ../../dm-1
/dev/disk/by-id/wwn-0x600a098000aad73f00000a3f5a275dc84 -> ../../dm-1
/dev/mapper/mpathb5 -> ../dm-1

1 5

これら2つのリンクは、マップ名を使用してマップを参照します。したがって、マップ名が変更されるとリンクも変更されます(たとえば、ユーザフレンドリ名を有効または無効にした場合)。

2

このリンクは、デバイスマッパーUUIDを使用します。これは、multipath-toolsによって使用されているWWIDにプレフィクスとして文字列dm-uuid-mpath-が付いています。これはマップ名とは無関係です。

デバイスマッパーUUIDは、確実に「マルチパスデバイスのみ」が参照されるようにするために推奨される形式です。たとえば、/etc/lvm/lvm.confの次の行では、マルチパスマップを除くすべてのデバイスが拒否されます。

filter = [ "a|/dev/disk/by-id/dm-uuid-mpath-.*|", "r|.*|" ]

3 4

これらは、通常パスデバイスを指すリンクです。マルチパスデバイスは、udevリンクの優先度が高いため、これらを引き継ぎました(udev(7)を参照)。マップが破棄されたり、マルチパス処理がオフになったりしても、これらは引き続き存在し、代わりにパスデバイスの1つを指します。これは、マルチパス処理がアクティブかどうかに関係なく、WWIDによってデバイスを参照する手段を提供します。

kpartxツールによって作成されたマルチパスマップ上の「パーティション」には、親デバイス名またはWWIDおよびパーティション番号から導出された同様のシンボリックリンクがあります。

/dev/disk/by-id/dm-name-mpatha-part2 -> ../../dm-5
/dev/disk/by-id/dm-uuid-part2-mpath-3600a098000aad1e300000b4b5a275d45 -> ../../dm-5
/dev/disk/by-id/scsi-3600a098000aad1e300000b4b5a275d45-part2 -> ../../dm-5
/dev/disk/by-id/wwn-0x600a098000aad1e300000b4b5a275d45-part2 -> ../../dm-5
/dev/disk/by-partuuid/1c2f70e0-fb91-49f5-8260-38eacaf7992b -> ../../dm-5
/dev/disk/by-uuid/f67c49e9-3cf2-4bb7-8991-63568cb840a4 -> ../../dm-5
/dev/mapper/mpatha-part2 -> ../dm-5

パーティションにはby-uuidリンクもあることが多く、デバイス自体を参照するのではなく、デバイスに含まれているファイルシステムを参照します。多くの場合、これらのリンクが推奨されます。これらは、ファイルシステムが別のデバイスまたはパーティションにコピーされても不変です。

警告
警告: initramfsのマップ名

dracutは、initramfsを構築するとき、initramfsのデバイスへのハードコード化された参照を作成します。デフォルトでは、/dev/mapper/$MAP_NAME参照を使用します。これらのハードコード化された参照は、initramfsで使用されているマップ名がinitramfs構築中に使用した名前と一致しない場合、起動中には見つからず、起動エラーになります。通常、この状況にはなりません。その理由は、dracutがすべてのマルチパス設定ファイルをinitramfsに追加するためです。ただし、initramfsが異なる環境(レスキューシステム、またはオフライン更新中など)から構築されている場合、この問題が発生する可能性があります。この起動エラーが発生しないようにするには、18.7.4.2項 「initramfsの永続的なデバイス名」で説明されているように、dracutpersistent_policy設定を変更します。

18.13 その他のオプション

このセクションでは、これまでに説明しなかった有用ないくつかのmultipath.confオプションを一覧表示します。完全なリストについては、multipath.conf(5)を参照してください。

verbosity

multipathmultipathdの両方のログ詳細度を制御します。コマンドラインオプション-vを使用すると、両方のコマンドについてこの設定が上書きされます。この値は、0 (致命的エラーのみ)と 4 (詳細なログ記録)の間で設定できます。デフォルトは2です。

uid_attrs

このオプションを使用すると、udevイベントの処理を最適化できます(いわゆる「ueventマージ」)。これは、数百のパスデバイスが同時に障害を起こしたり同時に再検出されたりする環境で有用です。パスのWWIDが変更されないようにするためには(18.12.1項 「WWIDおよびデバイスの識別」を参照)、この値を正確に次のように設定する必要があります。

defaults {
     uid_attrs "sd:ID_SERIAL dasd:ID_UID nvme:ID_WWN"
}
skip_kpartx

マルチパスデバイスでyesに設定する場合(デフォルトはno)、指定したデバイスの上にパーティションデバイスを作成しないでください(18.7.3項 「マルチパスデバイスのパーティションおよびkpartxを参照)。仮想マシンによって使用されるマルチパスデバイスで有用です。以前のSUSE Linux Enterprise Serverリリースでは、同じ効果をパラメータ「features 1 no_partitions」を使用して実現していました。

max_sectors_kb

マルチパスマップのすべてのパスデバイスに対して1つのI/O要求で送信される最大データ量を制限します。

ghost_delay

アクティブ/パッシブアレイで、アクティブパスの前にパッシブパス(「ゴースト」状態)が検出される場合があります。マップがすぐにアクティブ化され、I/Oが送信されると、上記の状態では、負荷の大きいパスがアクティブ化される可能性があります。このパラメータは、マップをアクティブにする前に、マップのアクティブパスが表示されるまでに待機する時間(秒単位)を指定します。デフォルトはno (ゴースト遅延なし)です。

recheck_wwid

yes (デフォルトはno)に設定すると、障害発生後に復元したパスのWWIDをダブルチェックし、WWIDが変更されている場合にはパスを削除します。これはデータの破損を防ぐための安全対策です。

enable_foreign

multipath-toolsは、デバイスマッパーのマルチパス以外のマルチパス処理バックエンド用にプラグインAPIを提供します。このAPIは、multipath -llのような標準コマンドを使用して、マルチパストポロジに関する情報の監視および表示をサポートしています。トポロジの変更はサポートされていません。

enable_foreignの値は、外部のライブラリ名と照合するための正規表現です。デフォルト値は「NONE」です。

SUSE Linux Enterprise Serverには、ネイティブNVMeマルチパス処理のサポートを追加するnvmeプラグインが備わっています(18.2.1項 「マルチパス実装: デバイスマッパーとNVMe」を参照)。nvmeプラグインを有効にするには、次のように設定します。

defaults {
    enable_foreign nvme
}

18.13.1 信頼性の低い(「ぎりぎりの」)パスデバイスの処理

Fabricの状態が不安定だと、パスデバイスの動作が不安定になる可能性があります。I/Oエラーの発生、回復、障害の再発生が頻繁に起こります。このようなパスデバイスは、「ぎりぎりの」または「不安定な」パスと呼ばれることもあります。このセクションでは、この問題に対処するためにmultipath-toolsが提供するオプションをまとめています。

注記
注記: multipathdのぎりぎりのパスチェックアルゴリズム

パスデバイスで、最初の失敗が発生してからmarginal_path_double_failed_timeが経過する前に、2回目の失敗(良好→不良の移行)が発生した場合、multipathdは、監視期間marginal_path_err_sample_timeの間、1秒あたり10回の要求の速度でパスの監視を開始します。監視期間中のエラー率がmarginal_path_err_rate_thresholdを超えると、このパスはぎりぎりに分類されます。marginal_path_err_recheck_gap_time経過後、パスは、再び通常状態に移行します。

このアルゴリズムは、4つの数値のmarginal_path_パラメータがすべて正の値に設定されていて、marginal_pathgroupsfpinに設定されていない場合に使用されます。これは、SUSE Linux Enterprise Server 15 SP1以降およびSUSE Linux Enterprise Server 12 SP5以降使用できます。

marginal_path_double_failed_time

パス監視をトリガする2回のパスの失敗間の最大時間(秒単位)。

marginal_path_err_sample_time

パス監視間隔の長さ(秒単位)。

marginal_path_err_rate_threshold

最小エラー率(I/O 1000回あたり)。

marginal_path_err_recheck_gap_time

パスをぎりぎりの状態に保つ時間(秒単位)。

marginal_pathgroups

このオプションは、SLES 15SP3以降使用できます。次の値を使用できます。

off

ぎりぎりの状態はmultipathdによって決まります(上記を参照)。ぎりぎりのパスは、ぎりぎりの状態である限り、復帰しません。これはデフォルトであり、marginal_pathgroupsオプションを使用できなかったSUSE Linux Enterprise ServerのSP3より前のリリースの動作です。

on

offオプションと似ていますが、ぎりぎりのパスを失敗状態のままにするのではなく、別のパスグループに移動します。このグループは、他のすべてのパスグループより低い優先度を割り当てられます(18.10項 「パスのグループ化および優先度の設定」を参照)。このパスグループのパスは、他のパスグループのすべてのパスが失敗した場合のみI/Oに使用されます。

fpin

この設定は、SLES 15SP4以降使用できます。ぎりぎりのパス状態は、FPINイベントから導出されます(以下を参照)。ぎりぎりのパスは、offの説明と同様に別のパスグループに移動します。この設定では、ホスト側の追加設定は不要です。これは、FPINをサポートしているファイバチャネルファブリックでぎりぎりのパスを処理する場合に推奨される方法です。

注記
注記: FPINベースのぎりぎりのパス検出

multipathdは、FPIN (Fibre Channel Performance Impact Notifications: ファイバチャネルのパフォーマンスへの影響通知)をリスンします。パスデバイスに対してFPIN-LI (リンクの完全性)イベントを受信すると、パスは、ぎりぎりの状態になります。この状態は、RSCNまたはリンクアップイベントが、デバイスの接続先のファイバチャネルアダプタで受信されるまで継続します。

パラメータsan_path_err_thresholdsan_path_err_forget_rate、およびsan_path_err_recovery timeを使用するより単純なアルゴリズムも利用可能で、SUSE Linux Enterprise Server 15 (GA)で推奨されています。multipath.conf(5)の「不安定なパスの検出」セクションを参照してください。

18.14 ベストプラクティス

18.14.1 設定のベストプラクティス

設定ディレクティブの数が多いと最初は気後れします。通常、クラスタ環境で作業していない限り、空の設定で良い結果を得ることができます。

ここでは、スタンドアロンサーバの一般的な推奨事項を紹介します。これらは「必須ではありません」。背景情報については、前の各セクションの該当するパラメータのマニュアルを参照してください。

defaults {
    deferred_remove      yes
    find_multipaths      smart
    enable_foreign       nvme
    marginal_pathgroups  fpin    # 15.4 only, if supported by fabric
}
devices {
    # A catch-all device entry.
    device {
        vendor                .*
        product               .*
        dev_loss_tmo          infinity
        no_path_retry         60            # 5 minutes
        path_grouping_policy  group_by_prio
        path_selector         "historical-service-time 0"
        reservation_key       file          # if using SCSI persistent reservations
    }
    # Follow up with specific device entries below, they will take precedence.
}

/etc/multipath.confファイルを変更した後、18.8.4項 「multipath.confの変更の適用」の説明に従って設定を適用します。

18.14.2 マルチパスI/Oステータスの解釈

マルチパスサブシステムの概要を簡単に確認するには、multipath -llまたはmultipathd show topologyを使用します。これらのコマンドの出力の形式は同じです。前のコマンドはカーネルの状態を読み取り、後のコマンドはマルチパスデーモンのステータスを出力します。通常、両方の状態は同じです。出力の一例を次に示します。

> sudo multipathd show topology
mpatha1 (3600a098000aad1e300000b4b5a275d452) dm-03 NETAPP,INF-01-004
size=64G features='3 queue_if_no_path pg_init_retries 50'5 hwhandler='1 alua'6 wp=rw7
|-+- 8policy='historical-service-time 2'9 prio=5010 status=active11
| |-12 3:0:0:113 sdb 8:1614 active15 ready16 running17
| `- 4:0:0:1 sdf 8:80  active ready running
`-+- policy='historical-service-time 2' prio=10 status=enabled
  `- 4:0:1:1 sdj 8:144 active ready running

1

マップ名。

2

マップのWWID (マップ名と違う場合)。

3

マップデバイスのデバイスノード名。

4

ベンダおよび製品名。

8

パスグループ。パスグループの下のインデントされた行には、このグループに属しているパスデバイスがリストされます。

9

パスグループで使用されるパスセレクタアルゴリズム。「2」は無視できます。

10

パスグループの優先度。

11

パスグループのステータス(activeenabledまたはdisabled)。アクティブなパスグループは、I/Oが現在送信されているグループです。

12

パスデバイス。

13

デバイスのバスID(ここでは、SCSI Host:Bus:Target:Lun ID)。

14

デバイスノード名およびパスデバイスのメジャー/マイナー番号。

15

パスのカーネルデバイスマッパー状態(activeまたはfailed)。

16

マルチパスのパスデバイスの状態(以下を参照)。

17

カーネルのパスデバイスの状態。これはデバイスタイプ固有の値です。SCSIでは、これはrunningまたはofflineのいずれかです。

マルチパスのパスデバイスの状態を次に示します。

ready

パスは正常で動作中です

ghost

アクティブ/パッシブアレイのパッシブパス

faulty

パスがダウンしているか、到達できません

i/o timeout

チェッカーコマンドがタイムアウトしています

i/o pending

パスチェッカーコマンドの完了を待っています

delayed

「フラッピング」を回避するためにパスの再インスタンス化が遅延しています

shaky

信頼性の低いパス(emcパスチェッカーのみ)

18.14.3 マルチパスデバイスでのLVM2の使用

LVM2には、マルチパスデバイスを検出するためのサポートが組み込まれています。これは/etc/lvm/lvm.confでデフォルトでアクティブになっています。

    multipath_component_detection=1

これは、デバイスのプロパティに関する情報もudevから取得するようにLVM2が設定されている場合のみ安定して動作します。

    external_device_info_source="udev"

これは、SUSE Linux Enterprise 15 SP4ではデフォルトですが、以前のリリースでは違います。マルチパスデバイスを除くすべてのデバイスを無視するLVM2のフィルタ式を作成することも可能です(通常は不要です)。18.12.4項 「マルチパスマップの参照」を参照してください。

18.14.4 停止したI/Oの解決

すべてのパスが同時に失敗し、I/Oがキューに入れられると、アプリケーションが長時間停止する可能性があります。これを解決するために、次の手順を使用できます。

  1. 端末のプロンプトで、次のコマンドを入力します。

    > sudo multipathd disablequeueing map MAPNAME

    MAPNAMEをデバイスの正しいWWIDまたはマップされたエイリアス名で置き換えます。

    このコマンドにより、キューで待機中のすべてのI/Oがエラーとなり、エラーが呼び出し側アプリケーションにプロパゲートします。ファイルシステムはI/Oエラーを監視し、読み取り専用モードに切り替わります。

  2. 次のコマンドを入力して、キューを再びアクティブにします。

    > sudo multipathd restorequeueing MAPNAME

18.14.5 マルチパスデバイスのMD RAID

マルチパス処理の上部でMD RAIDアレイは、システムのudevルールによって自動的にセットアップされます。/etc/mdadm.confの特別な設定は不要です。

18.14.6 新規デバイスのスキャン(再起動なし)

ご使用のシステムがマルチパス処理用に設定されており、SANにストレージを追加する必要がある場合は、rescan-scsi-bus.shスクリプトを使用して新しいデバイスをスキャンすることができます。コマンドの一般的な構文は次の例に従います。

> sudo rescan-scsi-bus.sh [-a] [-r] --hosts=2-3,5

各オプションには次のような意味があります。

-a

このオプションを使用すると、すべてのSCSIターゲットがスキャンされます。使用しないと、既存のターゲットのみが新しいLUNに対してスキャンされます。

-r

このオプションを使用すると、ストレージ側で削除されたデバイスを削除できます。

--hosts

このオプションを使用すると、スキャンするホストバスアダプタのリストが指定されます(デフォルトはすべてスキャン)。

その他のオプションのヘルプを表示するには、rescan-scsi-bus.sh --helpを実行します。

multipathdを実行中に新しいSANデバイスが検出されると、18.11項 「マルチパス処理のためのデバイスの選択」で説明されている設定に従って、マルチパスマップとして自動的にセットアップされます。

警告
警告: Dell/EMC PowerPath環境

EMC PowerPath環境では、SCSIバスをスキャンする場合に、オペレーティングシステムに付属するrescan-scsi-bus.shユーティリティまたはHBAベンダスクリプトを使用しないでください。ファイルシステムが破損する可能性を避けるため、EMCでは、Linux用EMC PowerPathのベンダマニュアルに記載されている手順に従うよう求めています。

18.15 MPIOのトラブルシューティング

マルチパスを含むシステムでシステムが緊急モードになり、見つからないデバイスに関するメッセージが出力される場合、その理由はほとんどの場合、次のいずれかです。

  • マルチパスデバイス選択の設定に整合性がない

  • 存在しないデバイス参照を使用している

18.15.1 デバイス選択の問題の理解

ブロックデバイスは、マルチパスマップの一部にするか、または直接使用(ファイルシステムとしてマウント、スワップとして使用、LVM物理モジュール、その他)することができます。デバイスがすでにマウントされている場合、これをmultipathdでマルチパスマップの一部にしようとすると失敗し、「デバイスまたはリソースがビジーです」(Device or resource busy)というエラーが表示されます。逆に、すでにマルチパスマップの一部になっているデバイスをsystemdがマウントしようとすると同じエラーが発生します。

起動時のストレージデバイスのアクティブ化は、systemdudevmultipathdおよびその他のツールの間での複雑なやり取りによって処理されます。udevルールが中心的な役割を果たします。これらは、デバイスの使用方法を他のサブシステムに指示するデバイスのプロパティを設定します。マルチパス関連のudevルールは、マルチパス処理用に選択されたデバイスに対して次のプロパティを設定します。

SYSTEMD_READY=0
DM_MULTIPATH_DEVICE_PATH=1

パーティションデバイスは、これらのプロパティをその親から継承します。

これらのプロパティが正しく設定されない場合、一部のツールがプロパティに従っていない場合、または設定が遅すぎる場合、multipathdとその他のサブシステムとの間で競合状態が発生する可能性があります。競合に勝ち残れるのは1つだけです。それ以外は、「デバイスまたはリソースがビジーです」(Device or resource busy)というエラーが表示されます。

このコンテキストにおける1つの問題は、LVM2スイートのツールがデフォルトではudevプロパティを評価しないことです。これらは、デバイスがマルチパスコンポーネントかどうかを判定する独自のロジックを使用しますが、このロジックは、システムの残りの部分のロジックと一致しない場合があります。この回避方法は、18.14.3項 「マルチパスデバイスでのLVM2の使用」で説明されています。

注記
注記: 起動デッドロックの例

ルートデバイスがマルチパス処理されておらず、マルチパスから除外されているデバイスがない、マルチパス処理を備えたシステムを考えてみます(18.3.2.2項 「ローカルディスクのルートファイルシステム」initramfsでマルチパスを無効にするを参照)。このルートファイルシステムはinitramfsにマウントされています。systemdは、ルートファイルシステムに切り替わり、multipathdが起動します。デバイスがすでにマウントされているため、multipathdは、そのデバイスのマルチパスマップをセットアップできません。ルートデバイスは、blacklistで設定されていないため、マルチパスデバイスとみなされ、このデバイス用にSYSTEMD_READY=0が設定されます。

起動プロセスの後半で、システムは、/var/homeのような追加のファイルシステムをマウントしようとします。通常、これらのファイルシステムはルートファイルシステムと同じデバイス上にあり、デフォルトではルートファイルシステム自体のBTRFSサブボリュームとして配置されます。ただし、systemdは、SYSTEMD_READY=0のためにこれらをマウントできません。「デッドロック状態」: dm-multipathデバイスを作成できず、systemdの基礎となるデバイスはブロックされます。追加のファイルシステムをマウントできず、起動に失敗します。

この問題の解決策はすでに存在します。 multipathdは、この状況を検出し、デバイスをsystemdにリリースします。これにより、ファイルシステムのマウントを続行できます。ただし、一般的な問題を理解することが重要です。より分かりにくい形で発生する可能性もあるからです。

18.15.2 デバイス参照の問題の理解

デバイス参照の問題の例は18.7.4.2項 「initramfsの永続的なデバイス名」で示しました。通常、1つのデバイスノードを指すシンボリックリンクは複数存在します(18.12.4項 「マルチパスマップの参照」を参照)。ただし、これらのリンクは常に存在するわけではありません。udevは、現在のudevルールに従ってリンクを作成します。たとえば、マルチパス処理をオフにすると、/dev/mapper/の下にあるマルチパスデバイス用のシンボリックリンクはなくなります。したがって、/dev/mapper/デバイスへの参照は失敗します。

そのような参照は、さまざまな場所、特に/etc/fstabおよび/etc/crypttab、initramfs、またはカーネルコマンドラインにも配置できます。

この問題を回避する最も安全な方法は、起動と起動の間で持続しない種類のデバイス参照またはシステム設定に依存する種類のデバイス参照の使用を避けることです。一般的に、ファイルシステム(およびスワップ領域のような類似のエンティティ)は、含む側のデバイスではなく、ファイルシステム自体のプロパティ(UUIDやラベルなど)によって参照することをお勧めします。このような参照を使用できず、たとえば/etc/crypttabでデバイス参照が必要な場合、オプションを慎重に評価する必要があります。たとえば、18.12.4項 「マルチパスマップの参照」では、最良のオプションは/dev/disk/by-id/wwn-リンクかもしれません。これはmultipath=offでも機能するからです。

18.15.3 緊急モードでのトラブルシューティング手順

微妙に異なるエラー状況が多数あるため、ステップバイステップのリカバリガイドを提供することは不可能です。ただし、これまでのサブセクションから背景知識を得ていれば、マルチパス処理の問題が原因でシステムが緊急モードになった場合、その問題を理解できるはずです。デバッグを始める前に、次の質問を確認してください。

  • マルチパスサービスは有効になっていますか。

  • initramfsにマルチパスdracutモジュールが含まれていますか。

  • ルートデバイスがマルチパスデバイスとして設定されていますか。設定されていない場合、18.11.1項 「multipath.confblacklistセクション」で説明されているように、ルートデバイスはマルチパスから正しく除外されていますか。または、initramfsにマルチパスモジュールがないことに依存していますか(18.3.2.2項 「ローカルディスクのルートファイルシステム」を参照)。

  • システムが緊急モードになったのは、実際のルートファイルシステムに切り替わる前ですか、または切り替わった後ですか。

最後の質問の答えがわからない場合、サンプルのdracut緊急プロンプトを次に示します。これは、ルートを切り替える前に出力されます。

Generating "/run/initramfs/rdsosreport.txt"
Entering emergency mode. Exit the shell to continue.
Type "journalctl" to view system logs.

You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot
after mounting them and attach it to a bug report.

Give root password for maintenance
(or press Control-D to continue):

rdsosreport.txtが記載されているということは、システムがまだinitramfsから実行されていることを明確に示しています。それでもわからない場合、ログインして、ファイル/etc/initrd-releaseの存在を確認します。このファイルは、initramfs環境にのみ存在します。

ルートを切り替えた後に緊急モードになった場合、緊急プロンプトは同じように見えますが、rdsosreport.txtは記載されません。

Timed out waiting for device dev-disk-by\x2duuid-c4a...cfef77d.device.
[DEPEND] Dependency failed for Local File Systems.
[DEPEND] Dependency failed for Postfix Mail Transport Agent.
Welcome to emergency shell
Give root password for maintenance
(or press Control-D to continue):
手順 18.2: 緊急モードの状況を分析する手順
  1. 障害が発生したsystemdユニットとジャーナルを調べて、何で障害が発生したのかを突き止めます。

    # systemctl --failed
    # journalctl -b -o short-monotonic

    ジャーナルを確認して、「最初に」障害が発生したユニットを特定します。最初の障害が判明したら、その時点の前後のメッセージを注意深く調べます。警告またはその他の疑わしいメッセージはありますか。

    ルートスイッチ(「Switching root.」)および、SCSIデバイス、デバイスマッパー、マルチパス、LVM2に関するメッセージがないか注意します。デバイスおよびファイルシステムに関するsystemdメッセージ(「Found device…」、「Mounting…」、「Mounted…」)を探します。

  2. 既存のデバイス(低レベルデバイスとデバイスマッパーデバイスの両方)を調べます(下記コマンドの一部はinitramfsで使用できない場合があります)。

    # cat /proc/partitions
    # ls -l /sys/class/block
    # ls -l /dev/disk/by-id/* /dev/mapper/*
    # dmsetup ls --tree
    # lsblk
    # lsscsi

    上記のコマンドの出力から、低レベルデバイスを正常に検出できたかどうか、およびマルチパスマップおよびマルチパスパーティションがセットアップされたかどうかがわかるはずです。

  3. デバイスマッパーのマルチパスセットアップが予期どおりでない場合、udevプロパティ(特に、SYSTEMD_READY)を調べます(上記を参照)。

    # udevadm info -e
  4. 前の手順で予期しなかったudevプロパティが表示された場合、udevルールの処理中に不具合が発生した可能性があります。その他のプロパティ(特に、デバイスの識別に使用されたプロパティ)を確認します(18.12.1項 「WWIDおよびデバイスの識別」を参照)。udevプロパティが正しい場合、ジャーナルでmultipathdのメッセージを再度確認します。「Device or resource busy」メッセージを探します。

  5. システムがデバイスのマウントまたはアクティブ化に失敗した場合は、このデバイスを手動でアクティブ化してみると功を奏すことがよくあります。

    # mount /var
    # swapon -a
    # vgchange -a y

    ほとんどの場合、手動のアクティブ化は成功し、システム起動を続行し(通常は緊急シェルからログアウトするだけで可能)、起動したシステムで状況をさらに調べることができます。

    手動のアクティブ化に失敗すると、多くの場合、不具合のヒントを示すエラーメッセージが表示されます。詳細度を上げてコマンドを再試行することもできます。

  6. この時点で、何が問題だったのかある程度見当がつくはずです(そうでない場合、SUSEサポートに連絡し、上記の質問のほとんどに答えることができるよう準備してください)。

    いくつかのシェルコマンドを使用して状況を修正し、緊急シェルを終了して、正常に起動できるはずです。同じ問題が今後発生しないよう、引き続き設定を調整する必要があります。

    または、レスキューシステムを起動し、デバイスを手動でセットアップしてchrootコマンドで実際のルートファイルシステムに変更し、前の手順で得た知見に基づいて問題の解決を試みる必要があります。この状況では、ルートファイルシステムのストレージスタックが通常と異なっている場合があることに注意してください。セットアップに応じて、新しいinitramfsを構築するときにdracutモジュールの強制追加または省略が必要になる場合があります。18.7.4.1項 「initramfsでのマルチパス処理の有効化または無効化」も参照してください。

  7. 問題の発生頻度が高いまたは起動のたびに問題が発生する場合、障害の詳細情報を得るために、詳細度を上げて起動を試します。次のカーネルパラメータ、またはそれらの組み合わせが役立つことがよくあります。

    udev.log-priority=debug1
    systemd.log_level=debug2
    scsi_mod.scsi_logging_level=0204003
    rd.debug4

    1

    systemd-udevdおよびudevルール処理のログレベルを上げます。

    2

    systemdのログレベルを上げます。

    3

    カーネルのSCSIサブシステムのロギングレベルを上げます。

    4

    initramfsのスクリプトを追跡します。

    また、特定のドライバのロギングを有効にし、シリアルコンソールを設定して起動中の出力をキャプチャする方法が役に立つ場合があります。

18.15.4 技術情報ドキュメント

SUSE Linux Enterprise ServerのマルチパスI/Oの問題のトラブルシューティングの詳細については、SUSEナレッジベースにある、次のTID (技術情報ドキュメント)を参照してください。