テクニカルFAQ

質問

PowerChute Network Shutdown v3.x/v4.xでCitrix XenServerを保護する場合の設定方法

本ページでは、PowerChute Network Shutdown v3.xでCitrix XenServerを保護する場合の設定方法について説明しています。


【対象製品】
PowerChute Network Shutdown v3.x/v4.x

【概要】
PowerChute Network Shutdown (以下PCNS) を Citrix XenServer(CitrixR XenRハイパーバイザ)で使用する場合、ハイパーバイザ上に直接インストールは行いません。
Citrix Xenホストマシンを安全にシャットダウンするために、以下の手順に従い構成を行ってください。

・ XenServerの"xe コマンドラインインタフェース(以下 xe CLI)" がインストールされている別のWindowsまたはLinuxマシン上にPCNSをインストールする必要があります。
・ Citrix XenホストマシンおよびPCNSをインストールしたマシンは同じUPSから給電するようにしてください。

以上の構成にて、別PCにインストールされたPCNSがUPSの重大イベントをモニターし、イベント発生時にはXenServerのxe CLIを用いてコマンドファイルを実行して、リモートから仮想マシン(VM)およびXenホストマシンをシャットダウンします。

注) 本ページに記載する手順を実行するためには、Citrix XenServer およびサーバ管理を行うための知識が必要です。
   また、Citrix XenServerはCitrix社の製品となり、弊社では操作・設定方法などサポートを行っておりませんことご了承ください。

【スクリプトについて】
PCNSからスクリプトファイルを実行することで XenServerをシャットダウンします。サンプルスクリプトはこちらのダウンロードページより入手できます。

注:シュナイダーエレクトリック社が提供するスクリプトはサンプルです。実際の環境で使用する場合は必ず事前にテストを行ってください。また、このスクリプトはサポート対象外です。
 
このスクリプトは xe CLI を使用してTCPポート:443経由でXenServerホストに接続して実行中の全ての仮想マシンをシャットダウンし、引き続きXenServerホストをシャットダウンします。
PCNSがインストールされているマシンにて、シャットダウン時に実行するコマンドファイルとしてこのスクリプトを設定することで、重大イベント発生時のシャットダウンが可能となります。
  • Linuxの場合 : PCNSの "Configure Shutdown"ページで xenshutdown.sh を指定してください。
  • Windowsの場合 : PCNSの "Configure Shutdown"ページで pcns_xen_shutdown.cmd を指定してください。pcns_xen_shutdown.cmd は xenshutdown.vbs をPCNSから実行するためのスクリプトファイルです。
  • 警告: このスクリプトでは、XenServerホストをメンテナンス・モードにした後でシャットダウンを実行させます。
         そのため、XenServer上で実行している仮想マシンがスタンバイ状態にある場合、その仮想マシンは強制的に終了し、安全なシャットダウンが行われません。

電源障害などの重大障害を検出した際に、UPSはPCNSに対してイベントの通知を行います。
PCNS上でOSがシャットダウンするイベントを設定し、上記スクリプトをシャットダウン時に実行するコマンドファイルとして設定することで、リモートからXenServerホストに対してのシャットダウンを実施します。

参考) PowerChute Network Shutdown v3.x 電源障害時のシャットダウンプロセス
FA53622

上記技術文書内の "1) イベント遅延時間" がシャットダウンプロセス開始までの時間の設定、"2) コマンド実行時間"がスクリプトの実行と所要時間の設定項目となります。


Windowsで使用する場合
【xe CLIのインストール】
Windows では、XenCenter をインストールすることで xe.exe CLI 実行ファイルが XenCenterとともにインストールされます。詳細についてはシトリックス社のサイトを参照してください。
 
【Windows上でPCNS for XenServer を設定する方法】
1. XenServerマシンと同じUPSから給電されているWindowsマシンにPCNSをインストールします。
2. PCNSを設定します。詳細についてはPCNSのインストールガイドを参照してください。
3. PCNSをインストールしたマシンにXenCenter管理コンソールをインストールします。
4. XenServer上で実行している仮想マシンを安全にシャットダウンするために、XenCenter管理ツールを用いて、それぞれの仮想マシン上にXenServerツールをインストールします。
    XenServerツールをインストールするには、XenCenterを起動し、XenServerと接続します。XenCenter上に表示される仮想マシン上で右マウスクリックし、“Install XenServer Tools”を選択します。
5. ダウンロードしたサンプルスクリプトpcns_xen_shutdown.cmdをC:\Program Files\APC\PowerChute\group1 フォルダにコピーします。
6. ダウンロードしたサンプルスクリプトxenshutdown.vbsをC:\Program Files\Citrix\XenCenterフォルダにコピーし、メモ帳などのテキストエディタで開きます。
7. xenshutdown.vbsファイルに含まれる以下の値を、使用中の環境に合わせて修正します。
8. xenshutdown.vbsファイルを保存します。
9. XenServer管理者の認証情報は、ファイル xenshutdown.vbs に保存されます。そのため、このファイルの読み取り権限は管理者とLocalSystemのみに与えるようにしてください。
  権限を変更するには、Windows Explorer上で xenshutdown.vbs ファイルを右クリックし、プロパティ→セキュリティ→詳細設定を選択します。
  [アクセス許可]タブで、Usersグループを選択し、[編集]をクリックし、読み取り権限を「拒否」に変更してください。
10. PCNS のWEBユーザインタフェースにログオンし、メニューから Configure Shutdown を選択します。
  pcns_xen_shutdown.cmd の絶対パスを“Run this command file (full name):”の入力欄に入力し、全ての仮想マシンがシャットダウンし、XenServerホストがシャットダウンするために必要な時間(秒)を入力します。
11. Network Management Card (NMC) Webユーザインタフェースにログオンします。Low Battery durationに、ステップ10で設定した時間に2分を足した時間よりも大きい値を設定します。
  設定方法の詳細についてはNetwork Management Cardのマニュアルを参照してください。
xenHost (XenServerホスト名)
xenHostIP (XenServerのIPアドレス)
xenUser (XenServerのユーザ名)
xenPwd (XenServer のパスワード)
xePath (xe.exeの保存されているフォルダのパス名。例: C:\Program Files\Citrix\XenCenter\、C:\Program Files (x86)\Citrix\XenCenter\ 等)
本ドキュメント再下段の「補足:インターネットに接続していないWindowsマシンでxe CLIコマンドを実行する」も参照してください。

Linuxで使用する場合
【xe CLIのインストール】
Linuxシステムでは、スタンドアロンのxe実行環境はRPMで提供されています。これはxe-cli-5.6-BuildNumber.i686.rpm というファイル名でLinux Pack CD: Linux Guest Support に含まれています。
http://www.citrix.com/lang/English/lp/lp_1688621.asp

スタンドアロンのLinux用xeをインストールする方法は以下のとおりです。
1. LinuxマシンにRPMファイルをコピーします。
2. 以下のコマンドを実行します。ここで、5.6はバージョン番号を示します。バージョンによってはこの部分が異なる場合があります。
rpm –ivh xe-cli-5.6-BuildNumber.i686.rpm

【Linux上でPCNS for XenServer を設定する方法】
1. XenServerマシンと同じUPSから給電されているLinuxマシンにPCNSをインストールします。
2. PCNSを設定します。詳細についてはPCNSのインストールガイドを参照してください。
3. PCNSをインストールしたLinuxマシンにxe-cli-5.6-BuildNumber.i686.rpmをインストールします。ここで、5.6はバージョン番号をあらわしますので、必要な場合は適宜変更してください。
4. XenServer上で実行している仮想マシンを安全にシャットダウンするために、XenCenter管理ツールを用いて、それぞれの仮想マシン上にXenServerツールをインストールします。
    XenServerツールをインストールするには、XenCenterを起動し、XenServerと接続します。XenCenter上に表示される仮想マシン上で右マウスクリックし、“Install XenServer Tools”を選択します。XenServerのインストールと管理について、詳細はCitrix社のWEBページを参照してください。
5.ダウンロードしたサンプルスクリプトXenshutdown.shを/opt/APC/PowerChute/group1フォルダにコピーし、メモ帳などのテキストエディタで開きます。
6. Xenshutdown.shファイルに含まれる以下の値を、使用中の環境に合った値に修正します。
7. Xenshutdown.shファイルを保存します。
8. ファイルxenshutdown.shの読み取り権限をrootユーザのみに許可してください。 権限を変更するには、suまたはsudoを用いるか、rootユーザでログインした後、以下のコマンドを実行します。
9. PCNS のWEBユーザインタフェースにログオンし、メニューから Configure Shutdown を選択します。
  pcns_xen_shutdown.cmd の絶対パスを“Run this command file (full name):”の入力欄に入力し、全ての仮想マシンがシャットダウンし、XenServerホストがシャットダウンするために必要な時間(秒)を入力します。
10. Network Management Card (NMC) Webユーザインタフェースにログオンします。Low Battery durationに、ステップ9で設定した時間に2分を足した時間よりも大きい値を設定します。
注) Stunnelパッケージも合わせてインストールしてください。xe CLI を使用するためには、同じマシン上に Stunnel を入れる必要があります。Stunnel はXenServer管理デーモンとセキュアな接続を確立します。
SuSE 11についてはCitrix社のSuSE用RPMのページを参照してください。
XENHOST (XenServerホスト名)
XENUSER (XenServerの管理者名)
XENPASSWORD (XenServer 管理者パスワード)
chmod 700 xenshutdown.sh
設定方法の詳細についてはNetwork Management Cardのマニュアルを参照してください。
補足:インターネットに接続していないWindowsマシンでxe CLIコマンドを実行するには

インターネットに接続されていないWindowsマシン上で、xe CLI コマンドを実行する場合、実行完了までに長い時間がかかります。
これはマイクロソフト社で確認されている既知の問題です。詳細は http://support.microsoft.com/kb/936707 を参照してください。

この問題を回避するためには二つの方法があります。

方法 1:以下の手順を実行してください。
1. Internet Explorerを起動し、ツール->インターネットオプションをクリックする
2. 詳細設定タブを開き、セキュリティのセクションが表示されるまで画面をスクロールする。
3. “発行元証明書の取り消しを確認する”オプションのチェックをはずし、Internet Explorerを再起動する。
注)この操作を行うと、全てのツールに対して署名のチェックが無効になります。

方法 2:設定ファイルを作成する方法
この方法では、xe CLI 実行形式についてのみ、署名の確認を無効にします。
xe.exe.config という名称のファイルを作成し、その中に以下の記述を追加します。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
xe.exe.config ファイルをxe.exe が保存されているフォルダにコピーします。このフォルダはC:\Program Files\Citrix\XenCenterまたはC:\Program Files (x86)\Citrix\XenCenterのいずれかです。
これは役に立ちましたか?
私たちは情報を改善するために何ができるのでしょうか?