XenServer

ストレージのマルチパス構成

ファイバーチャネルおよび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つの異なるサブネット(管理インターフェイス用に1つ、セカンダリインターフェイス1用に1つ、セカンダリインターフェイス2用に1つ)にIPアドレスが必要です。

    マルチパスiSCSI図

    この図は、マルチパスiSCSI構成のホスト上の両方のNICが異なるサブネット上にある必要があることを示しています。この図では、ホスト上のNIC 1とスイッチ1、および両方のストレージコントローラー上のNIC 1は、NIC2、スイッチ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>
    <!--NeedCopy-->
    

    xe pbd-list コマンドを使用して、PBD の UUID を見つけることができます。

  3. 次のコマンドを使用して、multipathing パラメーターの値を true に設定します。

    xe host-param-set uuid=<host uuid> multipathing=true
    <!--NeedCopy-->
    
  4. サーバー上にシングルパスモードで実行されているが、複数のパスを持つ既存の SR がある場合:

    • 影響を受ける SR 内の仮想ディスクを持つ実行中のゲストを移行または一時停止します

    • マルチパスを使用して再接続するために、影響を受ける SR の PBD を再接続します。

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  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>
    <!--NeedCopy-->
    

    PBDのUUIDを見つけるには、コマンドxe pbd-listを使用できます。

  3. 次のコマンドを使用して、multipathingパラメーターの値をfalseに設定します。

    xe host-param-set uuid=<host uuid> multipathing=false
    <!--NeedCopy-->
    
  4. サーバー上にシングルパスモードで実行されているが、複数のパスを持つ既存のSRがある場合:

    • 影響を受けるSR内の仮想ディスクを持つ実行中のゲストを移行または一時停止します。

    • 影響を受けるSRのPBDを抜き差しして、マルチパスを使用して再接続します。

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  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 <IP of SAN>
    iscsiadm -m node -L all
    
  10. 次のコマンドを使用して、古いセッション情報を含む古いエントリを削除します。

    cd /var/lib/iscsi/send_targets/<IP of SAN and port, use ls command to check that>
    rm -rf <iqn of SAN target for that particular LUN>
    
    cd /var/lib/iscsi/nodes/
    rm -rf <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=<sr_uuid>
          
        3. 前のコマンドの出力で、SCSI IDが一致しないiSCSIストレージリポジトリのPBDのUUIDを探します。

        4. 特定したPBDをアンプラグして破棄します。

          xe pbd-unplug uuid=<pbd_uuid>
          xe pbd-destroy uuid=<pbd_uuid>
          
      2. XenCenterでストレージを修復します。

  12. これでVMを再開できます。

ストレージのマルチパス構成