第2回 Hyper-Vを「使う」から「管理する」へ 〜System Center 2012 Virtual Machine Manager〜一から知るSystem Center 2012と仮想化管理 Virtual Machine Manager

Hyper-V単体でも仮想化環境は運用できる。では専用ツールであるSystem Center 2012 Virtual Machine Manager(SC2012VMM)の価値とは? 仮想マシンの作成手順を例に解説する。

» 2012年11月08日 16時13分 公開
[高添修,日本マイクロソフト株式会社 エバンジェリスト]

 前回はSystem Center 2012(SC2012)の製品構成や機能、狙い、思想的な背景といった概要を説明した。今回からは、中核機能といえる仮想化管理の「Virtual Machine Manager(VMM)」に焦点を当てて解説する。まずは、Hyper-Vを単体で運用する場合と比べたときのVMMのメリットを、具体的な例を示しながら説明しよう。

同じ「仮想マシンを作る」にも2種類の方法がある

 知っての通りHyper-Vは、Windows Server OSの標準機能として追加コストなしで利用できる仮想化技術である。ほかの仮想化ソフトウェアと比較しても遜色のない性能を、誰もが見慣れたWindows Server OSの標準の管理ツールから利用できるため、「仮想化をするぞ!」と予算をかけて整備するデータセンター用途だけでなく、フロアに数台並んでいる部門サーバや開発環境でも利用しやすい。

 さて、仮想化を導入すると、仮想マシンを作ることになる。仮想マシンの実体は基本的にはファイルなので、ファイル・コピーでサーバを増やすこともできる。ただ、その「仮想マシンを作る」という当たり前の作業には大きく分けて2種類の方法がある。簡単にいうと、OS標準の管理ツールとファイル・コピーを利用して1台1台の仮想マシンを手動で作る方法と、運用管理のために作られた専用ツールを使って半自動的に仮想マシンを作る方法である。

 初期コストを徹底的に抑えるならば前者しか思い浮かばないだろう。しかし後者は、事前にちょっとした作業をするだけで、手間をかけずに同じ設定の仮想マシンを複数作成できる。仮想マシンに割り当てるプロセッサ数やメモリ容量などを、仮想マシンを作るたびに設定するのではなく、寿司屋の品書きによくある「松」「竹」「梅」のように、よく利用する仮想マシンのパターンを事前に決めて作っておくことができるのだ(このパターンは「テンプレート」と呼ばれる)。筆者もデモ環境の構築などで多用している。

 例えば、データベース・サーバなら松、Webサーバは梅とすると、「今回のシステムは松を1つ、梅を3つ作っておこう」というような感じになる。仮想マシンを作るたびに、データベースだとプロセッサは4つ必要そうだといった「暗黙の了解」「ドキュメントのどこかに書いてある情報」に頼るのではなく、誰が作っても竹は竹、梅は梅となることから、仮想化を使ったマシン環境の標準化にも利用される。そして、このような環境を作る専用ツールがSystem Center 2012 Virtual Machine Manager(SC2012VMM)である。

 本稿では、上記のようなメリットを実感していただくために、SC2012VMMを使ってこの「松竹梅」作りにチャレンジしてみる。ただし、すべてを網羅的に解説すると手順も多く難しいと感じる方もいることだろう。そこで本稿では、作成手順中の要点をピックアップして説明し、読者諸兄に大まかな手順とゴールをイメージしていただけることを優先したい。Hyper-V環境の構築やSC2012VMMのインストール手順などの詳細は、以下のホワイトペーパーを参照していただければと考えている。

SC2012VMMを使った仮想マシンの作成手順

 さて、SC2012VMMを利用して仮想マシンを作るには以下の手順を踏むことになる。

  1. Hyper-V 環境の準備
  2. SC2012VMM環境の準備
    インストールは難しくない
  3. SC2012VMMでHyper-Vホストを管理下に追加
    ホストの追加ウィザードで簡単
  4. SC2012VMMでネットワークの設定
    仮想マシンを接続するネットワークの事前定義とDHCPサーバ設定のようなもの
  5. ライブラリの準備
    指定された共有フォルダに必要なファイルをコピーするだけ
  6. SC2012VMMで仮想マシンのテンプレートを作成
    同じ作業を繰り返さないための事前作業
  7. テンプレートから仮想マシンを作成

 1〜3は単なる準備だが、SC2012VMMの特徴でもある4のネットワークの設定について詳しく解説しておこう。

 数年前までのサーバのセットアップ作業を頭に思い浮かべてほしい。仮想化されていないサーバを導入する場合、どこのネットワークにつなぐかはケーブル配線という実作業が必要になる。しかし、物理サーバに集約された仮想マシンの場合は、仮想環境のネットワーク設定画面で指定することになる。特に、複数のネットワーク・カード(NIC)を持つ物理サーバの場合、業務データが流れるネットワークや管理用のネットワーク、iSCSIなどのストレージ・アクセス用のネットワークなどをどのように利用するか、あらかじめ決められているルールがあるはずだ。4の手順は、仮想マシンの作成前に、このルールを分かりやすくするために可視化しておくものと考えればよい。

SC2012VMMのネットワーク設定画面 SC2012VMMのネットワーク設定画面
社内に複数のネットワークがある場合、それぞれどのように利用するか、というルールが決まっているはずだ。SC2012VMMでは、仮想マシンのためのネットワークにそのルールを当てはめることが可能だ。この例では、業務データ用の「EnterpriseLAN」と管理用の「BackendLAN」の2つを管理していることが分かる。

 しかも、このネットワーク設定画面ではIPアドレス・プール(IPアドレスの集合)を作ることもでき、あとで仮想マシンを作る際にこのプールからIPアドレスを割り振ることもできる。データセンターでは、IPアドレスが固定化されないDHCPを好まない場面も多いが、この方法だと、IPアドレスの付与は自動で行われるものの、仮想マシンの再起動などのタイミングでIPアドレスが変わることはない。DHCPというより、むしろIPアドレス設定作業のみを自動化した状態に近い。もちろん、IPアドレス付与時にVLANの設定も自動化できる。

IPアドレス・プール設定画面 IPアドレス・プール設定画面
左側の設定項目を見ると、DNSやデフォルト・ゲートウェイなど、DHCPサーバで設定するような項目が並んでいるのが分かる。しかしDHCPとは異なり、仮想マシンの再起動などでIPアドレスが変わることはない。

仮想マシンの「松竹梅」テンプレートの作成

 「すぐに自分用の仮想マシンを作りたい」という衝動を抑えつつ、まずは仮想マシンのテンプレート作成から始めよう。例えば、Windows Server 2008 R2ベースで前述の「松」「竹」「梅」の各テンプレートを作ろうとすると、以下のような準備を事前に行う必要がある。単に仮想マシンを作る場合と比べると、ベースとなる仮想マシンを作る際、「Sysprep」というWindows OSを複製・展開するためのツールを用いる点が異なる。このツールの詳細については関連記事を参照していただきたい。

[Sysprep済みのVHDファイルを用意する手順]
(1)テンプレートとして利用するためのWindows Server 2008 R2 SP1仮想マシンを作成し、最新の修正プログラムや社内で決められたツールをインストールする
(2)仮想マシンをコピーしても問題なく使えるように、Sysprepを行い、シャットダウンする
(3)仮想マシンの実体であるVHDファイルをSC2012VMMのライブラリ(共有フォルダ)にコピーする
(4)しばらくするとSC2012VMM管理画面のライブラリにVHDファイルが表示される(手動でリストを更新するとすぐに表示される)

仮想マシンのテンプレート作成前の準備 仮想マシンのテンプレート作成前の準備
上述の手順(3)における「SC2012VMMのライブラリ」の実体は共有フォルダである。SC2012VMMインストール時に自動作成された、もしくは手動で追加したライブラリに対してSysprep済みのVHDファイルをコピーすれば、SC2012VMMの管理画面にも表示される。ちなみに、リストの更新はデフォルトで1時間ごとに行われる設定になっているため、すぐに反映させたい場合は、SC2012VMM管理画面のライブラリで、登録されている共有フォルダを右クリックして[最新の情報に更新]を行えばよい。
  (1)SC2012VMM上のライブラリ。
  (2)(1)の実体である共有フォルダ。(1)と同名のものが並んでいることが分かる。

 また、仮想マシンの各テンプレートの仕様も以下のように決めておく。

[「松」「竹」「梅」の各テンプレートの決め事を作成(以下はあくまでも例)]

  • 松:プロセッサ4つ、メモリ4Gbytes、業務データ用ネットワークに接続後、社内ドメインに参加
  • 竹:プロセッサ2つ、メモリ2Gbytes、業務データ用ネットワークに接続後、社内ドメインに参加
  • 梅:プロセッサ1つ、メモリ1Gbytes、業務データ用ネットワークに接続後、社内ドメインに参加

 事前準備が完了したら、SC2012VMMの管理画面で「VMテンプレートの作成」をクリックし、ウィザードに従ってテンプレートの作成・設定を行う。

「松」というテンプレートを作成している画面 「松」というテンプレートを作成している画面
これは仮想マシンのハードウェアのスペック設定をしているところ。プロセッサを4つ、メモリを4Gbytesに設定している。
OSの設定画面 OSの設定画面
これはハードウェアのスペック設定の後に表示される画面で、ドメインに自動参加させるための設定をしているところ。ほかにも、ローカル管理者のパスワード設定やタイム・ゾーン、プロダクト・キー、初回起動時に実行させるスクリプトの設定なども可能だ。

 ウィザードが完了すれば、テンプレートは完成である。このように、テンプレート化とは、仮想マシンを作るたびに行う作業を、事前にやっておくだけのことだともいえる。

SC2012VMMで管理している「松」「竹」「梅」の各テンプレート SC2012VMMで管理している「松」「竹」「梅」の各テンプレート

 また、今回は分かりやすく「松」「竹」「梅」としたが、実環境では、OSごとにいくつかのテンプレートを作ることになるだろう。例えば、「WS2008R2SP1_標準スペックVM」や、それを英語化して短縮した「WS08R2SP1_Std(Windows Server 2008 R2 SP1のスタンダードなスペックの仮想マシンという意味)」のような名前を付けておくとよい。何のOSが必要か、何種類くらいのパターンが必要かなど、運用上都合のよい名前を考えておこう。

仮想マシンの作成

 さて、ここからは本来の目的である仮想マシンを作成する。作業はいたって簡単で、管理画面のツール・バーにある[バーチャル マシンの作成]ボタンをクリックしてウィザードを起動し、その中で先ほど作成したテンプレートや仮想マシン名を指定するだけである。

SC2012VMMにてバーチャルマシンを作成する画面 SC2012VMMにてバーチャルマシンを作成する画面
  (1)これをクリックして[バーチャル マシンの作成]を選ぶとウィザードが起動するので、ウィザードに従って仮想マシン名などを入力すればよい。
ウィザード中に表示されるテンプレート選択画面 ウィザード中に表示されるテンプレート選択画面
業務に合わせたテンプレートを用意しておくことで、細かな要件にも対応できる。
SC2012VMMのジョブの画面 SC2012VMMのジョブの画面
これは設定が終わって仮想マシンが実際に作成されているところ。画面の裏側では、「New-SCVirtualMachine」というPowerShellのコマンドが実行されている。
「松」というテンプレートを使った仮想マシンが完成 「松」というテンプレートを使った仮想マシンが完成
あとは起動して利用するだけだ。
  (1)「松」のテンプレートから作成した仮想マシン。
  (2)プロセッサ数やメモリ容量がテンプレート通りに設定されていることが分かる。

 一部繰り返しになるが、できあがった仮想マシンは、すでにSysprepが実行され、OSにはコンピュータ名が設定され、IPアドレス設定も終了し、ドメイン参加も完了しているところがポイントである。仮想マシンを作ってこの状態に仕上げていく作業は、慣れている人にとっては難しくないだろうが、OSの再起動が伴うため、それなりの手間と時間がかかるのも事実である。みなさんには、テンプレート作成という最初の手間と引き換えに、これらの作業から解放されるメリットを実感していただきたい。仮想マシンができあがったらすぐに、OSへのサービス追加やアプリケーションのインストールなどの本来やりたいことにたどり着けるのも、仮想化を導入することで得られる運用のスピードアップの1つである。

専用管理ツールを利用する価値はもっとある

 SC2012VMMを利用するメリットは、カスタマイズ済みの仮想マシンを容易に作成できることだけではない。複数のHyper-Vホスト(物理マシン)とその上で動く大量の仮想マシンを1つの画面から操作できるので、例えば、以下のようなことができる。

  • ライブマイグレーションの操作
    仮想マシンを動かしたまま別のHyper-Vホストに移動できる
  • 動的最適化
    1つのHyper-Vホストの負荷が高い場合に、仮想マシンをほかのHyper-Vホストに移動させて負荷の均一化を自動的に行う
  • 消費電力を抑えるエコ機能
    週末や夜中など、システムの負荷が低い時間帯に、自動的に稼働するHyper-Vホストの数を減らす。Hyper-Vホストのシャットダウンや起動もSC2012VMMが行う
  • スクリプトによる自動実行
    SC2012VMMの処理はPowerShellスクリプトとして実行されるので、GUIを使わずにスクリプトを直接実行させることもできる。例えば、数十台の仮想マシンを自動で一気に作成できる
  • Hyper-VホストやSC2012VMMに対するパッチの自動適用
  • 仮想マシン作成時にロード・バランサへ自動接続
  • ストレージ専用機の直接操作
    ストレージ専用機へ直接アクセスしてLUN(論理ボリューム)の作成やボリュームの拡張・縮小などを実行できる
  • ストレージの自動配置
    アクセス速度などに応じてストレージを分類し、仮想マシン作成時にその用途に応じて自動的に配置できる
  • Windows Serverのフェイルオーバー・クラスタ環境の自動作成
  • 追加するHyper-Vホストの自動セットアップ
    Hyper-Vホストを追加する際、そのOSやHyper-Vの自動インストールとクラスタ環境への自動追加ができる

 以上のように、仮想マシンのみならずHyper-Vホストやそのクラスタ、ストレージなどを幅広く管理できることが分かる。SC2012VMMは複数回のバージョンアップを経て、「仮想マシンの管理」から「クラウド基盤の構築と管理」を担うツールへと進化してきているため、非常に高機能化しているのだ。もちろん、機能が多いからよいというものでもないので、読者諸兄がやりたいことが含まれているかどうかから見ていき、必要だと思われる機能をピックアップしてご利用いただければよいと思う。

 なお、System Center 2012を試用したい場合は、次のページから評価版を入手できる。


 今回は、SC2012VMMの使用例の1つとして仮想マシンの作成手順を紹介しつつ、そのほかの機能についてもみてきた。テンプレートの作成機能は、例えるなら、ユーザー一人ひとりに対して直接アクセス権を割り当ててしまいたい衝動を抑えて、ルール通りにグループを作ってアクセス権設定をするようなものだ。ちょっと面倒に思えるかもしれないが、何しろ後で楽ができるのは間違いないので、ぜひとも活用していただきたい。そして次回は、最後に列挙した機能の一部を詳しく紹介しながら、今回触れることができなかったSC2012VMMの今後についても解説する。


関連リンク



Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。