仮想化技術 Virtualization への入門

仮想化技術 Virtualization への入門

仮想化技術、様々な方法でマシンを仮想化する技術が注目され流行っている。マシンを仮想化した時のメリットは、リソースの有効利用、テスト環境の構築、バックアップや移行の簡素化、セキュリティの強化などがあげられる。

実はかなり昔の1960年代からあった仮想化技術が、現在これほどまで流行しているのは、やはりオープンソフトの影響が大きいみたい。完成度の高いオープンソフトが業界を牽引する事で、既存のソフトウェアベンダは製品を無償化せざるを得なくなり、それが業界の活性化につながっている。

また、ハードウェア面での著しい進歩も要因の一つかな。最近流行のマルチコアと呼ばれる、一つのプロセッサに複数のCPUコアを載せて並行処理を行う技術は、消費電力を低く保って、処理速度を上げる事が出来て、これはもう凄いらしい。

では、ここで、有名な仮想化ソフトをいくつか列挙してみる。
GPL(代表的なオープンソース・ソフトウェアラインセンス)では、VMM(Virtual Machine Monitor)の Xenと、エミュレータの QEMUが有名。
仮想化ソフトベンダ最大手の VMwareはXenに対抗する形でいくつかの無料版ソフトをリリースしていて、有償サポートや管理ツールなどに付加価値をつけている。
Connectix社の Virtual PCVirtual ServerはMicrosoftが買収して、無償化されている。

また、2月4日にリリースされたLinuxカーネル2.6.20は、新たな仮想化技術の KVM(Kernel-based Virtual Machine)モジュールを組み込んでいる。このモジュールはIntelとAMDがそれぞれ開発する、Intel Virtualization Technology、AMD Virtualizationと呼ばれるCPUでの仮想化技術サポートを必要としていてる。

この二つのCPUレベルの技術、Intel VT とAMD V は、本来一つのCPUに一つのOSしか載せれないように制限されていたCPUの構造を変化させた技術だ。上記した有名なソフト達は、この一つのCPUに一つのOSの構造から、様々な抜け道をなんとか作って、仮想化を実装させている。

次は、この様々な抜け道、仮想化の実装方法について、書いてみようかと思います。

参照・参考

Linuxカーネルの仮想化技術
Linuxカーネル2.6.20リリース–仮想化技術「KVM」を統合 - CNET Japan

仮想化技術について
Virtualization - Wikipedia, the free encyclopedia

仮想化技術の実装方法について
仮想化技術を学ぶ:ITpro

Intel VT について
Intel Virtualization Technologyの全貌:ITpro

photo by AMagill