2013/05/28

System Center 2012 SP1 > テンプレートからの Linux 仮想マシンの自動展開

System Center 2012 SP1 Virtual Machine Manager は、Windows Server だけでなく、Linux 仮想マシンのテンプレートからの自動展開に対応しています。

この新機能、VMM ユーザーであっても存在すら気付かないかもしれません。というわけで、ざっくりとやってみました。


テンプレート用の VHD (または VHDX) イメージを準備する

Hyper-V 仮想マシンに Linux ゲスト (正式サポート対象のやつ) をインストールし、Linux 版の Hyper-V 統合サービスを組み込みます。今回は、CentOS 6.4 で試してみました。CentOS 6.4 の場合は、Hyper-V 統合サービスが OS にビルトインされているので、OS を新規インストールするだけで OK です。

次に、Linux ゲストに VMM エージェントをインストールします。この VMM エージェントは、VMM サーバーがゲスト OS を再構成するために使用するもののようです。 Linux 用の VMM エージェントは、VMM サーバーの C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\agents\Linux フォルダー内にあるので、このフォルダーの内容を Linux ゲストに何とかしてコピーします。例えば、Linux フォルダーを共有して、Linux ゲストから Windows (SMB) 共有にネットワーク接続し、ファイル コピーで取り込みます。


VMM エージェントのファイルをコピーしたら、root (su) 権限で install スクリプトを実行します。64 ビット (x86_64) の場合は、コピー先のパス内で ./install scvmmguestagent.1.0.0.544.x64.tar を実行します。

Linux ゲストをシャットダウンして、仮想マシンを停止し、VHD (または VHDX) ファイルを VMM ライブラリにコピーします。Windows ゲストのように、Sysprep のような手続きは必要ありません。
 
Linux の VM テンプレートを作成する

VMM ライブラリにコピーした Linux の VHD (または VHDX) を指定して、VM テンプレートの作成を開始します。

ウィザードを適当に進め、[オペレーティング システムの構成]のところで[ゲスト OS プロファイル]のドロップダウン リストから[Linux オペレーティング システムのカスタマイズ設定の新規作成]を選択します。ここで、Linux ゲストのためのゲスト OS プロファイルを構成します。

最小限、OS の種類として、VHD (または VHDX) に入っている Linux ディストリビューションのバージョン&アーキテクチャを指定すれば良いと思います。

Linux のゲスト OS プロファイルでは、ID 情報としてホスト名と DNS ドメイン名、ルート資格情報として root パスワードや SSH キーの設定、タイムゾーンの設定、および RunOnce コマンド (一回だけ実行するスクリプト) を指定できます。

テンプレートから仮想マシンを作成する

さて、出来上がった Linux の VM テンプレートから仮想マシンを展開してみましょう。今回は、VM テンプレートから仮想マシンを展開しますが、サービス テンプレートを作成して、サービスの 1 つの Tier として Linux 仮想マシンを展開することもできます。アプリケーション プロファイルや SQL Server プロファイルは、Linux ゲストではサポートされないので、アプリケーションやデータベースのプロビジョニングをしたい場合は、RunOnce コマンドを利用することになるんでしょう。スケールアウト構成とかはどうなんでしょう。ハードウェア ベースのロードバランサーがあればできるのでしょうか?


[ハードウェアの構成]でネットワーク アダプター (レガシじゃあないタイプ) を構成します。できるかどうかは不明 (わたし知らない) ですが、ダメもとで IP プールから IPv4 アドレスの固定割り当てにしてみました。

[オペレーティング システムの構成]では、ホスト名 (コンピューター名) を Linuxdemo にしてみます。他は変更していません。


作成中...


確認!

ジョブが完了したら、仮想マシンを開始します。ちゃんとホスト名が linuxdemo になっています (ちなみに、イメージに入っていたコンピューター名は centos64 さんです)。IP アドレスも IP プールから割り当てられたものが固定的に設定されています。なお、IP プールでは、DNS サーバーの設定も行っているのですが、それは無視された模様。


Windows Azure の IaaS では、いくつかの Linux ゲストをライブラリから簡単に展開できますが、あれはどうなっているんだろうと思っていました。VMM でやってみると、そんなに難しくないことがわかります。OS のイメージ展開というか、クローン展開は、Windows の Sysprep が話を複雑にしているんですね。

0 件のコメント: