XenServer SDKとは
XenServer SDKは、XenAPI命令を各種の開発言語から利用することを可能にするソフトウェア開発キットです。SDKを利用すれば、XenAPI命令をXML-RPCプロトコルベースのリモートプロシージャコールとして、XenServerホスト上のXAPIデーモンに渡すことができます。
XenServer SDKは、シトリックスのDeveloper Networkページで無償公開されています。XenServer SDKで提供される内容は、以下のとおりです。
- C#.NET、Java、C、PowerShell、Python用の5種類
- 各言語からXenAPIを呼び出し可能にするためのバインディング用バイナリと、そのソースコード
- APIリファレンス
以下の各節では、Windowsマシンから手軽に利用できるXenServer SDK for PowerShellを例にとり、スクリプティングによるXenServer自動化の基礎を説明します。
XenServer SDK for PowerShellをセットアップする
XenServer SDKは、通常XenServerホストへネットワーク経由でアクセス可能なWindowsクライアントマシン側にセットアップします。使用するWindows OSは、Windows PowerShellを実行可能な環境であれば、どれでも構いません。
必要なもの
- XenServer SDK for PowerShellのインストーラ(msi)
- .NET Framework 2.0以上
- Windows PowerShell 1.0
XenServer Developers Networkの「XenServerPSSnapIn: The XenServer SDK for PowerShell」を入手します。
XenServer SDK for PowerShellのインストール手順は簡単なので、説明は省略します。インストールが完了すると、Windowsメニューの[すべてのプログラム]直下に[Citrix XenServer PowerShell SnapIn]という独自のコマンドラインウインドウが登録されます。
次の節へ進む前に、XenServerホスト環境を用意しておいてください。
用意するXenServer環境
- XenServerホストマシン(必須)
- ゲストOSのインストーラ(必須)
- 共有ストレージ(オプション)
無償版XenServer 5.6または5.5をインストールしたXenServerホストを用意します。ホスト1台のスタンドアロン構成でも構いませんが、可能であれば2台のホストを用意してプールを構成しておきます。
OSのインストールディスクをご用意ください。この記事のサンプルコードは、メモリ使用量の少ないWindows XP SP2を前提にしています。他のOSを利用される場合は、サンプルに記述されたOS名称を読み換えてください。
可能であれば、NFSまたはiSCSIのネットワークストレージも用意します。ライブマイグレーションXenMotionを検証するにはローカルストレージではなく共有ストレージが必要なためです。ストレージレポジトリとして登録しておきます。