VMware Player の上で para-virtualized 化された Linux が動いた

Full-virtualization の雄であった VMware が、para-virtualized 化された Linux を動かすことができるようになったそうだ。

仮想化は大きく見て以下の 4 種類がある。

  1. ソフトのみを用いて Full-virtualization を行う (VMware とか)
  2. ソフトを用いて Para-virtualization を行う (Xen 2.0)
  3. ハードウェア仮想化機能を用いて Full-virtualization (Xen 3.0)
  4. ハードウェア仮想化機能を用いて Para-virtualization (Xen 3.0)

Full-virtualization は「仮想マシン」が修正を加えない素のゲストOSを動かすことであり、ハイパーバイザーは対象計算機を正確にエミュレーションする必要がある。
一方、para-virtualization はゲストOSにパッチを当てることによって仮想化し辛い部分をハイパーバイザーに分担させることによって実装の簡易化や高速化が狙える(Para-virtualization がもう少し進むと User Mode Linux のような「仮想OS」になる)。

技術的には Full-virtualization の方が難しくアドバンテージも高いのだが、かつて大型計算機だけが行っていた仮想OSの多重実行がミドルレンジでも普通に使われるようになってきていると言う状況がある。ホスティングサービスサービスや企業内の業務を担当するサーバを集約したいという用途だと、実際に1台のマシンで10台以上のマシンが動いているようだ。1台のホストで1仮想OSしか動かさないのであれば Full-virtualization もpara-virtualization も大差ないが、多重度が上がると para-virtualization の方が効率が高い。

問題は para-virtualization はカーネルにパッチをあてる必要があるので、カーネルと para-virtualized 化を別々のグループがやっているとカーネルのバージョンアップに取り残される可能性がある。このあたりを見越して VMware は標準の仮想化インターフェイスを提唱していて(id:nminoru:20060415:vmi)、Linux カーネルのコミュニティからは受け入れられたようだ。今回、VMware Player 上で動いたのも VMI を装備した Linux カーネルらしい。

Technology Preview

2つめの URL に Paravirtualized 化された Linux が動く、Linux 用の VMware Player が公開されているようだ。