どうして仮想化? サーバー仮想化の基礎知識


 「仮想化」という言葉を聞かない日がないくらい、仮想化が一般的になっている。企業システムの一部あるいはすべてを仮想化しているところも多いだろう。 とはいえ、言葉だけが先行している感もまだ強いのではないだろうか。

 新連載の「仮想化道場」では、最新動向・導入事例などを紹介しながら、これから仮想化を導入する企業はもちろん、すでに導入している企業の“仮想化力” を高めるお手伝いをしていく。

 一回目は、なぜ仮想化が注目されているのか、あらためて基本事項を確認していく。

サーバー仮想化は究極のエコ?

 仮想化自体はさまざまな手法があるが、ここではハードウェアをエミュレートすることで複数のOSを稼働させるサーバー仮想化を中心に説明する。

 サーバー仮想化がここまで一般化したのは、サーバーの“無駄使い”をなくすためといっていいだろう。一般的なサーバーでは、1つの物理マシンに1つの サーバーOSを搭載して使用する。この使い方はシンプルで問題はなさそうだが、CPUの使用率が意外に低いという現実がある。使い方にもよるが、一般的な サーバーの場合、平均すると10%程度しかCPUリソースを使用していないのだ。

 サーバー1台だけを運用している場合であれば、この状態を放置していても問題はない。しかし、複数台のサーバーを運用している場合、CPUリソースを無 駄に余らせることになってしまう。

 ここで注目を集めたのが、サーバー仮想化だ。サーバー仮想化にもいろいろな手法があるが、VMwareやHyper-V、XenServerなど、ハー ドウェアをエミュレートすることで複数のOSを1台の物理マシン上で稼働させる方式が一般的だ。この方式を利用すると、1台の物理マシン上に仮想マシンと 呼ばれる環境を複数用意することができる。この仮想マシンは、サーバーOSからは物理マシンと同じように見え、同じ感覚で利用できる。また、仮想マシンに はさまざまなサーバーOSを搭載できるので、Windows NT Server 4.0からWindows Server 2008までバージョン違いのOSを1つの物理マシン上で稼働させたり、WindowsとLinuxを混在するといった自由な使い方ができるのも魅力と なっている。

 なによりも、大幅に余らせていた物理マシンのCPUリソースを無駄なく使えるのがシステム管理者にとっての大きな利点だろう。5台の物理マシンを1台の 物理マシンに集約できれば、消費電力そのものの削減にもつながる。グリーンITがうたわれている現在、サーバー仮想化が重要視されているのはそうした理由 からだ。

サーバー仮想化なら、サーバーのCPUリソースを無駄なく使える

サーバー仮想化ソフトはどれを選ぶ?

 サーバー仮想化に必要なのは、物理マシンとサーバー仮想化ソフト(ハイパーバイザ)だ。特に仮想化ソフトの選択は重要だ。

 サーバー仮想化ソフトはさまざまあるが、VMwareが最大手といっていいだろう。VMwareはx86サーバー仮想化で古くから製品を提供しており、 さまざまなソリューションが各社から提供されている。とりあえず試したいのであれば、無償公開されている「VMware ESXi」か、60日試用可能な「VMware Infrastructure 3」を同社サイトから入手するといい。VMware ESXiは、ハイパーバイザと呼ばれるサーバー仮想化のベースとなるソフトのみを提供するもの。一方のVMware Infrastructure 3は、ハイパーバイザのほか、管理ソフトなどが同梱されたスイート製品になる。

 最大手のVMwareに対抗するのが、マイクロソフトの「Hyper-V」だ。Hyper-VはサーバーOSである「Windows Server 2008」の1機能として提供されるほか、単独で動作する「Hyper-V Server」の2つの形態で提供されている。どちらも無償で使える。Hyper-Vの最大の特長が、Windows Server 2008対応のハードウェアの多くが使える点。VMwareの場合、対応するハードウェアが限られるが、Hyper-Vなら一般的なPCでも動作可能なこ とが多いので、手軽に評価できるのがメリットといえる。60日試用可能なWindows Server 2008の評価版が用意されているので、Windows Server 2008とあわせてHyper-Vを評価するといいだろう。

 VMwareの対抗製品としては、シトリックスの「XenServer」も注目を集めている。XenServerは、オープンソースのハイパーバイザ 「Xen」の商用化製品で、GUIの管理ツールなど使い勝手の良さが特長となっている。Linux環境から生まれたハイパーバイザであることから、 Linuxサーバーとの親和性が高い。Linuxサーバーをメインに使っているのであれば、XenServerを使ってみるのがいいだろう。 XenServerも無償で利用可能な「XenServer Express」というエディションが用意されているので、こちらを使って評価可能だ。なお、有償だったXenServerを無償化することがアナウンス されているので、上位エディションも近日中に自由に利用できるようになる予定だ。

 では、どれを選べばいいか? これは使い方によって異なるので一概にはいえない。実績でいえば、VMwareだろう。歴史も長く、多くの企業で導入され た実績を持っている安心感は大きい。これに対して、Hyper-Vはマイクロソフト製品というのが強みだ。Windows Serverと一体化しており、マイクロソフトの管理ツールとの親和性が高く、マイクロソフト製品を中心にシステムを構成しているのであれば、まず最初に 評価してもいいのではないか。XenServerに関しては、Linuxとの親和性の高さが最大の魅力だ。Linuxサーバーを中心に運用するのであれ ば、パフォーマンスの面からも評価していいだろう。

ハードウェアはどうすればいい?

 サーバー仮想化で必要になる物理マシンのスペックは、各サーバー仮想化ソフトにより異なる。共通するのは、仮想化機能(Intel VTやAMD-V)が実装された64ビット対応のCPUを搭載しているかどうかだ。XeonやOpteronといったCPUを選択するのが確実だが、 Core 2 Duo/QuadやCore i7、PhenomやAthlonなど、クライアントPC向けCPUでもスペックさえクリアしていれば動作する。とりあえず試す程度であれば、クライアン トPCを使ってみるのもひとつの方法だ。

 使ってみるとわかることだが、CPU以上にメモリの容量がサーバー仮想化では重要だ。仮想化によりCPUの使用率を高められると説明したが、メモリに関 しては、原則として必要容量をそのまま分けて使うと考えた方がいい。そのため、1GBのメモリを使うサーバーを5台仮想化するのであれば、最低でも5GB のメモリを搭載していないといけない。メモリの最大搭載容量をしっかり確認するのが、仮想化時代のサーバー選びのポイントといえる。

 このほか、重要なのがネットワークカードだ。特に、VMwareは対応するネットワークカードが限定されており、インストールできてもネットワークにア クセスできないという問題も起こりうるので注意が必要だ。また、仮想マシンでネットワークカードを共有するので、ネットワークアクセスがひんぱんなアプリ ケーションを仮想マシンで動作する場合は、複数のネットワークカードを用意するなどの工夫が必要になる。

 ストレージに関しては、Hyper-VとXenServerはSATA HDDも使えるなど、柔軟な運用が可能だ。それに対して、VMwareはSASなどSCSI系のHDDを中心に設計されており、現時点ではSATA HDDを手軽に使うことはできない(SATA対応のRAIDカード経由で使うことは可能)。外部ストレージ(SAN、NAS、iSCSIなど)に関して は、サーバー仮想化ソフトのすべてで対応している。サーバー仮想化を行う場合、仮想マシンは物理サーバー内に保管せず外部ストレージに保管するのが一般的 なので、実運用時には、外部ストレージも必要であると理解しておくといいだろう。

サーバー仮想化は難しい?

 ここまでサーバー仮想化で必要となるソフトとハードを紹介した。なんとなく難しく感じた方もいるかもしれない。そんなときは、最初からハイパーバイザを 物理サーバーに搭載した製品を選ぶのが便利だ。

 VMware ESXiの場合、USBメモリやSDカードなどに組み込めるくらいにファイルサイズが小さい特長を生かして、USBメモリなどをブートメディアにして各社 のサーバーに組み込まれて販売されている。これなら、電源を入れるだけでサーバー仮想化環境をすぐに利用できる。XenServerを同じように組み込ん だサーバーも販売されているので、これを買って試すという方法もある。

 Hyper-Vの場合、もっと簡単だ。Windows Server 2008の64ビット版をプリインストールしているサーバーなら、最初から入っているので、機能を有効にするだけですぐに使える。サーバーベンダー各社も Hyper-Vサポートを打ち出して販売しているので、それを選べばすぐに仮想化環境を利用できる。このように、サーバー仮想化はすでに基本技術となって いることが理解できるだろう。

 今回は、サーバー仮想化の基礎をまとめたが、次回以降は個々の製品の特長や、効果的な使い方などを紹介する予定だ。

(福浦 一広)
2009/3/23 00:00