Windows Server 2008[Hyper-V利用]

2008年2月5日にWindows Server 2008 日本語版がRTM(正式製品)となりました。
更に、2008年3月19日にはライセンス認証不要のWindows Server 2008 日本語評価版が公開されました(カーネルはVista SP1相当)。
※評価版の公開サイト:http://www.microsoft.com/japan/windowsserver2008/trial-software.mspx

Windows Server 2008には多くの機能が追加されていますが、中でも注目されているのは「Hyper-V」と「RemoteApp」です。
Hyper-V(旧名:Windows Server Virtualization)は64ビット版Windows Server 2008に標準装備される仮想化機能です(Intel VTまたはAMD-Vが必要)。
2008年2月5日にリリースされた64ビット版Windows Server 2008に付属しているのはHyper-Vのベータ版です。
Hyper-Vの正式版は2008年8月出荷予定ですがそのHyper-V RC版(正確にはKB949219更新パッケージ)が2008年3月18日に公開されました。
KB949219更新パッケージの内容はWindows Server 2008の64ビット版と32ビット版では内容が次のように異なります。
・64ビット版Windows Server 2008のKB949219はHyper-V本体(VMBus含む)の更新パッケージです。
・32ビット版Windows Server 2008のKB949219はHyper-VのゲストOS用統合サービス(コンポーネント)の更新パッケージです。
※統合サービスとはホストOSとゲストOSの協調性を高める機能の集合です(主にネットワーク性能の向上)。
※統合サービスにはゲストOS画面からホストOS画面へのマウス移動がスムーズに行える機能も含まれています。
※統合サービスはWindows Server 2008には標準付属しますが、それ以外のゲストOS(対象OS限定)にはゲストOS起動後に導入します。

Hyper-V(RC0版)の特徴は以下の通りです。
(1)Hyper-VはVirtual Server 2005 R2の後継ソフトウェアという位置付けですがハイパバイザレイヤの導入で構造が大きく変わりました。
(2)Hyper-VはIntel EM64T/VTやAMD64/AMD-Vを前提にしており64ビット版Windows Server 2008限定の機能となります。
(3)構造的にはハイパバイザ、ドメイン0、ドメインUという構成の完全仮想化のXenに近く、
それぞれハイパバイザ、ペアレントパーティション、チャイルドパーティションと呼ばれます。
ペアレントパーティションはホストOS(仮想化サーバ)であり、チャイルドパーティションはゲストOS(仮想マシン)を指します。
Xenの仮想化には「準仮想化」と「完全仮想化」の2種類ありますがHyper-Vは「完全仮想化」に相当するものだけがサポートされます。
(4)Hyper-VでのゲストOSに統合サービスを導入するとホストOSのネットワークカードは「Microsoft VMBus Network Adapter」(10Gbps)デバイスとして
アクセスできます。
しかし、統合サービスを導入できないOSではレガシネットワークアダプタという仮想ネットワークカードを利用できます。
この仮想ネットワークカードはWindowsでは「Intel 21140-Based PCI Fast Ethernet」と認識され、
LinuxではTulipドライバを使用する「Digital DECchip 21140 [FastNet]」として認識されます。
(5)仮想マシンで設定できる各種最大値は以下の通りです。
・論理プロセッサ:最大4個(VMware Server 2.0では最大2個)
・メモリ:最大8GB(VMware Server 2.0も最大8GB)
・仮想ディスク:最大2048GB
(容量可変仮想ディスクを固定容量仮想ディスクにコピーして使用できる「仮想ディスクの拡張」という機能があります)
(6)CD/DVDについては実ドライブとイメージファイルが使用できますがFDDについてはイメージファイルのみ使用できます。
(7)サウンドカードは指定できません。
(8)USBは使用できません。
(9)Hyper-VはVMware Serverに比べて仮想ディスクのI/Oオーバヘッドが大きいように感じます(Windows XPのインストール時間が倍半分位違います)。
これは統合サービスのVMBusで高速化されます。
(10)仮想マシンの設定内容の中に「OS/バージョン」がありません。
(11)仮想マシンのネットワーク接続種別については以下の3種類あります。
・外部:ホストOSの物理ネットワークに接続する形態
・内部:ホストOSとゲストOS間の通信
・Private:ゲストOS間限定の通信
(12)Hyper-Vの統合サービスが利用できるゲストOSからはVMBusを介してホストマシンのデバイスにアクセスできますが、
VMBusの適用対象は仮想ネットワーク、仮想ディスク、仮想VGAカードです。
尚、VMBusが使用される仮想VGAカードはVRAM容量が4MBと少なく、更に描画速度面でも問題があります。
統合サービスを使用しないOSでの仮想VGAカードはMicrosoft Emulated S3 Device Capとしてエミュレートされます。
(13)Hyper-Vマネージャで管理している仮想マシンを削除(管理対象から除外)すると再び管理対象にすることはできません。
このような場合は一旦エクスポートしてからインポートするようにします。
(14)統合サービスを使用しないOSでは仮想マシンのSCSIコントローラを使用できないためSCSIタイプの仮想ディスクをアクセスできません。
SCSIタイプの仮想ディスクは統合サービス導入後にアクセス可能となるためSCSIタイプの仮想ディスクにはゲストOSをインストールできません。
(統合サービスをインストールするためのvmguest.isoはOSインストール時のドライバの読み込み形式にはなっていないため
OSインストール時には使用できません)
(15)RC0版でもLinuxを実行できますがXenハイパーカーネルを起動することはできません。
但し、2008年3月31日に公開されたSUSE Linux Enterprise Server 10 SP1専用「Integration Components for Linux」では
Xenハイパーカーネルをx2v-32.gzに置き換えたHyper-Vハイパーカーネルが動作するようです。

ここでは、Hyper-V RC0版の新規導入、ゲストOSのインストールについて紹介致します。
※ゲストOS:SUSE Linux Enterprise Server 10, Vine Linux 4.2、Windows XP、Windows Vista、Windows Server 2008

今回使用したPCのハードウェア/ソフトウェア構成は以下の通りです。
・CPU:Core 2 Quad Q6600
・チップセット:Intel P35
・メモリ:8GB
・VGAカード:nVIDIA GeForce 8800GT(VRAM 512MB)
・HDD:S-ATA 250GB(但し、仮想ディスクファイルは1TBのS-ATA HDDに格納)
・ネットワークインタフェース:オンボードのMarvell Yukon 88E8056 PCI-Gigabit Ethernet Controller
・ホストOS:64ビットのWindows Server 2008 Enterprise 日本語版(評価版)



■ ホストOS(64ビットWindows Server 2008 Enterprise)のインストール

Windows Server 2008 Enterpriseのisoイメージファイルは6001.18000.080118-1840_amd64fre_Server_ja-jp-KRMSXFRE_JA_DVD.isoです。
このイメージファイルをDVD-Rに書き込んでインストールを行います。
インストール時の留意点は以下の通りです。

(1)Windows Server 2008 評価版にはプロダクトキーが無く、ライセンス認証も不要です。
このため、「ライセンス認証のためのプロダクトキー」指定欄には何も入力しません。
(2)「購入したWindowsのエディション選択」画面では[Windows Server 2008 Enterprise (フル インストール)]を選択します。
(3)ライセンス条項には「評価期間は30日で機能制限モードで120日に延長可能」の旨表示されますが実際には最初の評価期間は60日のようです。
(4)デフォルトのパスワードポリシーが強化されパスワードは英大文字, 英小文字, 数字, 英字以外の文字(ハイフン等)の中の最低3種類を含んだ6文字以上が必要です。
更に、ユーザアカウント名またはフルネームに含まれる3文字以上連続する文字列を含めてはならないという制約もあります。
(5)コンピュータ名とドメイン/ワークグループ名の指定はインストール後の初期構成タスクで行います。
(6)ワイドスクリーンモニタを使用している場合で最大解像度が得られない場合は、
グラフィックカードのドライバとしてWindows Vista 64-bit版ドライバを使用します。
(7)Windowsオーディオサービス([Windows Audio]サービス)はインストール後に有効にします。
(8)インストール後のシステムのプロパティでは「Windows Server Enterprise Service Pack 1」と表示されます。



下記はWindows Server 2008 Enterprise評価版のデスクトップ画像です(解像度1920x1200の縮小版)。




【補足】
(1)Windows Server 2008ではWindows Aeroが使用できます。
具体的には以下の手順を踏みます。
・Windows Aero対応グラフィックカード/ドライバの導入
・機能の追加で「.NET Framework 3.0の機能」「デスクトップエクスペリエンス」をインストール
・Themesサービスの有効化
・個人設定の「テーマ」で[Windows Vista]を選択
・個人設定の「ウィンドウの色とデザイン」で[Windows Aero]を選択
下記はWindows Server 2008でのWindows Aeroデスクトップ例です。



(2)Windows Server 2008 EnterpriseにインストールしたVMware Server 1.0.5は動作しません。
VMware Server 2.0 Beta 2では仮想マシンの設定まではできますが仮想マシンの起動ができません。
(仮想マシンの起動時、ホストOS自体が動作不可となります)


■ Windows Server 2008 EnterpriseへのHyper-V RC0版の導入

  1. Hyper-V RC0更新プログラムのダウンロード
    日本マイクロソフトのサイトから以下のHyper-V RC0更新プログラムをダウンロードします。
    ・Hyper-V RC0 (Windows Server 2008 x64 Edition用の更新プログラム(KB949219))
    (ファイル名:Windows6.0-KB949219-x64.msu)

  2. Hyper-V RC0更新プログラムのインストール
    Windows6.0-KB949219-x64.msuを実行するとWindows Update スタンドアロンインストーラが起動します。
    画面の指示に従って更新プログラムのインストール及び再起動を行います。
    再起動時、「更新プログラムを構成しています」と表示されます。

  3. Hyper-Vの役割追加
    Hyper-Vはインストールしただけでは利用できません。
    Hyper-V自体をWindows Server 2008の役割として追加しなければなりません。



■ ゲストOS(SUSE Linux Enterprise Server 10)のインストールと実行

  1. 仮想マシンの定義

  2. 仮想マシン定義の変更
    仮想マシン名(SLES10)の右クリックメニューから[設定]を選択して仮想マシンの設定画面を表示します。
    次に以下の変更を実施します。
    (1)ウィザードで作成されたネットワークアダプタを<削除>ボタンで削除します。
    (2)ハードウェアの追加で[レガシ ネットワークアダプタ]を追加します。
    レガシ ネットワークアダプタのネットワークの欄はデフォルトで「接続していません」となっています。
    そこでその欄では仮想ネットワークアダプタにマッピングされる[Marvell Yukon 88E8056 PCI-Gigabit Ethernet Controller]を選択します。
    またMACアドレスは動的に割当てるモード(デフォルトで)のままとします。
    (3)仮想マシンの名称をここで変更できます。
    (仮想マシン名をここで変更してもウィザードで指定した仮想マシン名のディレクトリは変更されずに利用されます)
    (4)DVDドライブのメディアは「なし」になっています。
    そこで<物理CD/DVDドライブ>をonにして実際のドライブ(例えば「E:」)を選択します。

  3. ゲストOSのインストール
    (1)ゲストOSのインストールディスクを物理CD/DVDドライブにセットします。
    (2)仮想マシンの右クリックメニューから[接続]を選択すると仮想マシン接続画面(モニタ画面)が表示されます。
    (3)仮想マシン接続画面の[開始]をクリックするとHyper-Vのロゴ表示後にインストーラが起動します。
    (4)インストーラの起動後は通常のSLESインストール手順と同じです。

    ※仮想マシン画面の中から外にマウスを移動させる(仮想マシンからのマスウ解放)にはCtrl+Alt+「←」キーを押します。

  4. ゲストOSの実行
    仮想マシンに接続して仮想マシンの[開始]をクリックすると仮想マシンが起動されます。
    ゲストOSを起動してメモリを確認してみました。
    下記のhwinfoコマンド結果から正しくメモリ4GB(4096MB)が認識されていることが分かります。




  5. ゲストOSのデスクトップ例


■ ゲストOS(Vine Linux 4.2)のインストールと実行

  1. 仮想マシンの定義
    仮想マシン名をVine42としました。
    他はSLES10の場合とほぼ同様です。

  2. 仮想マシン定義の変更
    名前をVine 4.2に変更します。
    他はSLES10の場合とほぼ同様です。

  3. ゲストOSのインストール
    Hyper-Vの仮想マシン環境ではVine Linux 4.2のGUIインストーラ表示が正しくできません。
    そこでboot:プロンプトで「linux text」を指定してテキストモードでのインストールを行います。

  4. ゲストOSの実行
    ゲストOSの画面解像度は1024x768x24としています。
    ※/etc/X11/xorg.confを編集して1280x1024x16で表示することもできます。


■ ゲストOS(Windows XP SP2)のインストールと実行

  1. 用途別インストールの流れについて
    Windows XPに統合サービスを導入するにはWindows XPがSP3になっている必要があります。
    しかしWindows XP SP3にはRDC 6.0が含まれていますがその環境ではRemoteAppが動作しません。
    これらの制約のため、ゲストOSとしての試験的利用の用途によってインストールの流れが変わります。

    以下ではゲストOS(Windows XP)に統合サービスを導入してRemoteAppも使用する場合を想定しています。

  2. 仮想マシンの定義
    仮想マシン名をWinXPとします。
    他はSLES10の場合とほぼ同様です。

  3. 仮想マシン定義の変更
    (1)ウィザードで作成されたネットワークアダプタを<削除>ボタンで削除します。
    (2)ハードウェアの追加で[レガシ ネットワークアダプタ]を追加します。
    レガシ ネットワークアダプタのネットワークの欄はデフォルトで「接続していません」となっています。
    そこでその欄では仮想ネットワークアダプタにマッピングされる[Marvell Yukon 88E8056 PCI-Gigabit Ethernet Controller]を選択します。
    またMACアドレスは動的に割当てるモード(デフォルトで)のままとします。
    (3)DVDドライブのメディアは「なし」になっています。
    そこで<物理CD/DVDドライブ>をonにして実際のドライブ(例えば「E:」)を選択します。
    他はSLES10の場合とほぼ同様です。

  4. ゲストOSのインストール
    (1)ゲストOSのインストールディスクを物理CD/DVDドライブにセットします。
    (2)仮想マシンの右クリックメニューから[接続]を選択すると仮想マシン接続画面(モニタ画面)が表示されます。
    (3)仮想マシン接続画面の[開始]をクリックするとインストーラが起動します。
    (4)インストーラの起動後は通常のWindows XP SP2インストール手順と同じです。

  5. Windows XP SP3の適用
    Windows XP SP3はは日本マイクロソフトで公開している「Windows XP Service Pack 3(SP3) Release Candidate (RC)」です。
    そのファイル名はwindowsxp-kb936929-sp3-x86-jpn.exeです(2007年12月18日公開版:KB936929)。
    windowsxp-kb936929-sp3-x86-jpn.exeを起動してSP3を適用します(このSP3にIE7は含まれません)。

  6. 統合サービスの導入


  7. 仮想マシン定義の再変更と実行確認
    エミュレートされるネットワークアダプタを削除してVMBusのNetwork Adapterを使用するため以下の操作を行います。
    (1)[レガシ ネットワークアダプタ]を<削除>ボタンで削除します。
    (2)ハードウェアの追加で[ネットワークアダプタ]を追加します。
    追加されたネットワークアダプタのネットワークの欄はデフォルトで「接続していません」となっています。
    そこでその欄では仮想ネットワークアダプタにマッピングされる[Marvell Yukon 88E8056 PCI-Gigabit Ethernet Controller]を選択します。
    またMACアドレスは動的に割当てるモード(デフォルトで)のままとします。

    ゲストOSを再起動します。
    デバイスマネージャでネットワークアダプタが「Microsoft VMBus Network Adapter」になっていることを確認します。

  8. Windows XP SP3のアンインストールによるSP2への戻し
    プログラムの追加と削除で「Windows XP Service Pack 3」を削除します。
    ※「Hyper-Vゲストコンポーネントが正しく動作しない可能性があります」という警告が出ますが問題ありません。
    これによってWindows XPはSP2に戻り、かつ統合サービスは継続利用可能となります。

  9. ゲストOSの実行
    SP2に戻したWindows XPを起動してRemoteAppを介してホストOS側のWordを使用してみました。


■ ゲストOS(Windows Vista SP1)のインストールと実行

  1. はじめに
    Windows Vistaに統合サービスを導入するにはWindows VistaがSP1になっている必要があります。
    ※Windows VistaのSP1は2008年3月18日にリリースされています。
    また「TS Web アクセス」経由でRemoteApp対象アプリケーションを起動するにはRDC 6.0ではなくRDC 6.1が必要です。
    RDC 6.1はWindows VistaのSP1に付属していますのでWindows Vista SP1を導入してみます。

    尚、ここでは「レガシ ネットワークアダプタ」を一切使用しないでWindows Vista SP1をインストールする手順を紹介します。

  2. Windows Vista SP1ファイルの事前取得
    日本マイクロソフトのサイトから「Windows Vista Service Pack 1 (5 言語用スタンドアロン版) (KB936330)」をダウンロードしておきます。
    そのファイル名はWindows6.0-KB936330-X86-wave0.exeです(約435MB)。

  3. 仮想マシンの定義
    仮想マシン名をVistaとします。
    他はSLES10の場合とほぼ同様です。

  4. 仮想マシン定義の変更
    (1)ネットワーク設定
    ネットワークアダプタのネットワークの欄はデフォルトで「接続していません」となっています。
    そこでその欄では仮想ネットワークアダプタにマッピングされる[Marvell Yukon 88E8056 PCI-Gigabit Ethernet Controller]を選択します。
    またMACアドレスは動的に割当てるモード(デフォルト)のままとします。
    ※統合サービスをインストールするまではネットワークは使用できません。
    (2)DVDドライブ設定
    DVDドライブのメディアは「なし」になっています。
    そこで<物理CD/DVDドライブ>をonにして実際のドライブ(例えば「E:」)を選択します。

  5. ゲストOSのインストール
    (1)ゲストOSのインストールディスクを物理CD/DVDドライブにセットします。
    (2)仮想マシンの右クリックメニューから[接続]を選択すると仮想マシン接続画面(モニタ画面)が表示されます。
    (3)仮想マシン接続画面の[開始]をクリックするとインストーラが起動します。
    (4)インストーラの起動後は通常のWindows Vistaインストール手順と同じです。

  6. Windows Vista SP1の適用
    この時点ではネットワークは利用できないため事前に取得しておいたSP1ファイルをCD-Rに書き込みます。
    ※Windows Server 2008のCD-R書き込み機能を使用します(ファイルの[送る]−[DVD RWドライブ])。
    ゲストOSを起動してCD-R中のWindows6.0-KB936330-X86-wave0.exeを起動してSP1をインストールします。
    SP1の導入では自動再起動が2回ありトータルで約50分所要します。
    この時点では統合サービスを導入していないためデバイスマネージャにはネットワークアダプタは表示されません。

  7. 統合サービスの導入

  8. ゲストOSの実行
    Windows Vista SP1で「TS Web アクセス」を介してホストOS側のWordを使用してみました。


■ ゲストOS(32ビット版Windows Server 2008)のインストールと実行

  1. はじめに
    32ビット版Windows Server 2008にはHyper-V統合サービスのベータ版が付属していますが、
    そのRC版(正確にはKB949219更新パッケージ)が2008年3月18日に公開されました。
    そこで32ビット版Windows Server 2008とその統合サービスのKB949219更新パッケージを導入してみます。

  2. 仮想マシンの定義
    仮想マシン名をWin2008とします。
    他はSLES10の場合とほぼ同様です。

  3. 仮想マシン定義の変更
    (1)ネットワーク設定
    ハードウェアの追加で[レガシ ネットワークアダプタ]を追加します。
    レガシ ネットワークアダプタのネットワークの欄はデフォルトで「接続していません」となっています。
    そこでその欄では仮想ネットワークアダプタにマッピングされる[Marvell Yukon 88E8056 PCI-Gigabit Ethernet Controller]を選択します。
    またMACアドレスは動的に割当てるモード(デフォルトで)のままとします。
    (2)プロセッサ数の設定
    論理プロセッサ数をデフォルトの1から4に変更してみます。
    (3)DVDドライブ設定
    DVDドライブのメディアは「なし」になっています。
    そこで<物理CD/DVDドライブ>をonにして実際のドライブ(例えば「E:」)を選択します。
    ※32ビット版Windows Server 2008のイメージファイル(6001.18000.080118-1840_x86fre_Server_ja-jp-KRMSFRE_JA_DVD.iso)を
    そのまま使用することも可能です。

  4. ゲストOSのインストール
    (1)ゲストOSのインストールディスクを物理CD/DVDドライブにセットします。
    (2)仮想マシンの右クリックメニューから[接続]を選択すると仮想マシン接続画面(モニタ画面)が表示されます。
    (3)仮想マシン接続画面の[開始]をクリックするとインストーラが起動します。
    (4)インストーラの起動後は通常のWindows Server 2008インストール手順と同じです。
    尚、「購入したWindowsのエディション選択」画面では[Windows Server 2008 Enterprise (フル インストール)]を選択します。



    インストール直後にadministratorユーザのパスワードを設定します。
    また「初期構成タスク」画面ではコンピュータ名を指定します。

    再起動すると「ログオンするにはCtrl+Alt+Delを押してください」と表示されます。
    それについては仮想マシン接続画面の[操作]−[Ctrl+Alt+Del]メニュー選択で代替えします。

  5. 統合サービスのKB949219更新パッケージの適用
    日本マイクロソフトのサイトから32ビット版「Windows Server 2008 用の更新プログラム (KB949219)」をダウンロードします。
    そのファイル名はWindows6.0-KB949219-x86.msuです(約2.4MB)。
    Windows6.0-KB949219-x86.msuを起動して更新プログラムをインストールして再起動/シャットダウンします。

  6. 仮想マシン定義の変更と実行確認
    エミュレートされるネットワークアダプタを削除してVMBusのNetwork Adapterを使用するため以下の操作を行います。
    (1)[レガシ ネットワークアダプタ]を<削除>ボタンで削除します。
    (2)ハードウェアの追加で[ネットワークアダプタ]を追加します。
    追加されたネットワークアダプタのネットワークの欄はデフォルトで「接続していません」となっています。
    そこでその欄では仮想ネットワークアダプタにマッピングされる[Marvell Yukon 88E8056 PCI-Gigabit Ethernet Controller]を選択します。
    またMACアドレスは動的に割当てるモード(デフォルトで)のままとします。

    ゲストOSを再起動します。
    デバイスマネージャでネットワークアダプタが「Microsoft VMBus Network Adapter」になっていることを確認します。
    またプロセッサが4個表示されることも確認します。



  7. RDC/RDPのバージョン確認
    アクセサリの[リモートデスクトップ接続]をダミー起動します。
    タスクバーの[リモートデスクトップ接続]の右クリックメニューの[バージョン情報]選択でバージョン確認できます。

  8. ゲストOSの実行
    ホストOS同様にWindows Vistaのテーマを適用してみました(Aeroにはできません)。
    ゲストOS(Windows Server 2008)で「TS Web アクセス」のトップページを開きます。
    ※Windows Vistaの場合と異なり「TS Web アクセス」ページにRemoteAppアプリケーションのアイコン画像が表示されません。
    そのページのWordをクリックしホストOS側のWordを使用してみました。

  9. 仮想SCSIディスクの利用
    ゲストOS(Windows Server 2008)に統合サービスのコンポーネントを導入しましたので仮想SCSIディスクが利用できます。
    仮想マシン定義の設定で仮想SCSIディスクを定義して以下の操作で利用確認します。

  10. 補足
    (1)Hyper-V環境上の32ビットWindows Server 2008 EnterpriseにインストールしたVMware Server 2.0 Beta 2は動作しません。
    VMware Server 2.0 Beta 2で仮想マシンの設定自体は行えます。
    しかし仮想マシンの起動時に自動表示されるVMware Remote Console(実体はVMware Player 2.0 Beta 2)はPowering on後にAbortします。