ホストを管理する
この記事では、個々のXenServer®ホストを管理するために実行できるいくつかのアクションについて説明します。
リソースプールに関連するアクションを管理するには、プールを管理するを参照してください。
SSHアクセスを設定する
XenServerホストへのSSHアクセスはデフォルトで有効になっています。XenServerホストへのSSHアクセスを無効にする場合は、次のコマンドを実行します。
xe host-disable-ssh host=<host_uuid_or_name_label>
<!--NeedCopy-->
このコマンドはSSHを無効にします。ホストは新しいSSH接続を拒否しますが、既存のセッションを切断することはありません。
XenServerホストへのSSHアクセスを有効にするには、次のコマンドを実行します。
xe host-enable-ssh host=<host_uuid_or_name_label>
<!--NeedCopy-->
現在のホストのSSH一時有効タイムアウト(秒)を設定するには:
xe host-param-set uuid=<host-uuid> ssh-enabled-timeout=<seconds>
<!--NeedCopy-->
タイムアウトパラメーターはSSHサービスの期間を決定します。0に設定すると、SSHは無期限にアクティブなままになります。正の整数(秒)に設定すると、指定された期間後にSSHは自動的に無効になります。設定変更は、その後のアクティブなSSHセッションに即座に適用され、ユーザーがCLI/APIからSSHを有効にするたびに適用されます。
現在のホストのSSHコンソールアイドルタイムアウト(秒)を設定するには
xe host-param-set uuid=<host-uuid> console-idle-timeout=<seconds>
<!--NeedCopy-->
VNCおよびSSHコンソール接続のアイドルセッションタイムアウトを、秒単位の非負の整数値で設定します。0はタイムアウトを無効にし(セッションは期限切れになりません)、正の値(例:3600)は指定された期間後にアイドルセッションを自動的に終了します。設定は、構成後に新しく作成されたコンソールセッションに適用されます。
現在のホストのSSH自動モードを設定するには
xe host-param-set uuid=<host-uuid> ssh-auto-mode=true
<!--NeedCopy-->
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管理制御の定義
SSHを構成するために、ホストレベルで新しいXAPI API host.set_ssh_auto_modeを設定します。
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 証明書はどこで入手できますか?
- 信頼された証明書をすでに持っていて、XenServerホストにインストールしたい場合があります。
-
あるいは、サーバー上で証明書を作成し、署名してもらうために希望する認証局に送信することもできます。この方法は、秘密鍵をXenServerホストに残したままにでき、システム間でコピーする必要がないため、より安全です。
TLS証明書の作成には、以下の手順があります。
1. 証明書署名要求を生成する
まず、秘密鍵と証明書署名要求を生成します。XenServerホストで、以下の手順を完了します。
-
秘密鍵ファイルを作成するには、次のコマンドを実行します。
openssl genrsa -des3 -out privatekey.pem 2048 <!--NeedCopy-->パスフレーズの入力を求められます。このパスフレーズは、次の手順で削除されます。
-
キーからパスフレーズを削除します。
openssl rsa -in privatekey.pem -out privatekey.nop.pem <!--NeedCopy--> -
秘密鍵を使用して証明書署名要求を作成します。
openssl req -new -key privatekey.nop.pem -out csr <!--NeedCopy--> -
プロンプトに従って、証明書署名要求の生成に必要な情報を提供します。
- 国名 (Country Name)。お住まいの国のTLS証明書国コードを入力します。たとえば、カナダの場合はCA、ジャマイカの場合はJMです。TLS証明書国コードのリストはWebで確認できます。
- 都道府県名 (State or Province Name (full name))。プールが配置されている州または都道府県を入力します。たとえば、マサチューセッツ州やアルバータ州です。
- 市区町村名。プールが設置されている都市の名前です。
- 組織名。会社または組織の名前です。
- 部署名。部署名を入力します。このフィールドはオプションです。
- コモンネーム。XenServerホストのFQDNを入力します。有効期限のないFQDNまたはIPアドレスを指定することをお勧めします。
- メールアドレス。このメールアドレスは、証明書を生成する際に証明書に含まれます。
証明書署名要求は現在のディレクトリに保存され、
csrという名前が付けられます。 -
次のコマンドを実行して、コンソールウィンドウに証明書署名要求を表示します。
cat csr <!--NeedCopy--> -
証明書署名要求全体をコピーし、この情報を使用して認証局に証明書を要求します。
証明書署名要求の例:
-----BEGIN CERTIFICATE REQUEST----- MIIDBDCCAewCAQAwgYsxCzAJBgNVBAYTAlVLMRcwFQYDVQQIDA5DYW1icmlkZ2Vz aGlyZTESMBAGA1UEBwwJQ2FtYnJpZGdlMRIwEAYDVQQKDAlYZW5TZXJ2ZXIxFTAT ... SdYCkFdo+85z8hBULFzSH6jgSP0UGQU0PcfIy7KPKyI4jnFQqeCDvLdWyhtAx9gq Fu40qMSm1dNCFfnACRwYQkQgqCt/RHeUtl8srxyZC+odbunnV+ZyQdmLwLuQySUk ZL8naumG3yU= -----END CERTIFICATE REQUEST----- <!--NeedCopy-->
2. 証明書署名要求を認証局に送信する
証明書署名要求を生成したら、組織が推奨する認証局に要求を提出できます。
認証局(CA)はデジタル証明書を提供するサービスであり、組織内にCAがある場合もあれば、信頼できる第三者を使用することもできます。一部の認証局では、証明書をインターネットからアクセス可能なシステムでホストする必要があります。この要件を持つ認証局の使用はお勧めしません。
認証局は署名要求に応答し、次のファイルを提供します。
- 署名済み証明書
- 該当する場合、中間証明書
これらのファイルをすべてXenServerホストにインストールできるようになりました。
3. 署名済み証明書をXenServerホストにインストールする
証明機関が証明書署名要求に応答した後、XenServerホストに証明書をインストールするには、次の手順を実行します。
- 署名済み証明書と、証明機関が中間証明書を所有している場合は、その中間証明書を証明機関から取得します。
- キーと証明書をXenServerホストにコピーします。
-
ホストで次のコマンドを実行します。
xe host-server-certificate-install certificate=<path_to_certificate_file> private-key=<path_to_private_key> certificate-chain=<path_to_chain_file>certificate-chainパラメーターはオプションです。
セキュリティを強化するため、証明書のインストール後に秘密鍵ファイルを削除できます。
管理者パスワードの管理
XenServerホストを初めてインストールするときに、管理者パスワードまたはrootパスワードを設定します。このパスワードを使用して、XenCenterをホストに接続したり、(ユーザー名 root を使用して)システム構成コンソールであるxsconsoleにログインしたりします。
ホストをプールに参加させると、そのホストの管理者パスワードは、プールコーディネーターの管理者パスワードと一致するように自動的に変更されます。
注:
XenServerの管理者パスワードには、印刷可能なASCII文字のみを含める必要があります。
パスワードの変更
管理者パスワードを変更するには、XenCenter®、xe CLI、またはxsconsoleを使用できます。
XenCenter
XenCenter を使用して、プールまたはスタンドアロンホストの管理者パスワードを変更するには、次の手順を実行します。
- 「リソース」ペインで、プールまたはプール内の任意のホストを選択します。
- 「プール」メニューまたは「サーバー」メニューで、「サーバーパスワードの変更」を選択します。
スタンドアロンホストのルートパスワードを変更するには、「リソース」ペインでホストを選択し、「サーバー」メニューから「パスワード」、次に「変更」をクリックします。
XenCenter がセッション間でホストのログイン資格情報を保存するように構成されている場合、新しいパスワードは記憶されます。詳細については、「ホスト接続状態の保存」を参照してください。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、「プールシークレットのローテーション」を参照してください。
xe CLI
xe CLI を使用して管理者パスワードを変更するには、プール内のホストで次のコマンドを実行します。
xe user-password-change new=<new_password>
<!--NeedCopy-->
注:
プレーンテキストパスワードがコマンド履歴に保存されないように、コマンドの前にスペースを付けてください。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、「プールシークレットのローテーション」を参照してください。
エックスエスコンソール
xsconsole を使用して、プールまたはスタンドアロンホストの管理者パスワードを変更するには、次の手順を実行します。
- プールコーディネーターで、コンソールに移動します。
-
rootとしてログインします。 -
xsconsoleと入力します。Enterキーを押します。xsconsoleが表示されます。 - xsconsoleで、矢印キーを使用してAuthenticationオプションに移動します。Enterキーを押します。
- Change Passwordに移動します。Enterキーを押します。
- 管理者パスワードで認証します。
-
Change Passwordダイアログで:
- 現在のパスワードを入力します。
- 新しいパスワードを入力します。
- 確認のため、新しいパスワードをもう一度入力します。
Password Change Successful画面が表示されます。Enterキーを押して閉じます。
ホストがプールコーディネーターの場合、この更新されたパスワードはプール内の他のホストに伝播されます。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、「プールシークレットのローテーション」を参照してください。
紛失したrootパスワードをリセットする
XenServerホストの管理者(root)パスワードを紛失した場合、ホストに直接アクセスしてパスワードをリセットできます。
-
XenServerホストを再起動します。
-
GRUBメニューが表示されたら、ブートメニューエントリを編集するためにeを押します。
-
module2で始まる行にinit=/sysroot/bin/shを追加します。 -
ルートシェルで起動するには、Ctrl-Xを押します。
-
コマンドシェルで、次のコマンドを実行します。
chroot /sysroot passwd (type the new password twice) sync /sbin/reboot -f <!--NeedCopy-->
ホストがプールコーディネーターである場合、この更新されたパスワードはプールの他のホストに伝播されます。
管理者パスワードを変更した後、プールシークレットをローテーションします。詳細については、プールシークレットのローテーションを参照してください。
サーバーのNTP構成を変更する
xsconsoleからサーバーのNTP構成を更新できます。
- ホストコンソールで、
xsconsoleと入力します。 - xsconsoleでネットワークと管理インターフェース > ネットワーク時刻 (NTP)に移動します。
- 続行するにはパスワードを入力してください。
- Configure Network Timeメニューから、設定したいオプションを選択します。
メンテナンスのためにXenServerホストのプールを準備する
リソースプールの一部であるホストでメンテナンス操作を実行する前に、そのホストを無効にする必要があります。ホストを無効にすると、その上でVMが起動するのを防ぎます。その後、そのVMをプール内の別のXenServerホストに移行する必要があります。これは、XenCenterを使用してXenServerホストをメンテナンスモードにすることで実行できます。詳細については、XenCenterドキュメントのメンテナンスモードで実行を参照してください。
バックアップ同期は24時間ごとに発生します。プールコーディネーターをメンテナンスモードにすると、オフラインVMの過去24時間分のRRD更新が失われます。
警告:
アップデートをインストールする前にすべてのXenServerホストを再起動し、その後、構成を確認することを強くお勧めします。一部の構成変更は、XenServerホストが再起動されたときにのみ有効になるため、再起動によってアップデートの失敗につながる可能性のある構成上の問題が明らかになることがあります。
CLIを使用してプール内のホストをメンテナンス操作のために準備するには
-
次のコマンドを実行します。
xe host-disable uuid=XenServer_host_uuid xe host-evacuate uuid=XenServer_host_uuid <!--NeedCopy-->このコマンドはXenServerホストを無効にし、その後、実行中のVMをプール内の他のXenServerホストに移行します。
-
必要なメンテナンス操作を実行します。
-
メンテナンス操作が完了したら、XenServerホストを有効にします。
xe host-enable <!--NeedCopy--> -
停止しているVMを再起動し、一時停止しているVMを再開します。
XenServerホストをシャットダウンまたは再起動する
XenServerホストのシャットダウンまたは再起動には、常にxe CLIまたはXenCenterを使用することをお勧めします。通常の操作中に、他の方法(ハードウェアベースのリセットやオペレーティングシステムコマンドなど)を使用してホストをシャットダウンまたは再起動しないでください。そうすると、ホストとプールで予期しない動作が発生する可能性があります。
xe CLIを使用してホストをシャットダウンまたは再起動するには、次のコマンドを使用します。
-
新しいVMが指定されたホストで起動したり、そのホストに移行されたりするのを防ぎます。
xe host-disable host=<host name> <!--NeedCopy--> -
必要に応じて、実行中のVMをホストから移行します。
xe host-evacuate uuid=<host uuid> <!--NeedCopy--> -
次のいずれかのxe CLIコマンドを使用して、ホストをシャットダウンまたは再起動します。
-
ホストをクリーンにシャットダウンするには:
``` xe host-shutdown host=
-
ホストをクリーンに再起動するには:
xe host-reboot host=<host name>
-
XenCenter を使用してサーバーをシャットダウンする方法については、XenCenter ドキュメント を参照してください。
ホストの電源オンを設定する
ホストをリモートで電源オンにする
XenCenter または CLI を使用して、XenServer ホストの電源オン機能でホストをリモートでオン/オフできます。
ホストの電源を有効にするには、ホストに次のいずれかの電源制御ソリューションが必要です:
-
Wake on LAN 対応ネットワークカード。
-
インテリジェントプラットフォーム管理インターフェース (IPMI).
-
XenServer を介して電源をオン/オフできる管理 API に基づくカスタムスクリプト。詳細については、次のセクションの「ホストの電源オン機能のカスタムスクリプトの構成」を参照してください。
ホストの電源オン機能を使用するには、次の2つのタスクが必要です:
-
プール内のホストがリモートでの電源制御をサポートしていることを確認します。たとえば、Wake on LAN 機能があるか、IPMI をサポートしているか、またはカスタムスクリプトを作成しているかなどです。
-
CLI または XenCenter を使用して、ホストの電源オン機能を有効にします。
CLI を使用してホストの電源オンを管理する
ホストの電源オン機能は、CLI または XenCenter のいずれかを使用して管理できます。このセクションでは、CLI を使用して管理する方法について説明します。
ホストの電源オンは、ホストレベル (つまり、各 XenServer 上) で有効になります。
ホスト電源オンを有効にした後、CLI または XenCenter のいずれかを使用してホストの電源を入れることができます。
CLI を使用してホスト電源オンを有効にするには
コマンドを実行します:
xe host-set-power-on-mode host=<host uuid> \
power-on-mode=("" , "wake-on-lan", "IPMI","custom") \
power-on-config=key:value
CLI を使用してホストをリモートで電源オンにするには
コマンドを実行します:
xe host-power-on host=<host uuid>
```