XenServer

プールを管理する

この記事では、プールを管理するために実行できるいくつかのアクションについて説明します。

個々のホストを管理するには、「ホストの管理」を参照してください。

リソースプールを作成する

リソースプールは、XenCenter®またはCLIを使用して作成できます。新しいホストがリソースプールに参加すると、参加するホストはローカルデータベースをプール全体のデータベースと同期し、プールからいくつかの設定を継承します。

  • VM、ローカル、およびリモートストレージ構成がプール全体のデータベースに追加されます。この構成は、ホストがプールに参加した後にリソースを明示的に共有しない限り、プール内の参加ホストに適用されます。

  • 参加ホストは、プール内の既存の共有ストレージリポジトリを継承します。新しいホストが既存の共有ストレージに自動的にアクセスできるように、適切なPBDレコードが作成されます。

  • ネットワーク情報は参加ホストに部分的に継承されます。NIC、VLAN、およびボンディングされたインターフェースの構造に関する詳細はすべて継承されますが、ポリシー情報は継承されません。再構成が必要なこのポリシー情報には、以下が含まれます。

    • 管理NICのIPアドレス。これらは元の構成から保持されます。

    • 管理インターフェースの場所。これは元の構成と同じままです。たとえば、他のプールホストがボンディングされたインターフェース上に管理インターフェースを持っている場合、参加ホストは参加後にボンディングに移行する必要があります。

    • 専用ストレージNIC。これらはXenCenterまたはCLIから参加ホストに再割り当てし、トラフィックを適切にルーティングするためにPBDを再接続する必要があります。これは、プール参加操作の一部としてIPアドレスが割り当てられないためであり、ストレージNICはこれが正しく構成されている場合にのみ機能するためです。CLIからストレージNICを専用にする方法の詳細については、「ネットワークの管理」を参照してください。

    • ホストをプールに追加する前に、管理インターフェースを再構成し、物理NICに移動します。ホストがプールに参加した後、管理インターフェースを再度再構成できます。

リソースプールを作成する前に、プールと参加ホストの要件を確認してください。詳細については、「リソースプール」を参照してください。

xe CLIを使用してホストをプールに追加する

  1. 参加を試みる前に、プールと参加ホストを同じレベルに更新してください。これを行うには、次のいずれかの方法があります。

    • 参加するホストをプールと同じレベルに更新します。

      • (推奨) 参加するホストをプールと同期させ、プールコーディネーターに保持されている更新ファイルから更新します。詳細については、「プールレベルへの更新」を参照してください。
      • プールレベルに一致する更新バンドルをダウンロードし、それを使用して参加するホストを更新します。
    • プールと参加するホストの両方を最新レベルに更新します。

      • ホストとプールを同じ更新チャネルと同期させ、最新の更新を適用します。
      • オフライン更新メカニズムを使用して、ホストとプールの両方に最新レベルの更新を適用します。

    これらの更新方法の詳細については、「XenCenter を使用した更新の適用」または「xe CLI を使用した更新の適用」を参照してください。

  2. プールに参加させたいXenServer®ホストでコンソールを開きます。

  3. 次のコマンドを発行して、XenServerホストをプールに参加させます。

    xe pool-join master-address=<address of pool coordinator> master-username=<administrator username> master-password=<password>
    <!--NeedCopy-->
    

    master-addressは、プールコーディネーターの完全修飾ドメイン名に設定する必要があります。passwordは、プールコーディネーターがインストールされたときに設定された管理者パスワードである必要があります。

注:

ホストをプールに参加させると、参加するホストの管理者パスワードは、プールコーディネーターの管理者パスワードと一致するように自動的に変更されます。

XenServerホストは、デフォルトで名前のないプールに属しています。最初のリソースプールを作成するには、既存の名前のないプールを名前変更します。タブ補完を使用してpool_uuidを見つけます。

xe pool-param-set name-label="New Pool" uuid=pool_uuid
<!--NeedCopy-->

異種リソースプールを作成する

XenServerは、異なるホストハードウェアをリソースプール(異種リソースプールとして知られています)に参加させることを可能にすることで、時間の経過とともに展開を拡張することを簡素化します。異種リソースプールは、Intel (FlexMigration) および AMD (Extended Migration) CPU の「CPUマスキング」または「レベリング」を提供するテクノロジーを使用することで可能になります。CPUマスキングおよびレベリング機能により、CPUを実際とは異なるメーカー、モデル、または機能を提供しているかのように見せるように構成できます。この機能により、異なるCPUを持つホストのプールを作成しながら、ライブマイグレーションを安全にサポートできます。

注記:

異種混合プールに参加するXenServerホストのCPUは、すでにプールにあるホストのCPUと同じベンダー(AMD、Intelなど)のものである必要があります。ただし、ホストがファミリー、モデル、またはステッピング番号のレベルで同じタイプである必要はありません。

XenServerは、異種混合プールのサポートを簡素化します。基盤となるCPUタイプに関係なく(CPUが同じベンダーファミリーのものである限り)、ホストを既存のリソースプールに追加できるようになりました。プール機能セットは、以下のたびに動的に計算されます。

  • 新しいホストがプールに参加する

  • プールメンバーがプールを離れる

  • プールメンバーが再起動後に再接続する

プール機能セットの変更は、現在プールで実行中のVMには影響しません。実行中のVMは、起動時に適用された機能セットを引き続き使用します。この機能セットは起動時に固定され、移行、一時停止、再開の操作全体で維持されます。能力の低いホストがプールに参加してプールレベルが低下した場合、実行中のVMは、新しく追加されたホストを除く、プール内の任意のホストに移行できます。VMをプール内またはプール間で別のホストに移動または移行すると、XenServerはVMの機能セットを宛先ホストの機能セットと比較します。機能セットに互換性がある場合、VMは移行を許可されます。これにより、VMが使用しているCPU機能に関係なく、VMはプール内およびプール間で自由に移動できます。Workload Balancingを使用してVMを移行する最適な宛先ホストを選択する場合、互換性のない機能セットを持つホストは宛先ホストとして推奨されません。

共有ストレージを追加する

このセクションでは、既存のNFSサーバー上に共有ストレージ (ストレージリポジトリとして表される) を作成する方法の例を示します。サポートされている共有ストレージタイプの完全なリストについては、「ストレージ」を参照してください。

CLIを使用してNFS共有ストレージをリソースプールに追加するには

  1. プール内の任意のXenServerホストでコンソールを開きます。

  2. 次のコマンドを発行して、server:/path にストレージリポジトリを作成します。

    xe sr-create content-type=user type=nfs name-label="Example SR" shared=true \
        device-config:server=server \
        device-config:serverpath=path
    <!--NeedCopy-->
    

    device-config:server はNFSサーバーのホスト名で、device-config:serverpath はNFSサーバー上のパスです。shared がtrueに設定されているため、共有ストレージはプール内のすべてのXenServerホストに自動的に接続されます。後から参加するXenServerホストもストレージに接続されます。ストレージリポジトリのUniversally Unique Identifier (UUID) が画面に表示されます。

  3. 次のコマンドを実行して、プールのUUIDを見つけます。

    xe pool-list
    <!--NeedCopy-->
    
  4. 次のコマンドを使用して、共有ストレージをプール全体のデフォルトとして設定します。

    xe pool-param-set uuid=pool_uuid default-SR=sr_uuid
    <!--NeedCopy-->
    

    共有ストレージがプール全体のデフォルトとして設定されているため、今後作成されるすべてのVMのディスクは、デフォルトで共有ストレージ上に作成されます。その他の種類の共有ストレージの作成については、「SRの作成」を参照してください。

リソースプールからXenServerホストを削除する

注:

プールからXenServerホストを削除する前に、そのホストで実行されているすべてのVMをシャットダウンしてください。そうしないと、ホストを削除できないという警告が表示されることがあります。

プールからホストを削除(排出)すると、マシンは再起動され、再初期化され、新規インストールと同様の状態になります。ローカルディスクに重要なデータがある場合は、XenServerホストをプールから排出しないでください。

CLIを使用してリソースプールからホストを削除するには

  1. プール内の任意のホストでコンソールを開きます。

  2. 次のコマンドを実行して、ホストのUUIDを見つけます。

    xe host-list
    <!--NeedCopy-->
    
  3. 必要なホストをプールから排出します。

    xe pool-eject host-uuid=host_uuid
    <!--NeedCopy-->
    

    XenServerホストは排出され、新規インストールされた状態になります。

    警告:

    ローカルディスクに重要なデータが保存されている場合は、リソースプールからホストを排出しないでください。ホストがプールから排出されると、すべてのデータが消去されます。このデータを保持したい場合は、XenCenterまたはxe vm-copy CLIコマンドを使用して、VMをプール上の共有ストレージにコピーしてください。

ローカルに保存されたVMを含むXenServerホストがプールから排出されると、VMはプールデータベースに存在します。ローカルに保存されたVMは、他のXenServerホストからも見えます。VMは、関連付けられている仮想ディスクが、プール内の他のXenServerホストから見える共有ストレージを指すように変更されるか、または削除されるまで起動しません。したがって、プールに参加する際には、ローカルストレージを共有ストレージに移動することをお勧めします。共有ストレージに移動することで、個々のXenServerホストをデータ損失なしに排出(または物理的に故障)させることができます。

注:

管理インターフェースがタグ付きVLANネットワーク上にあるプールからホストが削除されると、マシンは再起動され、その管理インターフェースは同じネットワーク上で利用可能になります。

プールシークレットをローテーションする

プールシークレットは、プール内のホスト間で共有されるシークレットであり、ホストがプールへのメンバーシップを証明できるようにします。

Pool Admin ロールを持つユーザーはこのシークレットを発見できるため、これらのユーザーのいずれかが組織を離れたり、Pool Admin ロールを失ったりした場合は、プールシークレットをローテーションすることをお勧めします。

XenCenter または xe CLI を使用して、プールシークレットをローテーションできます。

XenCenter

XenCenter を使用してプールのプールシークレットをローテーションするには、次の手順を実行します。

  1. リソースペインで、プールまたはプール内の任意のホストを選択します。
  2. プールメニューで、プールシークレットのローテーションを選択します。

プールシークレットをローテーションすると、root パスワードの変更も求められます。環境が侵害されたと思われるためにプールシークレットをローテーションした場合は、プールコーディネーターの root パスワードも変更してください。詳細については、「パスワードの変更」を参照してください。

xe CLI

xe CLI を使用してプールシークレットをローテーションするには、プール内のホストで次のコマンドを実行します。

xe pool-secret-rotate
<!--NeedCopy-->

環境が侵害されたと思われるためにプールシークレットをローテーションした場合は、root パスワードも変更してください。詳細については、「パスワードの変更」を参照してください。

SSH アクセスの構成

XenServer プールへの SSH アクセスはデフォルトで有効になっています。XenServer プールへの SSH アクセスを無効にする場合は、次のコマンドを実行します。

xe pool-disable-ssh pool=<pool_uuid_or_name_label>
<!--NeedCopy-->

このコマンドは SSH を無効にします。プールは新しい SSH 接続を拒否しますが、既存のセッションを切断することはありません。

XenServerプールへのSSHアクセスを有効にするには、次のコマンドを実行します。

xe pool-enable-ssh pool=<pool_uuid_or_name_label>
<!--NeedCopy-->

現在のプールのSSH一時有効化タイムアウト(秒)を設定するには:

xe pool-param-set uuid=<pool-uuid> ssh-enabled-timeout=<seconds>
<!--NeedCopy-->

タイムアウトパラメータはSSHサービスの期間を決定します。0に設定すると、SSHは無期限にアクティブなままになります。正の整数(秒)に設定すると、指定された期間後にSSHは自動的に無効になります。設定の変更は、その後のアクティブなSSHセッションに即座に適用され、ユーザーがSSHを有効にするたびに適用されます。

注:

ssh-enabled-timeout に設定できる最大値は172800秒(約2日間)です。

現在のプールのSSHコンソールアイドルタイムアウト(秒)を設定するには

xe pool-param-set uuid=<pool-uuid> console-idle-timeout=<seconds>
<!--NeedCopy-->

VNCおよびSSHコンソール接続のアイドルセッションタイムアウトを、秒単位の非負の整数値で設定します。0はタイムアウトを無効にし(セッションは期限切れになりません)、正の値(例:3600)は指定された期間後にアイドルセッションを自動的に終了します。設定は、構成後に新しく作成されたコンソールセッションに適用されます。

現在のプールのSSH自動モードを設定するには

xe poolparam-set uuid=<pool-uuid>  ssh-auto-mode=true
<!--NeedCopy-->

XAPIサービスの健全性ステータスに基づいて、自動SSH管理を設定します。自動モードが有効な場合、SSHの有効化はXAPIステータスに従います。XAPIが正常な場合はSSHは無効になり、XAPIが異常な場合は有効になります。

自動モード有効 + ssh_enabled_timeout = 0: pool.enable_ssh を介した手動SSH有効化は、自動モードを永続的に無効にします。

自動モード有効 + ssh_enabled_timeout > 0: 手動SSH有効化は一時的に自動モードを無効にします。タイムアウトが期限切れになると、自動モードは元の設定に戻ります。(アクティブなSSHタイムアウト期間中にシステムが再起動した場合、元の自動モード設定は失われ、タイムアウト/回復時に有効にリセットされます。)

これらのコマンドのいずれかのプールパラメータの値には、プールセレクタを使用できます。詳細については、プールコマンド を参照してください。

XenServerプール内のすべてのプールのSSHアクセスを同時に管理できます。詳細については、プールのSSHアクセスを無効にする を参照してください。

プールの参加/排出の動作

  • 参加 – サーバーがプールに参加すると、SSH設定(SSH有効化タイムアウト、アイドルコンソールタイムアウト、自動モード)が継承されます。

  • 「排出」 – サーバーがプールから排出されると、デフォルト設定が復元されます。

    • XenServer 8.4: SSH有効、自動モードオフ

新しいSSH管理制御の定義

SSHを設定するために、プールレベルで新しいXAPI API pool.set_ssh_auto_mode を設定します。

set_ssh_auto_mode: SSH自動モードを有効または無効にするように設定します。自動モードが有効な場合、SSHの状態はXAPIの状態に依存します。XAPIが正常な場合はSSHは無効になり、XAPIが異常な場合はSSHは有効になります。

ユーザーが自動モードを有効に設定し、現在のssh_enabled_timeoutが0の場合、pool.enable_ssh を使用してSSHを有効にすると、自動モードは永続的に無効になります。

ユーザーが pool.set_auto_mode を使用して自動モードを有効または無効に設定した場合、これは「元の自動モード設定」と呼ばれます。現在の ssh_enabled_timeout が正の数(例:1800秒)に設定されている場合、pool.enable_ssh を使用してSSHを有効にすると、自動モードは一時的に無効になります。タイムアウト期間が終了すると、SSHは自動的に無効になり、自動モードは元の設定に戻されます。

ユーザーが ssh_enabled_timeout を正の数(例:3600秒)に設定し、タイムアウト期間が終了する前にホストを再起動(またはXAPIを再起動)した場合、タイムアウト期間が終了すると、SSHは自動的に無効になり、再起動によって元の自動モード設定が失われるため、自動モードはtrueに復元されます。

ssh_enabled_timeout を正の数(例:180秒)に設定し、その後XAPIが失敗した場合、タイムアウト期間が終了してもXAPIが失敗状態のままであれば、XAPIが再起動するまでSSHは有効のままになります。XAPIの再起動後、システム再起動によって元の自動モード設定が失われるため、SSHは自動的に無効になり、自動モードはtrueに復元されます。


This command disables SSH. The hosts refuse new SSH connections, but do not disconnect any existing sessions.

To enable SSH access to all hosts in your pool, run the following command:

xe pool-enable-ssh ```

Both of these commands attempt to make a change on all hosts in the pool. If the command fails on one or more of the hosts in your pool, the command continues to run for all other hosts in the pool. The command returns a list of any hosts where the command fails.

You can manage the SSH access for an individual host. For more information, see Disable SSH access for a host.–>

XenServerプールでIGMPスヌーピングを有効にする

XenServerはすべてのゲストVMにマルチキャストトラフィックを送信し、ホストデバイスが要求していないパケットを処理する必要があるため、不要な負荷をかけます。IGMPスヌーピングを有効にすると、ローカルネットワーク上のホストが明示的に参加していないマルチキャストグループのトラフィックを受信することを防ぎ、マルチキャストのパフォーマンスを向上させます。IGMPスヌーピングは、IPTVのような帯域幅を大量に消費するIPマルチキャストアプリケーションに特に役立ちます。

注記:

  • IGMPスヌーピングは、ネットワークバックエンドがOpen vSwitchを使用している場合にのみ利用可能です。

  • プールでこの機能を有効にする場合、物理スイッチのいずれかでIGMPクエリアを有効にする必要がある場合もあります。そうしないと、サブネットワーク内のマルチキャストがブロードキャストにフォールバックし、XenServerのパフォーマンスが低下する可能性があります。

  • IGMP v3を実行しているプールでこの機能を有効にすると、VM移行またはネットワークボンディングのフェイルオーバーにより、IGMPバージョンがv2に切り替わります。

  • GREネットワークでこの機能を有効にするには、ユーザーはGREネットワーク内にIGMPクエリアを設定する必要があります。あるいは、物理ネットワークからGREネットワークにIGMPクエリメッセージを転送することもできます。そうしないと、GREネットワーク内のマルチキャストトラフィックがブロックされる可能性があります。

XenCenterまたはxe CLIを使用して、プールでIGMPスヌーピングを有効にできます。

XenCenter

  1. プールプロパティに移動します。
  2. ネットワークオプションを選択します。ここでIGMPスヌーピングを有効または無効にできます。

xe CLI

  1. プールのUUIDを取得します。

    xe pool-list

  2. プールのIGMPスヌーピングを有効/無効にします。

    xe pool-param-set [uuid=pool-uuid] [igmp-snooping-enabled=true|false]

IGMPスヌーピングを有効にした後、xe CLIを使用してIGMPスヌーピングテーブルを表示できます。

IGMPスヌーピングテーブルを表示する

IGMPスヌーピングテーブルを表示するには、次のコマンドを使用します。

ovs-appctl mdb/show [bridge name]

注:

xe network-listを使用してブリッジ名を取得できます。これらのブリッジ名は、xenbr0xenbr1xenapi、またはxapi0のいずれかになります。

これにより、4つの列を持つテーブルが出力されます。

  • port: スイッチ (OVS) のポート。
  • VLAN: トラフィックのVLAN ID。
  • GROUP: ポートが要求したマルチキャストグループ。
  • Age: このレコードの経過時間(秒単位)。

GROUPがマルチキャストグループアドレスである場合、関連するスイッチポートでIGMPレポートメッセージが受信されたことを意味します。これは、マルチキャストグループのレシーバー(メンバー)がこのポートでリッスンしていることを意味します。

2つのレコードを含む以下の例をご覧ください。

ポート VLAN グループ 経過時間
14 0 227.0.0.1 15
1 0 クエリア 24

最初のレコードは、マルチキャストグループ227.0.0.1に対してポート14でリッスンしているレシーバーがあることを示しています。Open vSwitchは、227.0.0.1マルチキャストグループ宛のトラフィックを、すべてのポートにブロードキャストするのではなく、このグループのリッスンポート(この例ではポート14)にのみ転送します。ポート14とグループ227.0.0.1をリンクするレコードは15秒前に作成されました。デフォルトでは、タイムアウト間隔は300秒です。これは、レコード追加後300秒間、スイッチがポート14でそれ以上のIGMPレポートメッセージを受信しない場合、レコードが期限切れになり、テーブルから削除されることを意味します。

2番目のレコードでは、GROUPquerierであり、関連するポートでIGMPクエリメッセージが受信されたことを意味します。クエリアは、マルチキャストグループでどのネットワークノードがリッスンしているかを判断するために、すべてのスイッチポートにブロードキャストされるIGMPクエリメッセージを定期的に送信します。IGMPクエリメッセージを受信すると、レシーバーはIGMPレポートメッセージで応答し、これによりレシーバーのマルチキャストレコードが更新され、期限切れが回避されます。

VLAN列は、レシーバー/クエリアが存在するVLANを示します。「0」はネイティブVLANを意味します。タグ付きVLANでマルチキャストを実行したい場合は、そのVLANにレコードがあることを確認してください。

注:

VLANシナリオの場合、ネットワークのVLAN IDと等しいVLAN列の値を持つクエリアレコードが必要です。そうしないと、VLANネットワークでマルチキャストは機能しません。

XenServerプールで移行ストリーム圧縮を有効にする

VMのライブマイグレーション中、そのメモリはネットワークを使用して2つのホスト間でデータストリームとして転送されます。移行ストリーム圧縮機能は、このデータストリームを圧縮し、低速ネットワークでのメモリ転送を高速化します。この機能はデフォルトで無効になっていますが、XenCenterまたはxe CLIを使用して変更できます。詳細については、プールプロパティ - 詳細およびプールパラメータを参照してください。または、コマンドラインを使用してVMを移行する際に圧縮を有効にすることもできます。詳細については、VMコマンドvm-migrateコマンドを参照してください。

リソースプールデータをエクスポートする

リソースデータのエクスポートオプションを使用すると、プール用のリソースデータレポートを生成し、そのレポートを.xlsまたは.csvファイルにエクスポートできます。このレポートには、ホスト、ネットワーク、ストレージ、仮想マシン、VDI、GPUなど、プール内のさまざまなリソースに関する詳細情報が記載されています。この機能により、管理者はCPU、ストレージ、ネットワークなどのさまざまなワークロードに基づいてリソースを追跡、計画、割り当てることができます。

注:

リソースプールデータのエクスポートは、XenServer Premium Editionのお客様にご利用いただけます。

レポートに含まれるリソースのリストとさまざまな種類のリソースデータ:

サーバー:

  • 名前
  • プールコーディネーター
  • UUID
  • アドレス
  • CPU使用率
  • ネットワーク (平均/最大 KB)
  • 使用済みメモリ
  • ストレージ
  • 稼働時間
  • 説明

ネットワーク:

  • 名前
  • リンクステータス
  • MAC
  • MTU
  • VLAN
  • タイプ
  • 場所

VDI:

  • 名前
  • タイプ
  • UUID
  • サイズ
  • ストレージ
  • 説明

ストレージ:

  • 名前
  • 種類
  • UUID
  • サイズ
  • 場所
  • 説明

VM:

  • 名前
  • 電源状態
  • 実行中ホスト
  • アドレス
  • MAC
  • NIC
  • オペレーティングシステム
  • ストレージ
  • 使用済みメモリ
  • CPU使用率
  • UUID
  • 稼働時間
  • テンプレート
  • 説明

GPU:

  • 名前
  • サーバー
  • PCIバスパス
  • UUID
  • 消費電力
  • 温度
  • 使用済みメモリ
  • コンピューター使用率

注:

GPUに関する情報は、XenServerホストにGPUが接続されている場合にのみ利用可能です。

リソースデータをエクスポートするには

  1. XenCenterのナビゲーションペインで、インフラストラクチャを選択し、次にプールを選択します。

  2. プールメニューを選択し、次にリソースデータのエクスポートを選択します。

  3. レポートを保存したい場所を参照し、保存をクリックします。