ストレージマルチパス

最終公開日 : Oct 07, 2026
Fibre Channel および iSCSI ストレージバックエンドでは、動的マルチパスがサポートされています。
XenServer® は、汎用 Linux マルチパスソリューションである Linux ネイティブマルチパス (DM-MP) をマルチパスハンドラーとして使用します。ただし、XenServer はこのハンドラーに追加機能を提供し、ストレージデバイスのベンダー固有の機能を認識できるようにします。
マルチパスを構成すると、部分的な接続損失が発生した場合にリモートストレージトラフィックの冗長性が提供されます。マルチパスは、冗長性とスループット向上のために、複数のパスを介してストレージトラフィックをストレージデバイスにルーティングします。単一の LUN に対して最大 16 のパスを使用できます。マルチパスはアクティブ/アクティブ構成です。デフォルトでは、マルチパスはストレージアレイの種類に応じて、ラウンドロビンまたはマルチバス負荷分散のいずれかを使用します。すべてのルートは、通常の操作中にアクティブなトラフィックを持ち、これによりスループットが向上します。
重要:
We recommend that you enable multipathing for all hosts in your pool before creating the SR. If you create the SR before enabling multipathing, you must put your hosts into maintenance mode to enable multipathing.
NIC ボンディングもストレージトラフィックの冗長性を提供できます。iSCSI ストレージの場合、可能な限り NIC ボンディングの代わりにマルチパスを構成することをお勧めします。
マルチパスは、次のシナリオでは効果がありません。
  • NFS ストレージデバイス
  • NIC の数が限られており、iSCSI トラフィックとファイルトラフィック (NFS または SMB) を同じ NIC 経由でルーティングする必要がある場合
これらの場合は、代わりに NIC ボンディングの使用を検討してください。NIC ボンディングの詳細については、「ネットワーク」を参照してください。

前提条件

マルチパスを有効にする前に、次の記述が正しいことを確認してください。
  • ストレージサーバーで複数のターゲットが利用可能であること。
    たとえば、特定のポータルで sendtargets に対してクエリを実行した iSCSI ストレージバックエンドは、次の例のように複数のターゲットを返します。
    iscsiadm -m discovery --type sendtargets --portal 192.168.0.161
    192.168.0.161:3260,1 iqn.strawberry:litchie
    192.168.0.204:3260,2 iqn.strawberry:litchie
    ただし、単一のターゲットのみを公開するアレイに対してiSCSIマルチパスを有効にするための追加構成を実行できます。詳細については、「単一のターゲットのみを公開するアレイのiSCSIマルチパス」を参照してください。
  • iSCSIの場合のみ、制御ドメイン (dom0) は、マルチパスストレージで使用される各サブネットにIPアドレスを持っています。
    ストレージへの各パスに対して、NICがあり、各NICにIPアドレスが構成されていることを確認してください。たとえば、ストレージへのパスを4つにしたい場合は、それぞれIPアドレスが構成された4つのNICが必要です。
  • iSCSIの場合のみ、すべてのiSCSIターゲットとイニシエーターは一意のIQNを持っています。
  • iSCSIの場合のみ、iSCSIターゲットポートはポータルモードで動作しています。
  • HBAの場合のみ、複数のHBAがスイッチファブリックに接続されています。
  • セカンダリインターフェースを構成する場合、各セカンダリインターフェースは個別のサブネット上にある必要があります。たとえば、ストレージ用にさらに2つのセカンダリインターフェースを構成したい場合、3つの異なるサブネットにIPアドレスが必要です。管理インターフェース用のサブネット1つ、セカンダリインターフェース1用のサブネット1つ、セカンダリインターフェース2用のサブネット1つです。
    マルチパスiSCSI図
    この図は、マルチパスiSCSI構成のホスト上の両方のNICが異なるサブネット上にある必要があることを示しています。この図では、ホスト上のNIC 1とスイッチ1、および両方のストレージコントローラー上のNIC 1は、NIC2、スイッチ2、およびストレージコントローラー上のNIC 2とは異なるサブネット上にあります。

マルチパスを有効にする

XenCenter®またはxe CLIでマルチパスを有効にできます。

XenCenterを使用してマルチパスを有効にするには

  1. XenCenterのリソースペインで、ホストを右クリックし、メンテナンスモードに入るを選択します。
  2. 続行する前に、ホストがメンテナンスモードアイコン(青い四角)とともにリソースペインに再表示されるまで待ちます。
  3. ホストの全般タブで、プロパティをクリックし、マルチパスタブに移動します。
  4. マルチパスを有効にするには、「Enable multipathing on this server」チェックボックスを選択します。
  5. 新しい設定を適用するには、OK をクリックします。XenCenter が新しいストレージ構成を保存する間、少し時間がかかります。
  6. リソース ペインで、ホストを右クリックし、メンテナンスモードの終了 を選択します。
  7. プール内のすべてのホストでマルチパスを有効にするには、これらの手順を繰り返します。
プール内のすべてのホストでマルチパスを有効にしてください。すべてのケーブル接続、およびiSCSIの場合はサブネット構成が、各ホストの対応するNICと一致している必要があります。

xe CLI を使用してマルチパスを有効にするには

  1. XenServer ホスト上でコンソールを開きます。
  2. 次のコマンドを使用して、ホスト上のすべてのPBDをプラグ解除します。
    xe pbd-unplug uuid=<pbd_uuid>
    コマンド xe pbd-list を使用して、PBDのUUIDを見つけることができます。
  3. 次のコマンドを使用して、multipathing パラメーターの値を true に設定します。
    xe host-param-set uuid=<host uuid> multipathing=true
  4. サーバー上に、シングルパスモードで実行されているが複数のパスを持つ既存のSRがある場合:
    • 影響を受けるSR内の仮想ディスクを持つ実行中のゲストを移行または一時停止します。
    • マルチパスを使用して再接続するために、影響を受けるSRのPBDを再接続します。
      xe pbd-plug uuid=<pbd_uuid>
  5. プール内のすべてのホストでマルチパスを有効にするには、これらの手順を繰り返します。
プール内のすべてのホストでマルチパスを有効にしてください。すべてのケーブル接続、およびiSCSIの場合はサブネット構成が、各ホストの対応するNICと一致している必要があります。

マルチパスを無効にする

XenCenterまたはxe CLIでマルチパスを無効にできます。

XenCenterを使用してマルチパスを無効にするには

  1. XenCenterのリソースペインで、ホストを右クリックし、メンテナンスモードに入るを選択します。
  2. 続行する前に、ホストがメンテナンスモードアイコン(青い四角)とともにリソースペインに再表示されるまで待ちます。
  3. ホストの全般タブで、プロパティをクリックし、マルチパスタブに移動します。
  4. マルチパスを無効にするには、このサーバーでマルチパスを有効にするチェックボックスをオフにします。
  5. OKをクリックして新しい設定を適用します。XenCenterが新しいストレージ構成を保存する間、短い遅延が発生します。
  6. リソースペインで、ホストを右クリックし、メンテナンスモードを終了を選択します。
  7. プール内のすべてのホストでマルチパスを構成するには、これらの手順を繰り返します。

xe CLIを使用してマルチパスを無効にするには

  1. XenServerホストでコンソールを開きます。
  2. 次のコマンドを使用して、ホスト上のすべてのPBDをプラグ解除します。
    xe pbd-unplug uuid=<pbd_uuid>
    PBDのUUIDを見つけるには、コマンドxe pbd-listを使用できます。
  3. 次のコマンドを使用して、multipathingパラメーターの値をfalseに設定します。
    xe host-param-set uuid=<host uuid> multipathing=false
  4. シングルパスモードで実行されているが、複数のパスを持つ既存のSRがサーバー上にある場合:
    • 影響を受けるSR内の仮想ディスクを持つ実行中のゲストを移行または一時停止する
    • マルチパスを使用して再接続するために、影響を受けるSRのPBDを抜き差しする:
      xe pbd-plug uuid=<pbd_uuid>
  5. これらの手順を繰り返して、プール内のすべてのホストでマルチパスを無効にします。

マルチパスの構成

追加の一時的なマルチパス構成の変更を行うには、ディレクトリ /etc/multipath/conf.d に .conf というサフィックスを持つファイルを作成します。これらのファイルに追加の構成を追加します。マルチパスは、ディレクトリをアルファベット順に検索し、.conf で終わるファイルから構成情報を読み取ります。
ファイル /etc/multipath.conf を編集しないでください。このファイルはXenServerのアップデートによって上書きされます。マルチパス構成に永続的な変更を加えたい場合は、ストレージベンダーに連絡し、パートナーエンジニアリングチームに依頼して変更を永続的に追加してもらうことができます。

単一サブネット上のiSCSIマルチパス

XenServerを構成して、単一サブネット上でターゲットとIQNを公開するストレージアレイでiSCSIマルチパスを使用できます。たとえば、Dell EqualLogic PSおよびFS統合シリーズストレージアレイを設定するには、以下の手順に従います。
デフォルトでは、XenServerはiSCSIターゲットごとに1つの接続のみを確立します。したがって、デフォルト構成では、フェイルオーバーとロードバランシングを実現するためにNICボンディングを使用することが推奨されます。このセクションで概説する構成手順は、単一のサブネットまたはターゲットに対して複数のiSCSI接続が確立される代替構成について説明しています。NICボンディングは必要ありません。
注:
以下の構成は、単一のサブネットを介してターゲットとIQNを公開するストレージアレイに排他的に接続されているサーバーのみがサポートされます。これらのストレージアレイは、XenServerでこの手順のために認定されている必要があります。
マルチパスを構成するには:
  1. 保護したいデータをすべてバックアップします。
  2. XenCenterのリソースペインで、ホストを右クリックし、メンテナンスモードに入るを選択します。
  3. 続行する前に、ホストがメンテナンスモードアイコン(青い四角)とともにリソースペインに再表示されるまで待機します。
  4. ホストの全般タブで、プロパティをクリックし、次にマルチパスタブに移動します。
  5. マルチパスを有効にするには、このサーバーでマルチパスを有効にするチェックボックスをオンにします。
  6. OKをクリックして新しい設定を適用します。XenCenterが新しいストレージ構成を保存する間、短い遅延が発生します。
  7. ホストコンソールで、2~4個のOpen-iSCSIインターフェースを構成します。各iSCSIインターフェースは、個別のパスを確立するために使用されます。以下の手順は、2つのインターフェースの場合のプロセスを示しています。
    1. 2つのiSCSIインターフェースを構成し、次のコマンドを実行します。
      iscsiadm -m iface --op new -I c_iface1
      iscsiadm -m iface --op new -I c_iface2
      インターフェース名にプレフィックスc_が付いていることを確認してください。インターフェースがこの命名標準を使用しない場合、それらは無視され、代わりにデフォルトのインターフェースが使用されます。
      注:
      この構成では、すべての接続にデフォルトのインターフェースが使用されます。これは、すべての接続が単一のインターフェースを使用して確立されていることを示します。
    2. iSCSIインターフェースをxenbr1とxenbr2にバインドするには、次のコマンドを使用します。
      iscsiadm -m iface --op update -I c_iface1 -n iface.net_ifacename -v xenbr1
      iscsiadm -m iface --op update -I c_iface2 -n iface.net_ifacename -v xenbr2
      注:
      この構成は、コントロール ドメイン用に構成されたネットワーク インターフェース(xenbr1およびxenbr2を含む)とxenbr0が管理に使用されることを前提としています。また、ストレージ ネットワークに使用されるNICカードがNIC1とNIC2であることも前提としています。 そうでない場合は、ネットワーク トポロジを参照して、これらのコマンドで使用するネットワーク インターフェースとNICカードを特定してください。
  8. XenCenterのリソースペインで、ホストを右クリックし、メンテナンスモードの終了を選択します。まだVMを再開しないでください。
  9. ホストコンソールで、セッションを検出してログインするために、次のコマンドを実行します。
    iscsiadm -m discovery -t st -p &lt;IP of SAN>
    iscsiadm -m node -L all
  10. 古いセッション情報を含む無効なエントリを削除するには、次のコマンドを使用します。
    cd /var/lib/iscsi/send_targets/&lt;IP of SAN and port, use ls command to check that>
    rm -rf &lt;iqn of SAN target for that particular LUN>

    cd /var/lib/iscsi/nodes/
    rm -rf &lt;entries for that particular SAN>
  11. LUNをデタッチして、再度アタッチします。これを行うには、次のいずれかの方法があります。
    • プール内のすべてのホストで前述の手順を完了した後、XenCenterを使用してプール全体のLUNをデタッチおよび再アタッチできます。
    • または、各ホストのPBDをアンプラグして破棄し、SRを修復することもできます。
      1. PBDをアンプラグして破棄するには、次のコマンドを実行します。
        1. SRのUUIDを見つけます。
          xe sr-list
        2. SRに関連付けられているPBDのリストを取得します。
          xe pbd-list sr-uuid=&lt;sr_uuid>
        3. 前のコマンドの出力で、SCSI IDが一致しないiSCSIストレージリポジトリのPBDのUUIDを探します。
        4. 特定したPBDをアンプラグして破棄します。
          xe pbd-unplug uuid=&lt;pbd_uuid>
          xe pbd-destroy uuid=&lt;pbd_uuid>
      2. XenCenterでストレージを修復します。
  12. これでVMを再開できます。