今回はWindows Server 2008から標準で搭載された、Hyper-Vを使った仮想化環境の構築方法を解説します。
Microsoft Hyper-Vとは
Microsoft Hyper-V(以下Hyper-V)は、Microsoft社がWindows Server 2008のリリースと共に提供したハイパーバイザー型の仮想化環境です。従来はサーバ用途ではホストOS型のMicrosoft VirtualServerを無償で提供していましたが、あらたにハイパーバイザー型の仮想化環境を、別製品にせずWindows Server 2008の標準機能として提供されるようになりました(「 without Hyper-V」と書かれた製品を除く) 。
2009年10月22日からパッケージ版の販売も開始されたWindows Server 2008 R2では、Hyper-Vがバージョンアップし、Hyper-V 2.0になっています。
Microsoftは、Hyper-Vをベースにした「Hyper-V Server 2008」を別途無償で提供しています。ただし、ゲストOSとしてWindowsを動かすのであれば、結局ライセンスの購入が必要ですから、最初からWindows Server 2008でHyper-Vを動作させた方が良いですし、Linuxを動作させる場合には仮想マシンへのCPU割り当てが1コアしかサポートされていないため、VMware ESXiやXenServerを使用した方が向いているように思えます。
今のところ、Hyper-VはWindowsに詳しい管理者が扱う仮想化環境という位置づけが最もマッチする製品といえます。絶対に無償でやりたいという方は、まずはWindows Server 2008の評価版でHyper-Vを試した後、Hyper-V Server 2008にトライしてもらうのがよいでしょう。
Microsoft Hyper-V
URL :http://www.microsoft.com/japan/windowsserver2008/technologies/hyperv.mspx
Hyper-V Server 2008
URL :http://www.microsoft.com/japan/servers/hyper-v-server/default.mspx
Xenと似た構造を持つHyper-V
Hyper-Vの構造は、Xenと似ています。ドライバの入出力や全体管理を司る「親パーティション」( Domain 0に相当)と、実際に利用する「子パーティション」( Domain Uに相当)に別れています。
デバイスドライバは親パーティションとなるWindows Server 2008で動作するものが使用できるので、幅広いデバイスが利用できます。また、管理もWindowsのGUIが利用できるので、Windowsの管理に慣れている管理者にとっては扱いやすい仮想化環境と言えるでしょう。
Hyper-Vを実行するハードウェアの準備
Hyper-Vを実行するハードウェアは、基本的にWindows Server 2008が動作すればよいので、比較的どんなものでも対応しています。
ただし、Hyper-V 2.0からはWindows Server 2008 R2は64ビット版しか提供されなくなりました。デバイスドライバも64ビット版が提供される必要があるので、デバイスドライバの種類に注意が必要です。
CPUの設定
Hyper-Vを実行するには、CPUの設定で以下の設定が必要となります。
・仮想化支援機能の有効化
Intel VTまたはAMD-Vが必要です。
・データ実行防止機能の有効化
Intel XDまたはAMD NXが必要です。
設定はBIOS設定画面などで行えます。
Hyper-Vのインストール
以下の手順に従って、Hyper-Vをインストールします。
①インストールメディアの入手
パッケージ版、あるいは評価版メディアを入手したのであれば、そちらを使用します。ISOイメージでダウンロードしたのであればDVD-Rメディアなどに焼いておきます。
②Windows Server 2008をインストール
インストールメディアを使って、まずWindows Server 2008をインストールします。インストール手順に特別なところはありません。必要に応じて、デバイスドライバなどのインストールも行っておきます。
ネットワークの設定はデフォルトではDHCPになっているかと思いますので、固定のIPアドレスに変更しておくとよいでしょう。
③Hyper-Vを役割として追加
Hyper-VはWindows Server 2008の「役割」として追加することで利用可能となります。インストール直後であれば「初期構成タスク」から、あるいは「サーバーマネージャー」から役割の追加が行えます。
図1 サーバーマネージャーから役割の追加を行います。
役割の追加ウィザードの指示に従い、Hyper-Vを追加します。
図2 Hyper-Vを役割として追加します。Active Directoryなどと同様の扱いになっています。
「仮想ネットワークの作成」画面では、仮想マシンに使用させたい物理ネットワークインターフェースを選択する必要があります。
図3 仮想ネットワークの作成では、仮想マシンに使用させたいNICを選択します。
Hyper-Vのインストールが終わると、再起動を行います。1回Hyper-Vの構成を行うために起動した後、再度起動がかかりますので、しばらく待っていましょう。無事にHyper-Vの追加が終わると、構成の再開ウィザード画面でインストール完了が確認できます。また、サーバーマネージャーの役割にHyper-Vの項目が追加されます。
図4 Hyper-Vのインストール完了画面。この状態ですぐに仮想マシンの作成が行えます。
④Hyper-Vマネージャーの利用
Hyper-Vを管理するのは、Hyper-Vマネージャーを利用します。Hyper-Vマネージャーは、サーバーマネージャーの役割から呼び出すことができます。
初期状態ではサーバに接続していないので、右ペインの「サーバーに接続...」をクリックし、ローカルコンピューターに接続します。
図5 Hyper-Vマネージャーの画面。まだどのHyper-Vにも接続していない状態。
図6 ローカルのHyper-Vに接続したHyper-Vマネージャーの画面。
仮想マシンの作成
仮想マシンを作成して動かしてみましょう。
①ゲストOSのインストールメディアを準備
仮想マシンにインストールするゲストOSのためのインストールメディアを準備します。Hyper-Vでは、以下の選択肢があります。
a) 仮想ホストの物理ドライブを利用する
b) ISOイメージを利用する
c) ネットワークインストール
何度もインストールを行うのであれば、ローカルストレージにISOイメージを置いておくとよいでしょう。
②仮想マシンの作成
ウイザード形式で仮想マシンの作成を行います。画面の指示に従って、各種設定を行います。作成を行うには、右ペインの「新規」から「仮想マシン」を選択します。
・メモリの割り当て
ウィザードではゲストOSの種類などを選択しないため、メモリの割り当て容量は512MBがデフォルトになっています。インストールするOSによって適切な容量を設定するようにして下さい。
・ネットワークの接続
Hyper-Vインストール時に有効にしたネットワークインターフェースを選択できるようになっています。デフォルトでは「接続しない」になっているので、外部への接続は行いません。
図7 図7 作成する仮想マシンを接続したいNICを選択します。
・仮想ハードディスク
仮想ハードディスク(.vhd)は、デフォルトでは可変長サイズのディスクファイルとして作成されます。使った分だけ容量を消費しますので、上限値だけを設定しておきます。
・インストールメディア
用意したインストールメディアに合わせて、設定を行って下くだい。
・仮想プロセッサ数
ウィザードでは設定は行えず、デフォルトでは1になっています。複数の仮想プロセッサを割り当てたい場合には、仮想マシンの設定から行います。
Hyper-Vでは、ゲストOSの種類によって割り当て可能な仮想プロセッサ数が異なります。
Hyper-VのサポートするゲストOS
URL :http://www.microsoft.com/japan/windowsserver2008/technologies/hyperv-guest-os.mspx
③仮想マシンの起動
ウィザードを実行すると、仮想マシンは作成されますが、自動的には起動されません。もし仮想マシンの設定を変更するのであればここで変更を行い、仮想マシンを起動します。
仮想マシン操作用の仮想コンソールは、仮想マシンに対して「接続」を行うことで表示されます。
図8 仮想コンソールの画面。画面はスケールされないので、小さい画面だと大変かも。
④統合サービスのインストール
ゲストOSのインストールが終わったら、統合サービスのインストールを行います。Windows Server 2008 R2をゲストにしている場合には、あらかじめ組み込まれているのでインストールの必要はありません。
統合サービスをインストールするには、ゲストOSに管理者権限でログオンした後、仮想マシン接続ウィンドウの操作メニューの「統合サービスセットアップディスクの挿入」を選択すると、仮想DVDドライブにISOイメージがセットされます。オートランが実行されますので、インストーラを起動してインストール後、ゲストOSを再起動してください。
まとめ
Hyper-V 2.0になって性能も向上したため、より本格的な利用も可能となってきました。複数ホストでの仮想化環境構成も、ライブマイグレーションのサポートやCSV(クラスタ共有ボリューム)などのサポートにより、機能面でもかなり追いついてきた感があります。
あとはやはり利用実績の面でしょうか。今後、Windows環境が仮想化されていく上で、実質無償で利用できるHyper-Vが利用されるケースも増えていくのではないでしょうか。