サーバーの中にサーバーを作る
「仮想化」とは、ソフトウェアによって、物理的な制約を離れてコンピューターのリソースを利用することを指す言葉です。実際に搭載している以上のメモリーを利用可能にする「仮想メモリー」、ハードディスク内のファイルを独立したCD-ROM やDVD-ROMのように扱う「仮想ドライブ」などが一例です。
サーバーを仮想化するという場合、物理環境では有効に活用できていないサーバーのリソースを、ソフトウェアによって効率的に活用することを指します。具体的には、実際のサーバー(以下「物理サーバー」と表現)にインストールされた「仮想化ソフトウェア」の働きによって、1台の物理サーバーの中に何台もの仮想のサーバー(以下「仮想サーバー」と表現)を作り、それらを個別に活用できるようにしす。
例えば、4コアCPU/メモ4GBの物理サーバーを、1コアCPU/メモリ1GBの仮想サーバー4台として利用し、そのうち3台にはLinux、もう1台にはWindows Serverをインストールする、といった使い方ができます(設定できる仮想サーバーの仕様は、利用する仮想化ソフトウェアによって異なります)。
ここまでの説明では、「単に物理サーバーを4台用意すればいいじゃないか」と思うかもしれません。ところが、サーバーの仮想化によって、実はいくつものメリットが生まれるのです。
●サーバーの仮想化とは
仮想化でサーバー管理業務が変わる
仮想化の導入による直接的なメリットは、サーバーの管理業務において次のような効果が得られる点にあります。
(1)物理的なサーバー管理からソフトウェア的なサーバー管理へ
「サーバールームに新しい物理サーバーを運ぶ」「物理サーバーにケーブルを接続する」「フリーズした物理サーバーのリセットボタンを押して再起動する」……。これらのサーバー管理業務は、仮想化によってすべてソフトウェア上の作業に変わります。
利用する仮想化ソフトウェアによって機能の詳細は異なりますが、新しい仮想サーバーを追加する作業は、仮想化ソフトウェアの管理画面で操作するだけです。仮想サーバーがフリーズしても物理サーバーごとフリーズすることはなく、再起動も仮想化ソフトウェアの管理画面から行えます。
また、仮想サーバーは仮想化ソフトウェアの「ファイル」として扱えるため、環境の移行や複製、パッチの適用やアップデート、バックアップなどの作業は、基本的にファイルに対する操作として行えるようになります。
(2)処理能力を効率よく活用し、物理サーバーの台数を削減
サーバーは、その処理能力の10%未満しか日常的には使われていないケースが多いと言われています。
そこで、1台の物理サーバーを4台の仮想サーバーとして利用すれば、単純計算で40%程度の処理能力を使えるようになります。物理サーバーの台数を削減し、物理的な管理が必要な機材を減らせるわけです。
(3)均一なスペックのサーバーが手に入る
物理サーバーは、メーカーやモデルによってスペックやパーツ構成が異なります。そのため、物理サーバーが変わるとインストールするOSやアプリケーションの設定も変える必要があり、管理業務を煩雑にする原因になっています。
一方、仮想サーバーは仮想化ソフトウェアによって均一なスペックで作成できます。OSやアプリケーションの設定も同じでよくなり、サーバーの管理がやりやすくなります。
●仮想化で物理サーバーの台数を削減
仮想化がスピード向上、コスト削減につながる理由
これまでに挙げたサーバー管理上のメリットは、ITシステム全体の構築スピード向上や運用コスト削減につながっていきます。具体的な効果を見ていきましょう。
●ITシステム構築の手間を減らしてスピード向上&コスト削減
(1)(3)により、新しいITシステムを構築する際、均一なスペックの仮想サーバーをソフトウェア的な管理によって簡単に作成できます。そのため、購入する物理サーバーの選定や設置作業にかかる手間を省略し、スピードアップが図れます。
また、案件ごとに新しい物理サーバーを購入する必要がなくなるため、購入・管理コストの削減にも効果があります。機種の異なる物理サーバーを管理している場合にも、仮想化によって環境の違いが吸収でき、運用が容易になります。
●物理サーバーの稼働率向上によるコスト削減
(2)の例のように、4台の物理サーバーが1台になるだけでは、それほどのインパクトはありません。しかし、100台が10台になればサーバールームの規模も大きく変わり、土地代や電気代といったランニングコストの削減につながります。
また、1台1台の物理サーバーの処理能力を効率よく使うことで既存の資産を有効活用でき、新しい物理サーバーの購入・管理コストを抑制できます。
実際に仮想化を導入してどの程度の台数を削減できるかは、ケースごとに異なるため一概には言えません。次のレッスンで紹介するヴイエムウェアでは、140台の物理サーバーを数台に削減したり、20台の物理サーバーで295台の仮想サーバーを稼働させたりなど、効率化に成功したさまざまな事例があります。
●構築・運用のフットワークが向上し、投資効果アップ
前ページ(1)は、サーバー(仮想サーバー)の設定変更や廃棄なども容易にします。結果、新しいシステムだけでなく、既存システムの修正や移転、ユーザー数の増減による拡張・縮小、80ページで述べたような「やり直し」作業も柔軟に行えます。
これらのフットワークが向上すれば、従来よりも完成度の高いシステムに仕上げることが可能になるため、自社のIT施策全体の投資効果を高めることにもつながります。
[ヒント]さまざまな用途で活躍する仮想化
このレッスンでは(サービスを提供する本番)サーバーの仮想化を説明していますが、ほかの用途でも仮想化は活躍しています。身近な例では、Mac OS X環境でWindowsを動作させる「VMware Fusion」、Windows 7上でWindows XPを実行する「Windows XP Mode」のような、一般ユーザーが利用するパソコンを仮想化し、複数のOSを同時に利用できるソフトウェアもあります。また、アプリケーションなどのテストをする(本番でない)サーバーでも、仮想化は大いに役立ちます。テストをするために多数のサーバーを用意し、テスト条件が変わるたびにサーバーの環境を初期化する、といった面倒な作業を物理サーバーで行うのは大変です。しかし仮想サーバーなら、かなり楽に管理できるようになります。
[ヒント]無料のソフトウェアで仮想化を体験
仮想化ソフトウェアには、ヴイエムウェアの「VMware ESXi」、オープンソースで公開されている「Xen」など、無料で使えるものもあります。仮想化を体験してみたいというときには、簡単に試してみることも可能です。
▼VMware ESXi
http://www.vmware.com/jp/products/esxi/
[ヒント]仮想化はクラウドコンピューティングに欠かせない技術
レッスン2で「超巨大な1台とみなせるサーバーの能力を切り売りする」というクラウドの発想を紹介し、SaaS、PaaS、IaaSというサービスの形態、そしてマルチテナントについても解説しました。ユーザーの要求に合わせたフレキシブルなサーバー能力の提供や、すべてのユーザーに向けてアプリケーションのバージョンアップを行うには、仮想化によって構築・運用のフットワークが向上したサーバーの存在が欠かせません。クラウドコンピューティングを支える技術として、仮想化は欠かせないものだと言えます。
●世界規模のクラウドを支える仮想化
[ヒント]仮想化にデメリットはないの?
メリットの多い仮想化ですが、仮想化ソフトウェアはそれ自体が物理サーバーの処理能力を消費するため、小規模すぎるサーバーでは処理能力の面でデメリットとなる可能性があります(それでも管理効率化のメリットは得られるでしょう)。また、サーバーを管理する技術者が仮想化に関するスキルを習得する必要もあります。