2011/07/14

VMM2012BETA > Citrix XenServer > XenServer ホストを追加してみた

System Center Virtual Machine Manager (SCVMM) 2008 R2 では、Hyper-V、Virtual Server 2005 R2 SP1、VMware ESX/ESXi 3.x/4の 3 つの仮想化テクノロジを統合管理できます。次期バージョンの SCVMM 2012 では、Virtual Server と VMware ESX/ESXi 3.0 のサポート (3.5/4 は引き続きサポート) は無くなりますが、新たに Citrix XenServer 5.6 Feature Pack (FP)1 以降 (現在の最新は 5.6 SP2) のサポートが追加されます。

Citrix XenServer の管理は、現在提供されている SCVMM 2012 Beta でも既に可能になっています。ただし、単純に Citrix XenServer のホストを追加できるというわけではありません。ちょっと面倒な準備が必要です。

なお、この手順は SCVMM 2012 Beta のものです。正式リリースでは若干、あるいは大きく変わってしまうかもしれません。その点はご了承ください。

VMware ESXi ホストの追加方法は、現行の SCVMM 2008 R2 とほとんど変わりません。VMware vSphere の vCenter Server を登録すると、vCenter Server の管理下にある ESXi ホストが SCVMM 2012 に登録されます。SCVMM 2012 は、vCenter Server の Web サービス (443/TCP) を介して、ESXi ホストを管理します。

Citrix XenServer ホストを追加するために、Citrix XenCenter が必要になることはありません。SCVMM 2012 は、Citrix XenServer ホストを直接管理対象にできます。使用されるポートは5589/TCP で、WS-Management プロトコルを使用して管理することになります。

ただし、単純に Citrix XenServer ホストを登録しようとしても、右のようなエラーになります。Citrix XenServer は、標準では WS-Management を搭載していません。以下のドキュメントによると、XenServer Integration Suite Supplemental Pack なるものを管理対象にインストールしておく必要があるようです。

TechNet Library > Managing Citrix XenServer Overview
http://technet.microsoft.com/en-us/library/gg610628.aspx


Citrix のサイトで公開されている XenServer SCVMM Beta Integration Suite がこれに相当するもののようです (現時点で)。

インストールは簡単です。XenServer のコンソールで、ISO イメージをマウントし、xs#xenserver-integration-suite ディレクトリと xs#xenserver-transfer-vm ディレクトリのそれぞれで install.sh を実行するだけです。

# cd xs#xenserver-integration-suite
# ./install.sh
# cd ../xs#xenserver-transfer-vm
# ./install.sh


最初のxenserver-integration-suiteは、OpenPegasus です。OpenPegasus は、DMTF WBEM、つまり、WS-Management のオープンソース実装です。xenserver-transfer-vm は、Citrix XenServer 5.6 以降で仮想マシン/アプライアンスのインポート、エクスポートをサポートするオプション コンポーネントだと思います (たぶん)。



これでようやく SCVMM 2012 Beta にホストを追加できると思いきや、HTTPS 5589、HTTP 5588 のどちらを指定してもエラーになります。

エラーを見ると、信頼された証明書のよる SSL/TLS のセキュア チャネルが必要のようです。Citrix XenServer の既定の自己署名証明書だとダメなようです。


ここで Citrix XenServer にさほど詳しくない私は悩みます。Citrix XenServer の既定の自己署名証明書を、信頼された証明書に入れ替えるにはどうすればよいのか。Citrix Knowledge Center を探してみたところ、以下の 2 つのナレッジを見つけました。
 Citrix Knowledge Center Home > CTX128617
How to Use IIS to Acquire SSL Certificates for XenServer
http://support.citrix.com/article/CTX128617

Citrix Knowledge Center Home > CTX128656
How to Use OpenSSL with a Windows Certificate Authority to Generate XenServer Certificates http://support.citrix.com/article/CTX128656


これらのドキュメントでは、Windows の IIS マネージャーを使用して、証明書を要求し、取得する方法や、Citrix XenServer の既定の証明書を入れ替える方法が説明されています。これらのドキュメントでは、Windows 側に OpenSSL や何やらツールを入れて作業していますが、私なりに Windows と Citrix XenServer の標準のものだけで済ませました。以下に説明する手順は、Active Directory ドメインに Active Directory 証明書サービスのエンタープライズ PKI 環境が構築されていることを前提としています。その方法についてはここでは説明しません。

[PR] エンタープライズ PKI の構築や証明書の発行については、書籍「Windows Server 仮想化テクノロジ入門」の「3.7.2 RD セッションホストと RD Web アクセスの構成」(269 ページ) 、同書籍「付録 A 基本のネットワーク基盤の作り方」(665 ページ)、および書籍「Windows Server 2008 R2 テクノロジ入門」の「IP-HTTPS 用の Web サーバー証明書を発行する」(368 ページ) に詳しく書いてあります!!

(1) Active Directory ドメイン メンバーの Windows で、Microsoft 管理コンソール (mmc.exe) に証明書スナップインを追加し、コンピューター アカウント (ローカル コンピューター)の証明書ストアを開きます。
(2) 「証明書 (ローカル コンピューター)\個人」を右クリックして「すべてのタスク」→「新しい証明書の要求...」を選択します。
(3) 「証明書の登録」ウィザードが開きます。「Active Direcotry 登録ポリシー」から SSL 用の証明書 (Active Directory 証明書サービス側でテンプレートを作成し、公開しておく必要あり) を選択し、不足しているプロパティとして「共通名」と「DNS」に Citrix XenServer ホストの FQDN を入力して、証明書をオンラインで発行します。
(4) 「証明書 (ローカル コンピューター)\個人\証明書」の下に発行された証明書が追加されるので、PKCS #12 (.PFX) 形式でエクスポートします。秘密キーもいっしょにエクスポートしてください。
(5) エクスポートした証明書ファイル (.pfx) を何とかして Citrix XenCenter ホストにコピーします。 Citrix のドキュメントでは WinSCP というツールを使用していますが、HTTP でアクセス可能な場所 (Web サーバーなど) にコピーして、 Citrix XenCenter ホストのコンソールから wget http://FQDN/filename.pfx で持ってくるのが早いです。
(6)  Citrix XenCenter ホストのコンソールで次のコマンドラインを実行して、pem 形式に変換します。Citrix のドキュメントでは、この作業を Windows に OpenSSL をインストールして行っていますが、Citrix XenCenter には openssl が標準で入っています。これを利用したほうが手っ取り早いです。

openssl pkcs12 -in filename.pfx -out xenserver.pem -nodes

(7) できた .pem ファイルを /etc/xensource/xapi-ssl.pem にコピー (以前のものは念のためバックアップ コピーして) して、chmod 400 で root だけに読み取り専用とし、/etc/init.d/xapissl を再起動します。サービスが問題なく開始できたら、Citrix XenServer を再起動します。
(8) これで、問題なく SCVMM 2012 Beta にホストを追加できるようになると思いますが、念のため WinRM コマンドでテストしておきます。以下のコマンドにレスポンスがあれば OK です。

winrm identify -remote:https://FQDN:5589 -authentication:basic -username:root -password:rootのパスワード -encoding:utf-8

(9) ホスト登録時には、FQDN を入力し、[Communicate with the above host in secure mode using certificates]をチェックして、TCP ポート 5589 を指定します。こんどは、無事に登録になるはずです。











以下は、SCVMM 2012 Beta から、Citrix XenServer 上の仮想マシンのコンソールに接続しているところ。コンソールを表示している Xen Viewer は、Citrix XenServer ホストからダウンロードされた Active X コントロールです。


ちなみに、こちらは vCenter Server 経由で管理している VMware ESXi 4 上の仮想マシンに接続したところ。こちらも、ビューアー (VMware Remote Console) は ESXi ホストからダウンロードされた ActiveX コントロールです。


ちなみに、いつものように Citrix XenServer も VMware ESXi も、VMware Player で動いているヤツです。→「XenServer 5.6 in VMware Player 3.1.2」「VMware ESXi 4.1 in VMware Workstation 7.1.1 & VMware Player 3.1.1

0 件のコメント: