Citrix Hypervisor 8.2

クラスター化プール

クラスタリングは、GFS2ストレージリポジトリを使用するリソースプールに必要な、追加機能を提供します。GFS2の詳細については、「 ストレージの構成」を参照してください。

クラスターは、クラスター化されていないプールのホストよりも密接に接続され協調する、Citrix Hypervisorホストのプールです。クラスター内のホストは、選択したネットワーク上で互いに一定の通信を維持します。クラスター内のすべてのホストは、クラスター内のすべてのホストの状態を認識しています。このホスト協調により、クラスターはGFS2ストレージリポジトリのコンテンツへのアクセスを制御できます。

クォーラム

クラスター内の各ホストは、クラスター内のホストの少なくとも半分(それ自体を含む)と常に通信している必要があります。この状態は、クォーラムを持つホストと呼ばれます。

奇数のプールのクォーラム値は、クラスター内のホストの合計数に1を加えたものの半分です:(n+1)/2。偶数のプールのクォーラム値は、クラスター内のホストの合計数の半分です:n/2。

偶数のプールの場合は、実行中のクラスターを正確に半分に分けることができます。実行中のクラスターは、クラスターのどちらの半分が自己隔離し、クラスターのどちらの半分がクォーラムを持つかを決定します。偶数のクラスター化プールにコールドスタートから電源を投入する場合は、ホストがクォーラムを持つ前に、(n/2)+1台のホストを使用できるようにする必要があります。ホストがクォーラムを持つと、クラスターがアクティブになります。

ホストがクォーラムを持たない場合、そのホストは自己隔離します。

可能な場合は、クラスター化されたプールでは奇数のホストを使用することをお勧めします。これにより、ホストがクォーレートセットを持っているかどうかを常に判断できるようになります。

自己隔離

ホストは、クォーラムを持たないことを検出すると、数秒で自己隔離します。ホストは自己隔離すると、すぐに再起動します。ホストはハードシャットダウンを行うので、ホスト上で実行されているすべての仮想マシンが終了されます。高可用性を使用するクラスター化プールでは、Citrix Hypervisorは、ほかのプールメンバーでのその再起動構成に従って仮想マシンを再起動します。自己隔離されたホストは再起動され、クラスターに再び参加しようとします。

クラスター内の稼働中ホストの数がクォーラム値より小さくなると、残りのすべてのホストがクォーラムを失います。

理想的なシナリオでは、クラスター化プールには、クォーラムに必要な数より多くの稼動中ホストが常に存在し、Citrix Hypervisorが隔離することはありません。このシナリオをより実現可能にするには、クラスター化プールの設定時に次の推奨事項を考慮してください:

  • 適切なハードウェア冗長性を確保します。

  • クラスターネットワークに専用のボンディングネットワークを使用します。ボンディングされたNICが必ず同じL2セグメント上にあるようにします。詳しくは、「ネットワーク」を参照してください。

  • プールとGFS2ストレージリポジトリとの間のストレージマルチパスを構成します。詳しくは、「ストレージのマルチパス」を参照してください。

  • クラスター化プールで高可用性を構成します。クラスター化プールでは、ハートビートストレージリポジトリはGFS2ストレージリポジトリである必要があります。詳しくは、「高可用性」を参照してください。

クラスター化プールを作成する

開始前に、次の前提条件が満たされていることを確認してください:

  • クラスター化プール内のすべてのCitrix Hypervisorサーバーには、少なくとも2GiBのコントロールドメインメモリが必要です。

  • クラスター内のすべてのホストは、クラスターネットワークに静的IPアドレスを使用する必要があります。

  • クラスタリングを使用するのは、プールが3つ以上のホストを含む場合だけにすることをお勧めします。これは、2つのホストを含むプールではプール全体の自己隔離で問題が発生しやすいためです。

  • プール内のホスト間にファイアウォールがある場合は、ホストが次のポートを使用してクラスターネットワーク上で通信できることを確認してください:
    • TCP:8892、21064
    • UDP:5404、5405

    詳しくは、「Citrixテクノロジで使用される通信ポート」を参照してください。

  • 既存のプールをクラスタリングする場合は、高可用性が無効になっていることを確認してください。クラスタリングが有効になった後、高可用性を再度有効にできます。

  • クラスター化されたプールには、ほかのトラフィックには使用されないボンディングネットワークを使用することを強くお勧めします。

必要な場合は、XenCenterを使用してプールにクラスタリングを設定することもできます。詳しくは、XenCenter製品ドキュメントを参照してください。

xe CLI(コマンドラインインターフェイス)を使用してクラスター化プールを作成するには:

  1. ボンディングネットワークを作成して、クラスタリングネットワークとして使用します。

    注:

    クラスター化されたプールには専用のボンディングネットワークを使用することを強くお勧めします。このネットワークはそれ以外のトラフィックには使用しないでください。

    プールマスターにするCitrix Hypervisorサーバーで、以下の手順を実行します:

    1. Citrix Hypervisorサーバーのコンソールを開きます。

    2. 次のコマンドを使用して、リソースプールに名前を付けます:

      xe pool-param-set name-label="New Pool" uuid=<pool_uuid>
      
    3. 次のコマンドを使用して、NICボンディングで使用するネットワークを作成します:

      xe network-create name-label=bond0
      

      これにより、新しいネットワークのUUIDが返されます。

    4. 次のコマンドを使用して、ボンディングに使用するPIFのUUIDを見つけます:

      xe pif-list
      
    5. アクティブ/アクティブモード、アクティブ/パッシブモード、またはLACPボンディングモードのいずれかで、ボンディングしたネットワークを作成します。使用するボンディングモードに応じて、以下のいずれかのアクションを実行します:

      • アクティブ/アクティブモードのボンディング(デフォルト)を作成するには、bond-createコマンドを使用します。パラメーターをコンマで区切って、新しく作成したネットワークのUUIDと、ボンディングするPIFのUUIDを指定します:

         xe bond-create network-uuid=<network_uuid> /
              pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4>
        

        ボンディングを構成するNICの数に応じて、2つまたは4つのUUIDを指定してください。これにより、ボンディングのUUIDが返されます。

      • アクティブ/パッシブモードまたはLACPモードのボンディングを作成するには、上記と同じ構文にmodeパラメータを追加して、lacpまたはactive-backupを指定します:

         xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>, /
              <pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4> /
              mode=balance-slb | active-backup | lacp
        

    プールマスターでボンディングしたネットワークを作成した後、他のCitrix Hypervisorサーバーをプールに追加すると、ネットワークとボンディングの情報が自動的に追加するサーバーに複製されます。

    詳しくは、「ネットワーク」を参照してください。

  2. 少なくとも3台のCitrix Hypervisorサーバーのリソースプールを作成します。

    プールメンバー(マスターではない)であるCitrix Hypervisorの各サーバーで、次の手順を繰り返します:

    1. Citrix Hypervisorサーバーのコンソールを開きます。
    2. 次のコマンドを使用して、Citrix Hypervisorサーバーをプールマスターのプールに参加させます:

      xe pool-join master-address=master_address master-username=administrators_username master-password=password
      

      master-addressパラメーターの値は、プールマスターであるCitrix Hypervisorサーバーの完全修飾ドメイン名に設定する必要があります。passwordにはプールマスターのインストール時に設定した管理者パスワードを指定します。

    詳しくは、「ホストとリソースプール」を参照してください。

  3. このネットワークに属するすべてのPIFについて、disallow-unplug=trueを設定します。

    1. 次のコマンドを使用して、ネットワークに属するPIFのUUIDを見つけます:

      xe pif-list
      
    2. リソースプール内のCitrix Hypervisorサーバーで次のコマンドを実行します:

      xe pif-param-set disallow-unplug=true uuid=<pif_uuid>
      
  4. プールでクラスタリングを有効にします。リソースプール内のCitrix Hypervisorサーバーで次のコマンドを実行します:

    xe cluster-pool-create network-uuid=<network_uuid>
    

    前の手順で作成したボンディングしたネットワークのUUIDを入力します。

クラスター化プールを破棄する

クラスター化されたプールは破棄できます。クラスター化されたプールを破棄した後もプールは引き続き存在しますが、クラスター化されなくなり、GFS2ストレージリポジトリを使用できなくなります。

クラスター化されたプールを破棄するには、次のコマンドを実行します:

xe cluster-pool-destroy cluster-uuid=<uuid>

クラスター化プールを管理する

クラスター化プールを管理する場合は、次の方法で、プールがクォーラムを失うリスクを軽減できます。

ホストが正常にシャットダウンされるようにする

ホストは、正常にシャットダウンされると、再起動されるまで一時的にクラスターから削除されます。ホストは、シャットダウンされている間はクラスターのクォーラム値にカウントされません。そのホストがないことで他のホストがクォーラムを失うことはありません。

ただし、ホストは、強制的または予期せずにシャットダウンされた場合、オフラインになる前にクラスターから削除されることはありません。このホストは、クラスターのクォーラム値にカウントされます。シャットダウンされると、他のホストがクォーラムを失う可能性があります。

メンテナンスモードを使用する

ホスト上で何かを実行することでホストがクォーラムを失う可能性がある場合は、その前に、ホストをメンテナンスモードにしてください。ホストがメンテナンスモードの場合、実行中の仮想マシンはプール内の別のホストに移行されます。また、そのホストがプールマスターであった場合、その役割はプール内の別のホストに渡されます。操作によってメンテナンスモードのホストが自己隔離した場合でも、仮想マシンを失うことや、プールへのXenCenterの接続が失われることはありません。

メンテナンスモードのホストは、以降もクラスターのクォーラム値にカウントされます。

ホストがメンテナンスモードの場合は、クラスター化プールに含まれるそのホストのIPアドレスのみを変更できます。ホストのIPアドレスを変更すると、そのホストはクラスターから離れることになります。IPアドレスが正常に変更されると、そのホストはクラスターに再び参加します。ホストがクラスターに再び参加した後、メンテナンスモードを解除できます。

自己隔離しているかオフラインになっているホストを回復する

自己隔離されているホストを回復することは重要です。これらのクラスターメンバーは、オフラインになっている間は、クラスターのクォーラム数にカウントされ、接続可能なクラスターメンバーの数が減少します。この状況では、後続のホスト障害が発生することでクラスターがクォーラムを失い完全にシャットダウンされるリスクが高まります。

クラスター内にオフラインのホストがあると、特定の操作を実行できなくなります。クラスター化プールでは、プールのメンバーすべてがプールメンバーシップのすべての変更に同意しないと、変更は成功しません。クラスターメンバーが接続不可の場合は、Citrix Hypervisorにより、クラスターメンバーシップを変更する操作(ホストの追加や削除など)が行えなくなります。

ホストを停止とマークする

オフラインのホストを回復できない場合は、それらをクラスターに対して停止とマークすることができます。ホストを停止とマークすると、それらがクラスターから永続的に削除されます。ホストが停止としてマークされると、それらはクォーラム値にカウントされなくなります。

制約

  • クラスター化プールでは、プールあたり16台までのホストのみがサポートされます。
  • クラスタートラフィックの場合、少なくとも2つの異なるネットワークスイッチを使用するボンディングネットワークを使用する必要があります。このネットワークを他の目的に使用しないでください。
  • XenCenterを使用してクラスターネットワークのIPアドレスを変更するには、クラスタリングとGFS2を一時的に無効にする必要があります。
  • クラスターが稼働中で、クラスターに実行中の仮想マシンがある間は、クラスタリングネットワークのボンディングを変更しないでください。この操作により、クラスターが隔離される可能性があります。
  • クラスタリングが有効になっているホストが少なくとも1つ含まれるクラスタリングネットワークで、IPアドレスの競合(IPアドレスが同じホストが複数存在)が発生した場合、競合しているホストが隔離されないことがあります。この問題を解決するには、IPアドレスの競合を解決します。
クラスター化プール