ホストを管理する

最終公開日 : Oct 07, 2026
この記事では、個々のXenServer®ホストを管理するために実行できるアクションの一部について説明します。
リソースプールに関連するアクションを管理するには、「プールを管理する」を参照してください。

SSHアクセスを構成する

XenServerホストへのSSHアクセスは、デフォルトで有効になっています。XenServerホストへのSSHアクセスを無効にするには、次のコマンドを実行します。
xe host-disable-ssh host=<host_uuid_or_name_label>
このコマンドはSSHを無効にします。ホストは新しいSSH接続を拒否しますが、既存のセッションを切断することはありません。
XenServerホストへのSSHアクセスを有効にするには、次のコマンドを実行します。
xe host-enable-ssh host=<host_uuid_or_name_label>
現在のホストのSSH一時有効タイムアウト(秒)を設定するには:
xe host-param-set uuid=<host-uuid> ssh-enabled-timeout=<seconds>
タイムアウトパラメーターは、SSHサービスの期間を決定します。0に設定すると、SSHは無期限にアクティブなままになります。正の整数(秒)に設定すると、指定された期間後にSSHは自動的に無効になります。構成の変更は、その後のアクティブなSSHセッションにすぐに適用され、ユーザーがCLI/APIからSSHを有効にするたびに適用されます。
現在のホストのSSHコンソールアイドルタイムアウト(秒)を設定するには
xe host-param-set uuid=<host-uuid> console-idle-timeout=<seconds>
VNCおよびSSHコンソール接続のアイドルセッションタイムアウトを、秒単位の非負の整数値で構成します。0はタイムアウトを無効にし(セッションは期限切れになりません)、正の値(例:3600)は指定された期間後にアイドルセッションを自動的に終了します。設定は、構成後に新しく作成されたコンソールセッションに適用されます。
現在のホストのSSH自動モードを設定するには
xe host-param-set uuid=<host-uuid>  ssh-auto-mode=true
注:
デフォルトでは、攻撃対象領域を減らすために、新規インストールではSSHサービスが無効になっています。
XAPIサービスの健全性ステータスに基づいて、自動SSH管理を構成します。自動モードが有効な場合、SSHのアクティブ化はXAPIステータスに従います。XAPIが正常な場合はSSHは無効になり、XAPIが異常な場合は有効になります。
オートモードが有効 + ssh_enabled_timeout = 0: host.enable_ssh を介した手動 SSH アクティベーションは、オートモードを永続的に無効にします。
オートモードが有効 + ssh_enabled_timeout > 0: 手動 SSH アクティベーションはオートモードを一時的に無効にします。タイムアウトが期限切れになると、オートモードは元の設定に復元されます。(アクティブな SSH タイムアウト期間中にシステムが再起動すると、元のオートモード設定は失われ、タイムアウト/回復時に有効にリセットされます。)
これらのコマンドのいずれかでホストパラメータの値には、ホストセレクターを使用できます。詳細については、「ホストセレクター」を参照してください。
XenServer プール内のすべてのホストの SSH アクセスを同時に管理できます。詳細については、「プールの SSH アクセスを無効にする」を参照してください。

SSH オートモードとアンサーファイル

デフォルトの SSH およびオートモード設定を制御するために、新しいアンサーファイル構成 <ssh-mode>on|off|auto</ssh-mode> を追加します。
  • 「auto」に設定すると、オートモードが有効になり、XAPI が起動すると自動的に SSH サービスを停止します。
  • 「on」または「off」に設定すると、オートモードはデフォルトで無効になり、SSH サービスはそれに応じて有効または無効になります。

新しい SSH 管理制御の定義

ホストレベルで新しい XAPI API host.set_ssh_auto_mode を設定して SSH を構成します
set_ssh_auto_mode: SSH オートモードを有効または無効にするように構成します。オートモードが有効な場合、SSH ステータスは XAPI ステータスに依存します。XAPI が正常な場合は SSH は無効になり、XAPI が異常な場合は SSH は有効になります。
ユーザーがオートモードを有効として構成し、現在の ssh_enabled_timeout が 0 の場合、host.enable_ssh で SSH を有効にすると、オートモードが永続的に無効になります。
ユーザーが host.set_auto_mode を有効または無効としてオートモードを構成すると、これは「元のオートモード設定」と呼ばれます。現在の ssh_enabled_timeout が正の数 (たとえば、1800 秒) に設定されている場合、host.enable_ssh で SSH を有効にすると、オートモードが一時的に無効になります。タイムアウト期間が期限切れになると、SSH は自動的に無効になり、オートモードは元の設定に復元されます。
ユーザーが ssh_enabled_timeout を正の数 (たとえば、3600 秒) に設定し、タイムアウト期間が期限切れになる前にホストを再起動 (または XAPI を再起動) すると、タイムアウト期間が期限切れになると、SSH は自動的に無効になり、再起動によって元のオートモード設定が失われるため、オートモードは true に復元されます。
ssh_enabled_timeout を正の数 (たとえば、180 秒) に構成し、その後 XAPI が失敗した場合、タイムアウト期間が期限切れになったときに XAPI が失敗した状態のままであると、XAPI が再起動するまで SSH は有効のままになります。XAPI の再起動時に、SSH は自動的に無効になり、システムの再起動によって元のオートモード設定が失われるため、オートモードは true に復元されます。

ホストにTLS証明書をインストールする

XenServerホストには、デフォルトのTLS証明書がインストールされています。ただし、XenServerとCitrix Virtual Apps and Desktops™間の通信をHTTPSで保護するには、信頼できる認証局が提供する証明書をインストールしてください。
このセクションでは、xe CLIを使用して証明書をインストールする方法について説明します。XenCenterを使用して証明書を操作する方法については、XenCenterのドキュメントを参照してください。
TLS証明書とそのキーが以下の要件を満たしていることを確認してください。
  • 証明書とキーのペアはRSAキーであること。
  • キーが証明書と一致していること。
  • キーは証明書とは別のファイルで提供されていること。
  • 証明書は、中間証明書とは別のファイルで提供されていること。
  • キーファイルは、次のいずれかのタイプである必要があります: .pem または .key。
  • すべての証明書ファイルは、次のいずれかのタイプである必要があります: .pem、.cer、または .crt。
  • キーの長さは2048ビット以上4096ビット以下であること。
  • キーは暗号化されていないPKCS #8キーであり、パスキーがないこと。
  • キーと証明書はbase-64エンコードされた「PEM」形式であること。
  • 証明書が有効であり、期限切れでないこと。
  • 署名アルゴリズムはSHA-256またはSHA-512であること。
xe CLI は、選択した証明書とキーがこれらの要件を満たしていない場合に警告します。

TLS 証明書はどこで入手できますか?

1. 証明書署名要求を生成する

まず、秘密鍵と証明書署名要求を生成します。XenServer ホストで、以下の手順を完了します。
  1. 秘密鍵ファイルを作成するには、次のコマンドを実行します。
    openssl genrsa -des3 -out privatekey.pem 2048
    パスフレーズの入力を求められます。このパスフレーズは、次の手順で削除されます。
  2. キーからパスフレーズを削除します。
    openssl rsa -in privatekey.pem -out privatekey.nop.pem
  3. 秘密鍵を使用して証明書署名要求を作成します。
    openssl req -new -key privatekey.nop.pem -out csr
  4. プロンプトに従って、証明書署名要求の生成に必要な情報を提供します。
    • 国名。お住まいの国のTLS証明書国コードを入力します。たとえば、カナダの場合はCA、ジャマイカの場合はJMです。TLS証明書国コードのリストはWebで確認できます。
    • 都道府県名(正式名称)。プールが所在する都道府県を入力します。たとえば、マサチューセッツ州やアルバータ州です。
    • 市区町村名。プールが所在する都市の名前です。
    • 組織名。会社または組織の名前です。
    • 部署名。部署名を入力します。このフィールドはオプションです。
    • コモンネーム。XenServerホストのFQDNを入力します。FQDNまたは有効期限のないIPアドレスのいずれかを指定することをお勧めします。
    • メールアドレス。このメールアドレスは、証明書を生成する際に証明書に含まれます。
    証明書署名要求は現在のディレクトリに保存され、csrという名前が付けられます。
  5. 次のコマンドを実行して、コンソールウィンドウに証明書署名要求を表示します。
    cat csr
  6. 証明書署名要求全体をコピーし、この情報を使用して認証局に証明書を要求します。
    証明書署名要求の例:
    -----BEGIN CERTIFICATE REQUEST-----
    MIIDBDCCAewCAQAwgYsxCzAJBgNVBAYTAlVLMRcwFQYDVQQIDA5DYW1icmlkZ2Vz
    aGlyZTESMBAGA1UEBwwJQ2FtYnJpZGdlMRIwEAYDVQQKDAlYZW5TZXJ2ZXIxFTAT
    ...
    SdYCkFdo+85z8hBULFzSH6jgSP0UGQU0PcfIy7KPKyI4jnFQqeCDvLdWyhtAx9gq
    Fu40qMSm1dNCFfnACRwYQkQgqCt/RHeUtl8srxyZC+odbunnV+ZyQdmLwLuQySUk
    ZL8naumG3yU=
    -----END CERTIFICATE REQUEST-----

2. 証明書署名要求を認証局に送信する

証明書署名要求を生成したら、組織が推奨する認証局に要求を提出できます。
認証局(CA)はデジタル証明書を提供するサービスであり、組織内にCAがある場合もあれば、信頼できる第三者を使用することもできます。一部の認証局では、インターネットからアクセス可能なシステムで証明書をホストする必要があります。この要件を持つ認証局の使用は推奨しません。
認証局は署名要求に応答し、次のファイルを提供します。
  • 署名済み証明書
  • 該当する場合、中間証明書
これで、これらのファイルをすべてXenServerホストにインストールできます。

3. 署名済み証明書をXenServerホストにインストールする

証明機関が証明書署名要求に応答したら、以下の手順を実行して証明書をXenServerホストにインストールします。
  1. 署名済み証明書と、証明機関が中間証明書を持っている場合はその中間証明書を、証明機関から取得します。
  2. キーと証明書をXenServerホストにコピーします。
  3. ホストで次のコマンドを実行します。
    xe host-server-certificate-install certificate=&lt;path_to_certificate_file> private-key=&lt;path_to_private_key> certificate-chain=&lt;path_to_chain_file>
    certificate-chain パラメーターはオプションです。
セキュリティを強化するために、証明書のインストール後に秘密鍵ファイルを削除できます。

管理者パスワードの管理

XenServerホストを初めてインストールするときに、管理者パスワードまたはrootパスワードを設定します。このパスワードを使用して、XenCenterをホストに接続したり、(ユーザー名rootで)システム構成コンソールであるxsconsoleにログインしたりします。
ホストをプールに参加させると、そのホストの管理者パスワードは、プールコーディネーターの管理者パスワードと一致するように自動的に変更されます。
注:
XenServerの管理者パスワードには、印刷可能なASCII文字のみを含める必要があります。

パスワードを変更する

管理者パスワードを変更するには、XenCenter®、xe CLI、または xsconsole を使用できます。

XenCenter

XenCenter を使用してプールまたはスタンドアロンホストの管理者パスワードを変更するには、次の手順を実行します。
  1. リソースペインで、プールまたはプール内の任意のホストを選択します。
  2. プールメニューまたはサーバーメニューで、サーバーパスワードの変更を選択します。
スタンドアロンホストのルートパスワードを変更するには、リソースペインでホストを選択し、サーバーメニューからパスワード、次に変更をクリックします。
XenCenter がセッション間でホストのログイン資格情報を保存するように構成されている場合、新しいパスワードは記憶されます。詳細については、ホスト接続状態を保存する を参照してください。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、プールシークレットをローテーションする を参照してください。

xe CLI

xe CLI を使用して管理者パスワードを変更するには、プール内のホストで次のコマンドを実行します。
xe user-password-change new=<new_password>
注:
コマンド履歴に平文のパスワードが保存されないように、コマンドの前にスペースを付けてください。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、プールシークレットをローテーションする を参照してください。

エックスエスコンソール

xsconsole を使用してプールまたはスタンドアロンホストの管理者パスワードを変更するには、次の手順を実行します。
  1. プールコーディネーターで、コンソールに移動します。
  2. root としてログインします。
  3. xsconsole と入力します。Enter キーを押します。xsconsole が表示されます。
  4. xsconsole で、矢印キーを使用して Authentication オプションに移動します。Enter キーを押します。
  5. Change Password に移動します。Enter キーを押します。
  6. 管理者パスワードで認証します。
  7. Change Password ダイアログで:
    1. 現在のパスワードを入力します。
    2. 新しいパスワードを入力します。
    3. 確認のため、新しいパスワードをもう一度入力します。
    Password Change Successful 画面が表示されます。Enter キーを押して閉じます。
ホストがプールコーディネーターの場合、この更新されたパスワードはプールの他のホストに伝播されます。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、「プールシークレットをローテーションする」を参照してください。

失われたルートパスワードをリセットする

XenServerホストの管理者(root)パスワードを紛失した場合、ホストに直接アクセスすることでパスワードをリセットできます。
  1. XenServerホストを再起動します。
  2. GRUBメニューが表示されたら、eキーを押してブートメニューエントリを編集します。
  3. module2で始まる行にinit=/sysroot/bin/shを追加します。
  4. Ctrl-Xを押してrootシェルで起動します。
  5. コマンドシェルで、次のコマンドを実行します。
    chroot /sysroot
    passwd

    (type the new password twice)

    sync
    /sbin/reboot -f
ホストがプールコーディネーターの場合、この更新されたパスワードはプールの他のホストに伝播されます。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、「プールシークレットをローテーションする」を参照してください。

サーバーのNTP構成を変更する

xsconsoleからサーバーのNTP構成を更新できます。
  1. ホストコンソールで、xsconsoleと入力します。
  2. xsconsoleで、**ネットワークと管理インターフェース > ネットワーク時刻 (NTP)**に移動します。
  3. 続行するにはパスワードを入力してください。
  4. Configure Network Timeメニューから、設定したいオプションを選択します。
XenAPIを使用してNTPを構成することもできます。
これにより、SSH経由でdom0に直接アクセスすることなく、NTP構成を自動化できます。
Python SDKの使用例: session.xenapi.host.set_ntp_mode(host_ref, 'Factory')
NTPモード:
  • Factory - 組み込みのXenServer NTPプールサーバーを使用します
  • DHCP - DHCPによって割り当てられたNTPサーバーを使用します
  • Custom - ユーザーによって構成されたNTPサーバーを使用します
  • Disabled - NTPを無効にします(非推奨)
NTP同期ステータスを確認するには:
  • session.xenapi.host.get_ntp_synchronized(host_ref)
  • session.xenapi.host.get_ntp_servers_status(host_ref)
注:
NTPがXenAPIを介さずにdom0に直接構成されている場合、値がXenAPIフィールドと矛盾する可能性があります。
XAPIと値を再同期するには、ツールスタックを再起動します: xe-toolstack-restart

サーバーのタイムゾーンを変更する

XenAPIを使用してホストのタイムゾーンを構成できます。
Python SDK を使用した例: session.xenapi.host.set_timezone(host_ref, 'UTC')
タイムゾーンの値は、IANA タイムゾーン名を使用する必要があります。例:
  • UTC
  • Europe/Paris
  • Asia/Kolkata
現在のタイムゾーンを読み取るには:
session.xenapi.host.get_timezone(host_ref)
サポートされているタイムゾーンを一覧表示するには:
session.xenapi.host.list_timezones(host_ref)
注:
タイムゾーンが XenAPI を介さずに dom0 に直接構成されている場合、値が XenAPI フィールドと矛盾する可能性があります。
XAPI と値を再同期するには、ツールスタックを再起動します: xe-toolstack-restart

サーバーの max-cstate を変更する

max-cstate 設定は、許可される最も深い CPU アイドル電源状態を制御します。
サポートされている値:
  • "" - 無制限 (デフォルト)
  • 0 - C0に制限
  • 1 - C1に制限
Python SDKを使用した例:
session.xenapi.host.set_max_cstate(host_ref, '1')
現在の値を読み取るには:
session.xenapi.host.get_max_cstate(host_ref)
注:
max-cstateがXenAPIを介さずにdom0に直接構成されている場合、値がXenAPIフィールドと矛盾する可能性があります。
XAPIと値を再同期するには、ツールスタックを再起動します: xe-toolstack-restart

メンテナンスのためにXenServerホストのプールを準備する

リソースプールの一部であるホストでメンテナンス操作を実行する前に、そのホストを無効にする必要があります。ホストを無効にすると、そのホスト上でVMが起動されなくなります。その後、そのVMをプール内の別のXenServerホストに移行する必要があります。これは、XenCenterを使用してXenServerホストをメンテナンスモードにすることで実行できます。詳細については、XenCenterドキュメントのメンテナンスモードで実行を参照してください。
バックアップ同期は24時間ごとに発生します。プールコーディネーターをメンテナンスモードにすると、オフラインVMの過去24時間分のRRD更新が失われます。
警告:
アップデートをインストールする前にすべてのXenServerホストを再起動し、その構成を確認することを強くお勧めします。一部の構成変更はXenServerホストが再起動されたときにのみ有効になるため、再起動によってアップデートの失敗につながる構成の問題が明らかになる可能性があります。

CLIを使用してプール内のホストをメンテナンス操作のために準備する

  1. 次のコマンドを実行します。
    xe host-disable uuid=XenServer_host_uuid
    xe host-evacuate uuid=XenServer_host_uuid
    このコマンドはXenServerホストを無効にし、実行中のVMをプール内の他のXenServerホストに移行します。
  2. 必要なメンテナンス操作を実行します。
  3. メンテナンス操作が完了したら、XenServerホストを有効にします。
    xe host-enable
  4. 停止しているVMを再起動し、一時停止しているVMを再開します。

XenServerホストをシャットダウンまたは再起動する

XenServerホストをシャットダウンまたは再起動するには、常にxe CLIまたはXenCenterを使用することをお勧めします。通常の操作中に、他の方法(ハードウェアベースのリセットやオペレーティングシステムコマンドなど)を使用してホストをシャットダウンまたは再起動しないでください。これにより、ホストとプールで予期しない動作が発生する可能性があります。
xe CLIを使用してホストをシャットダウンまたは再起動するには、次のコマンドを使用します。
  1. 指定されたホストで新しいVMが起動したり、移行されたりするのを防ぎます。
    xe host-disable host=<host name>
  2. 必要に応じて、実行中のVMをホストから移行します。
    xe host-evacuate uuid=<host uuid>
  3. 次のいずれかのxe CLIコマンドを使用して、ホストをシャットダウンまたは再起動します。
    • ホストをクリーンにシャットダウンするには:
      xe host-shutdown host=<host name>
    • ホストをクリーンに再起動するには:
      xe host-reboot host=&lt;host name>
XenCenterを使用してサーバーをシャットダウンする方法については、XenCenterドキュメントを参照してください。

ホストの電源オンを設定する

ホストをリモートで電源オンにする

XenCenterまたはCLIを使用して、XenServerホストの電源オン機能により、ホストをリモートでオン/オフできます。
ホストの電源を有効にするには、ホストが以下のいずれかの電源制御ソリューションを備えている必要があります。
  • Wake on LAN対応ネットワークカード。
  • インテリジェントプラットフォーム管理インターフェイス (IPMI)。
  • 管理APIに基づいたカスタムスクリプトで、XenServerを介して電源をオン/オフできます。詳細については、次のセクションの「ホストの電源オン機能のカスタムスクリプトを構成する」を参照してください。
ホストの電源オン機能を使用するには、次の2つのタスクが必要です。
  1. プール内のホストがリモートでの電源制御をサポートしていることを確認します。たとえば、Wake on LAN機能があるか、IPMIをサポートしているか、またはカスタムスクリプトを作成しているか、などです。
  2. CLIまたはXenCenterを使用して、ホストの電源オン機能を有効にします。

CLIを使用してホストの電源オンを管理する

ホストの電源オン機能は、CLIまたはXenCenterのいずれかを使用して管理できます。このセクションでは、CLIを使用した管理について説明します。
ホストの電源オンは、ホストレベル(つまり、各XenServer上)で有効になります。
ホストの電源オンを有効にすると、CLIまたはXenCenterのいずれかを使用してホストをオンにできます。

CLIを使用してホストの電源オンを有効にするには

コマンドを実行します。
xe host-set-power-on-mode host=&lt;host uuid>

power-on-mode=("" , "wake-on-lan", "IPMI","custom")

power-on-config=key:value

CLI を使用してホストをリモートで起動するには

コマンドを実行します。
xe host-power-on host=&lt;host uuid>