2008年2月5日にWindows Server 2008 日本語版が正式リリースされました。
2008年3月19日にはライセンス認証不要のWindows Server 2008 日本語評価版が公開されました(カーネルはVista SP1相当)。
※評価版の公開サイト:http://www.microsoft.com/japan/windowsserver2008/trial-software.mspx
64ビット版Windows Server 2008にはHyper-Vという仮想化機能が追加されていますが、
2008年2月5日にリリースされた64ビット版Windows Server 2008に付属しているのはHyper-Vのベータ版です。
Hyper-Vの正式版は2008年8月出荷予定ですがそのHyper-V RC版(正確にはKB949219更新パッケージ)が2008年3月18日に公開されました。
Hyper-VではVMBusという仮想化I/Oアーキテクチャを使用して主にネットワーク性能の高速化と仮想SCSIディスクサポートを実現しています。
VMBusの実行には下記が必要です。
・ホストOS側:VSP(Virtualization Service Provider)
・ゲストOS側:VSC(Virtualization Service Client)
VSCはWindows(XP/Vista/Server 2003/Server 2008)用の統合サービスに含まれていますが、
2008年3月18日に公開されたHyper-V RC版にはLinux用の統合サービスは付属していません。
しかし本来の統合サービスの一部が「Integration Components for Linux」として2008年3月31日に公開されました。
※この「Integration Components for Linux」にはゲストOS画面からホストOS画面へのマウス移動がスムーズに行える機能は含まれていません。
2008年3月31日に公開された「Integration Components for Linux」の特徴は以下の通りです。
(1)サポートOSは32ビット及び64ビットのSLES 10 SP1(SUSE Linux Enterprise Server 10 SP1)限定です。
(2)主たるコンポーネントはハイパーコールアダプタとSyntheticドライバ(統合ドライバ)です。
・ハイパーコールアダプタはXenハイパーカーネルをx2vハイパーカーネルに置き換えるものです。
・Syntheticドライバはレガシネットワークアダプタをサポートせずに高速なVMBus Network Adapterをサポートします。
・VMBus Network Adapter用のネットワークインタフェース名はeth0ではなくseth0となります。
※seth0の先頭の「s」はSynthetic Driverを意味します。
・Syntheticドライバは仮想SCSIディスクをサポートします。
VMwareの場合はその仮想マシンの中でXenハイパーカーネルを実行できますがHyper-VではXenハイパーカーネルを実行させることができません。
※VMwareでのSLES 10 SP1のXen実行例はこちらをご参照下さい。
Hyper-VではXenでのハイパーカーネルコールをHyper-Vハイパーコールに置き換えることでVMBusのVSCを動作させるというユニークなアプローチを採用しています。
(Hyper-V統合サービス導入環境ではxendやxenstored等のXenサービスは動作しませんがDomain0用Xenカーネル自体は動作します)
(3)SLES 10 SP1デバイスマネージャのHALパッチが提供されます。
このHALパッチを使用してHALをリコンパイルすることによりSLES 10 SP1のデバイスマネージャに
「Network Virutualization Service Client Device」や「Storage Virutualization Service Client Device」を
VSCデバイスとして表示できるようになります。
ここでは、Hyper-VのゲストOS(SLES 10 SP1 x86)に「Integration Components for Linux」を導入する手順を紹介致します。
今回使用したPCのハードウェア/ソフトウェア構成は以下の通りです。
・CPU:Core 2 Quad Q6600
・チップセット:Intel P35
・メモリ:8GB
・VGAカード:nVIDIA GeForce 8800GT(VRAM 512MB)
・HDD:S-ATA 250GB(但し、仮想ディスクファイルは1TBのS-ATA HDDに格納)
・ネットワークインタフェース:Intel(R) PRO/100 S Desktop Adapter
※「Integration Components for Linux」を利用するためにIntel(R) PRO/100 S Desktop Adapterが必要という訳ではありません。
※Intel(R) PRO/100 S Desktop AdapterはWindows Server 2008での単なる動作確認のために用いただけです。
・ホストOS:64ビットのWindows Server 2008 Enterprise 日本語版(評価版)
■ 仮想ネットワークアダプタの定義
Windows Server 2008は初期状態ではIntel(R) PRO/100 S Desktop Adapterをサポートしていません。
そこで一時的に別のネットワークアダプタ(通常はオンチップのネットワークアダプタ)を使用してネットワークが利用できるようにします。
Windows Updateで「Intel - Networking -Intel PRO/100 S Desktop Adapter」ドライバを導入できます。
仮想ネットワークアダプタは以下の手順で定義します。
Checking for XEN Virtualization install...done. Backing up /boot/grub/menu.lst...done. Updating /boot/grub/menu.lst...done. Copying X2V shim...done.これによって/boot/grub/menu.lstのXENエントリの「kernel /boot/xen.gz」が「kernel /boot/x2v-32.gz」に自動変更されます。
Installing synthetic drivers...done.# shutdown -h now
storvsc: module not supported by Novell, setting U taint flag. VMBUS_DRV: child driver (f4886f80) registering - name storvsc scsi0 : storvsc_host_t netvsc: module not supported by Novell, setting U taint flag. VMBUS_DRV: child driver (f487cc80) registering - name netvsc
Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: Msft Model: Virtual Disk Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 04
コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 1 最初 シリンダ (1-16448, default 1): Using default value 1 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-16448, default 16448): Using default value 16448 コマンド (m でヘルプ): p Disk /dev/sda: 34.3 GB, 34359738368 bytes 16 heads, 255 sectors/track, 16448 cylinders Units = シリンダ数 of 4080 * 512 = 2088960 bytes デバイス Boot Start End Blocks Id System /dev/sda1 1 16448 33553792+ 83 Linux Partition 1 does not end on cylinder boundary. コマンド (m でヘルプ): w 領域テーブルは交換されました! ioctl() を呼び出して領域テーブルを再読込みします。 ディスクを同期させます。
mke2fs 1.38 (30-Jun-2005) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 4194304 inodes, 8388448 blocks 419422 blocks (5.00%) reserved for the super user First data block=0 256 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 37 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.