3. サーバ仮想化の種類
前述の仮想マシンを使用したサーバ仮想化には、ホストOSが必要なタイプと、ホストOSが不要なタイプがあることを紹介しました。それ以外にも、仮想マシンを用いずにホストOSを仮想化するタイプの仮想化技術も存在します。
これらのサーバ仮想化技術は、それぞれ特徴をもっており、実現したい仮想環境に合わせて採用する技術を選定する必要があります。それぞれのタイプごとにその特徴を見ていきましょう。
仮想マシン(アプリケーション)
ホストOSの上にアプリケーションとしてインストールし、仮想化を実現するこのタイプのソフトウェアには、VMware Workstation/ServerやMicrosoft Virtual Serverなどがあります。
このタイプの特徴としては、汎用ホストOSにデバイスドライバやアプリケーションのインストールが可能なため、ハードウェアの選択肢が広いという特徴があります。また、仮想マシン環境を簡単に作成できるため、多くのテスト環境やサポートの現場で使われています。
この方式のソフトウェアは、多くが商用製品ではあるものの無償で提供されているのも特徴のひとつです。反面、ホストOSが介在するため、仮想化のオーバーヘッドが大きいなどパフォーマンス面で問題があります。
仮想マシン(ハイパーバイザ)
ホストOSを必要とせずに仮想化を実現するこの方式のソフトウェアには、KVM、VMware vSphere、Xenなどがあります。また、Windows Serverの仮想化技術であるHyper-Vもこのタイプに属します。
この方式の特徴として、ホストOSを介さずに専用のOSで仮想化を実行するため、仮想化のオーバーヘッドが少なく、パフォーマンス面で優れているという特徴があります。
反面、専用OSを使用するため、専用のデバイスドライバが必要となり、対応ハードウェア(デバイス)が限定されるといったデメリットがあります。
しかし、WindowsやRed Hat、SuSEといったOSの機能として仮想化技術が提供されるようになった現在では、このデメリットも解消されつつあります。
OS仮想化
仮想マシンを使用せずにホストOSを共有し、仮想環境を作成するこの方式には、SWsoft Virtuozzo/OpenVZやSun Containersなどがあります。
この方式の特徴としては、CPUやメモリなどのリソースをゲストOS同士で共有するため、仮想化のオーバーヘッドが非常に少なく、仮想マシンタイプに比べてより多くのゲストOSを稼動させることができます。
しかし、OS仮想化では仮想マシンを作成せずに単一ホストOSを共有するため、WindowsとLinuxのように異なるOSを同時に稼動させることはできません。
これら仮想化ソフトウェアの特徴を理解した上で、仮想環境で適切にリソースを配分し、ピーク時処理の分散を行うことで、理想的な仮想環境を構築することができます。これにより稼働率や運用管理の問題も解消できる可能性があります。
4. KVMの概要
KVMは前述のハイパーバイザ型の仮想OSに属するものであり、Linuxカーネルにサーバ仮想化を実現するハイパーバイザ機能を組み込んだソフトウェアです。つまり、Linux上で稼働するプロセスとして、仮想マシン環境を実現することになります。
特徴としては、KVMはCPUの仮想化支援機能を前提とするため、Intel VTやAMD-Vに対応したCPUを搭載したサーバで利用することが前提条件になります。
KVMは、Red Hat社の仮想化ディストリビューションの中核技術として採用され、また最近脚光を浴びている多くのクラウドOSにも採用されているオープンソースベースのソフトウェアです。
仮想化環境を実現するソフトウェアは、商用、OSSと多数存在していますが、その中でもKVMは、有力な仮想化ソフトウェアとして注目されています。
次回は、KVMのより詳細な機能やクラウドOSとKVMの関係などを紹介する予定です。
山﨑靖之
サイオステクノロジー株式会社 執行役員 セールスコンサルティング担当
セールスコンサルティングを担当するかたわら、「The Open Group」の認定する「TOGAF8 Certified Individual」認証アーキテクトとしても活動している。
Keep up with ZDNet Japan
ZDNet JapanはFacebookページ、Twitter、RSS、Newsletter(メールマガジン)でも情報を配信しています。現在閲覧中の記事は、画面下部の「Meebo Bar」を通じてソーシャルメディアで共有できます。東日本大震災の情報は、特設サイト「ZDNet Japan after 3.11」にまとめています。