HyperVとVirtualPC2007
VirtualPCは以前から使っていますがサーバーをWindows2008に変更したのをきっかけに気になっていたHyperVを試してみる事にしました。HyperVとVirtualPCを比較するのは無意味な話だとは思いますが私的な追及をしてみました。
1.概要
VirtualPCはMicrosoftが無償で配信しており、Windows上に仮想マシンを実現させるアプリケーション的な存在で、HyperVはWindows server 2008 R2 で新しく登場したサービスでシステムレベルで稼働する仮想マシンである
VirtualPCではVirtualPCソフトウェアがサポートする標準的なマシン環境を提供しハードウェアに直接アクセスする物ではないのに対し、HyperVではほとんどのハードウェアを直接※1アクセスするイメージとなる
一例を上げるとホストOSにUSB接続されたCDROMからVirtualPCにインストールを試みるとCDROMとして認識しないのに対しHyperVでは普通にCDROMとして認識されていると言った感じです。
VirtualPCではインストール先がVirtualHDDと言うファイルとなりHyperVではホストOSとは別パーテーションの実際のHDDになる
Microsoftのホームページを確認すると、どちらも仮想マシンと言う表現になっているが運用に対しVirtualPCは「テストと開発」と書かれているのに対しHyperVでは、それに加えて「サーバーの統合」「ビジネスの持続性と障害回復」「動的データセンター」が読み取れた
※1 直接と書いていますが実際にはホストOSのHyperVカーネルを通してアクセスするので厳密には直接ではない
2.必要要件
以下に各々の必要要件をまとめる
VirtualPC2007 HyperV OS WindowsXP以降 Windows server 2008 X64 CPU 400MHz以上 Intel VTやAMT-VとDEP機能を持つx64プロセッサ※1 RAM ホストOSとゲストOSの合算量 ホストOSとゲストOSの合算量 eth 特に制限されていない セキュリティー上各ゲストOSに1つを推奨されている
※1 CPUだけでなくマザーボード(チップット)にも依存するようで動作不能なH/Wも報告されている
3.使用した感触
VirtualPCの必要要件ではCPU400MHz以上となっているもののCeleron500MHzのマシンにWindowsXPをゲストOSとして試した場合にはイライラする
HyperVのCPU要件は必然的に高速なCPUとなる為、同じ条件で試すとどちらもサクサク動いて違いは感じられなかったが、前述したようにHyperVの方はUSBに繋いだハードウェアもしっかり認識してくれた。
4.私的考察
結果から言うとHyperVを試した後、ニヤリっと笑ってHyperVを止めVirtualPC2007に走った。
これは、たぶん使用用途によると思います。
HyperVは「サーバーの統合」「ビジネスの持続性と障害回復」にあると思われます。
「テストと開発」についてはVirtualPCでも可能であるしVirtualPCはVirtualHDD(ファイル)のバックアップを行う事で、デバッグやテストを行った後にバックアップファイルからの復帰が一瞬で終わり再度クリーンな状態からテスト出来る。
これに対してHyperVでは実際のHDDにインストールするのでバックアップには専用のソフトウェア等を使う事になり復帰には時間を要する事になる
自分の使い方からは、どう考えてもVirtualPCに利点が多い
5.HyperVの利点 (サーバーの統合・ビジネスの持続性と障害回復)
自分の使い方ではVirtualPCに利点が大きく思えたがMicrosoftのホームページから読み取るとHyperVには、以下の様な利点が有る
自分の様な単純プログラマーでSOHOな環境では不要であるが、WEBサービス等を運営する小さな会社では有効な選択かもしれないと思う
普通に考えると安全性を考えたら統合より分散である事は間違いない。例えばWEBサーバーに1台・メールサーバーに1台・DNSサーバーに1台・ドメインコントローラーに1台と言った感じだろうか?
しかし小さな会社や多くのマシンを設置出来ないような環境にある場合1つのサーバー1つのOSで全てのサービスを実現されている方も少なくないと思われる。この様な場合にはHyperVを使う事により安定した環境を構築出来ると考えられる
例えば1台のマシンにWindows server 2008を入れてHyperVのサービスだけを安定して動かす。ゲストOSには、それぞれのサーバーを割り振って稼働すればOS自体に問題が発生しても、そのゲストOSだけを再起動すれば復帰出来る事となり一度に全てのサービスが停止する事はなくなる