ディスクI/O改善策と、 ライブマイグレーションへの期待

面白かったら拍手をクリック
井上
3

個人でサーバ関連の実験を目的としてHyper-Vを利用する場合、動作させる仮想マシンの数は、せいぜい3-4台(?)程度のことが多い。[Hyper-Vマネージャ]で動作状況を見ていると、CPU負荷は大したことがないのだが、問題はディスクI/O。複数の仮想マシンが一斉にハードディスクにアクセスすると、かなり負荷がかかっている様子が見て取れる。物理ハードディスクが1台しかないのだから、無理もない。

同時に複数の仮想マシンでWindows Updateを実行しているところをキャプチャしてみた。ハードディスク自体は1台しかないので、いささか過負荷気味で、作業に時間がかかってしまっている。業務用のサーバであれば、RAIDやSANの構築は必須だろう

ランダムな書き込みに強いSSDなどの選択肢が出てきているが、いろんな環境を仮想マシンとして保存するには容量も必要で価格的に手が出しにくい。また、単一のドライブの高速化では限界があるため、RAIDやSANを用いて高速・大容量のストレージ環境を整えることになるだろう。また、企業で業務に使用するサーバを仮想化するのであれば、サーバを止めないようにするための対策も必要になる。

それであれば、Hyper-V 2.0の新機能であるライブマイグレーションが効いてくる。複数台の物理サーバをクラスタ化するのだが、そこではファイバーチャネルやiSCSIを介してクラスタ共有ボリュームを構築するのがミソとなる。クラスタを構成する複数の物理サーバが同一の論理ユニット番号(LUN)を持つストレージを共有するので、故障発生時にダウンタイムを発生させずに切り替えられるというわけだ。さすがに、個人でそこまでやるのは、費用の面でも設置スペースの面でも無理があるが…

【コラム】このOSはサポートされていません


実は、「Hyper-Vがこんなに使えるなら、サーバOSとクライアントOSをまとめて動作させてしまえたら嬉しい。あわよくば実験用PCを1台に集約できるのでは」などと虫のいいことを考えたのだが、Windows Vistaをセットアップしようとして怒られたことがあり(原因不明) 、これは諦めた。

それに、1台でサーバOSとクライアントOSを一緒に動作させるのは、パフォーマンスを考えると、さすがに苦しい印象がある。いくら実験機でも、あまり動作が遅いと仕事の効率に響く。動作するOSに制約がないVirtual PCを使えば1台に統合できるが、それはパフォーマンスの面で辛い。

こうした事情により、現在はWindows Server 2003とWindows Server 2008をHyper-V上で動作させるようにして、隣にあるもう1台の実験機でWindows VistaやWindows 7といったクライアントOSを動作させる体制に落ち着いた。これでも、使用するPCの台数が減った分だけ投資を集中、かつ節減できるので、経済的なのは間違いない。

*  *  *

面白かったら拍手をクリック
井上
3

ごくごく短い記事ではあるが、IT系ライターという立場から、Windows Server 2008とHyper-Vのコンビネーションがもたらすメリットについて書いてみた。たとえば、社内向けマニュアルを作成している部門であれば同様のメリットを享受できるだろうし、システム部門でも実験導入などの場面では、筆者と同様の利点を感じられることだろう。

ちなみに、筆者のように小規模なものではなく、本格的に業務用のサーバを仮想化したいという方には、以下の記事が参考になると思う。マイクロソフトではさまざまな種類の仮想化テクノロジーを提供しているから、なにもHyper-Vに限定することはなく、最適と思われるテクノロジーを選択するのがよい。

最適仮想化テクノロジの選択ガイド
http://technet.microsoft.com/library/bb897468.aspx

Windows Server 仮想化ガイド :
http://technet.microsoft.com/ja-jp/library/bb897507.aspx

最後に余談をひとつ。これは自著でも書いたネタだが、Virtual PCで使用していた仮想マシンの .vhd ファイルをHyper-Vに持ってきて動作させることもできる(ただし、その際にハードウェア構成が変わる点に注意)。だから、Virtual PCで構築していた仮想マシンの資産が無駄にならないのは、Hyper-Vのメリットといえる。すでにVirtual PCやVirtual Serverを運用している方は、ぜひ試してみていただきたい。