ストレージマルチパス

最終公開日 : Oct 07, 2026
ファイバーチャネルおよび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は、NIC 2、スイッチ2、およびストレージコントローラー上のNIC 2とは異なるサブネット上にあります。

マルチパスを有効にする

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

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

  1. XenCenterのリソースペインで、ホストを右クリックし、メンテナンスモードに入るを選択します。
  2. 続行する前に、ホストがメンテナンスモードアイコン(青い四角)とともにリソースペインに再表示されるまで待ちます。
  3. ホストの全般タブで、プロパティをクリックし、マルチパスタブに移動します。
  4. マルチパスを有効にするには、このサーバーでマルチパスを有効にする チェックボックスを選択します。
  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>
    xe pbd-listコマンドを使用して、PBDのUUIDを見つけることができます。
  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 を再開できます。