BHyVeについて簡単に紹介しておきましょう。2006年にXen 3.0がVT-xを使って完全仮想化を実現し、その後にLinux KVMが続きました。これらの仮想マシンモニタの設計上の大きな相違点は、ハイパーバイザーとして必要となるスケジューラなどの機能を新たに実装したか、
それともホストOSにある機能をうまく再利用したか、という点が第一に挙げられるでしょう。
もうすこし細かく解説しておくと、Xenの場合は何もなくてもXen自体が複数のOSを実行できます(管理のためにdomain-0が必要なのはここでは考慮しません)。それに対してLinux
KVMはユーザプロセスのひとつという位置づけで仮想マシンを実行するためのカーネルモジュールで、それ自体はスケジューラの機能をもちません。共通していえるのは、XenもLinux KVMもVT-xを使ったオープンソースの仮想マシンモニタであり、未改造のLinuxやWindowsなどのOSを実行できる、ということです。
Linux
KVMは、Xenでは実装しているようなスケジューラなどの機能を実装していないためコードが短くすんでいますが、BHyVeはさらに短いコードで実装されています。BHyVeは、以下の制約を受け入れることにより本体自体に非常にシンプルに実装しているのです。
- VT-xなどのCPU仮想化機能を必須とする
- EPTなどのメモリ仮想化機能を必須とする
- I/OはBHyVe専用コンソールとvirtio、もしくはVT-dによるパススルーに限定
- I/Oの実装は最小限
- BHyVeハッカソンに参加してきました(1)
- BHyVeハッカソンに参加してきました(2)
- BHyVeハッカソンに参加してきました(3)
0 件のコメント:
コメントを投稿