Bhyve
From Wikipedia, the free encyclopedia
bhyve(発音は「ビーハイブ ("bee hive") 」、旧称は "BSD hypervisor" を表すBHyVeと表記されていた)はFreeBSD用に開発されたType 2 ハイパーバイザである[1][2][3]。元々FreeBSD用に開発されたものだが、SmartOS[4]やOpenIndiana、OmniOS[5]など数多くのIllumosベースディストリビューションでも使用でき、さらにmacOSでもxhyveという名のbhyve移植を使用できる[6]。
ネットアップにより2011年5月13日にBSDCanでその構想が発表された[7]。Intel-VT with EPTがサポートされているCPUが必要とされる。FreeBSD 10-RELEASE以降に標準搭載されている。
機能
bhyveはFreeBSD 9以降、OpenBSD、NetBSD、Linux、Illumos、DragonFly BSD、Windows NT[8](Windows Vista以降、Windows Server 2008以降)などのゲストオペレーティングシステム仮想化をサポートするだけでなく、UEFIインストールやVirtIOでエミュレートされたインタフェースもサポートする。Windows仮想マシンを安定動作させるためにはVirtIOドライバが必要となる。現在、さらに多くのx86-64アーキテクチャ用オペレーティングシステムをサポートするための開発が行われている。
以下の周辺機器のサポートは、基盤となるシステムやVirtIOのドライバやサポートに依存する:eXtensible Host Controller Interface (xHCI) USBコントローラ、NVM Express (NVMe) コントローラ、High Definition Audioコントローラ、VNCサーバに接続されたRawフレームバッファデバイス(ビデオ出力)、AHCI/PCIパススルー[9]。
周辺機器のサポートがまだ不完全なため、ハードウェアアクセラレーションによるグラフィックスを利用するにはPCIパススルーを使用するしかないが、Intel GVT(またはドライバでサポートされるその他のvGPU)を利用すればホストとデバイスを共有できる[10]。
bhyveにメモリバルーニングとアクセラレイティドグラフィックインタフェースが欠如しているのは他の競合ソフトウェアと全く同じであるが、bhyveの方がより現代的なコードベースを搭載し、使用するリソースもより少ない。またFreeBSDの場合、リソース管理がより効率的となる。FreeBSDは模範的なI/O速度でも知られているので、FreeBSDでbhyveを実行すればI/O時間、特にディスクやネットワーク関連の負荷が短縮されるので、タイムクリティカルな仮想アプライアンスでは多くの利点が得られる。
アプリケーション
macOS上のDockerは、HyperKitと呼ばれるbhyve派生を使用する。HyperKitは、bhyveをmacOSのHypervisor.frameworkに移植したxhyveから、さらに派生したものである[11]。
FreeBSD上のiohyveは、FreeBSDに組み込まれた機能を利用して、bhyveゲストを作成・保存・管理・起動するためのコマンドラインユーティリティである[12]。
FreeBSD上のvm-bhyveはシェルベースで、依存性が最小限のbhyveマネージャである[13]。
FreeBSD上のBVCPは軽量かつネイティブで、さらに完全な機能を備えた、仮想マシン管理用ウェブインタフェースである[14]。
その他のディストリビューション
ClonOSはFreeBSDをベースとした仮想ホスティングプラットフォームやアプライアンス用のディストリビューションであり、主にbhyveを使用し管理用ウェブインタフェースを搭載する[15]。