Mac 虛擬化

Mac 虛擬化管理

虛擬化

在 Linux 世界中,要實現進程/資源分離並不是一件非常困難的事情,從最早的 chroot, 到後來 Google 提出的 cgroups (Control groups), 到後來實用化的 LXC ,或者是系統級虛擬化 KVM,XEN 等。

相比起 Linux 的 cgroups (2006年), FreeBSD 在更早之前(2000年),就提出過相似的沙箱虛擬化技術 jail, 並且提供不少實用功能,比如打包轉移,虛擬網絡監控等功能。

bhyve/xhyve

雖然 jail 能提供像 Docker 的功能,但 Docker 的社群相比 Unix/BSD 社群人數更多,支援也更成熟。為了在Unix上便用 Docker, 但Docker 是基於 Linux 內核開發,要提供內核就只能便用 Virtual Box 等方案,直到 bhyve 的出現(續命。 bhyve 的出現令 Unix 拥有低成本,高效和原生的虛擬化體驗,使用起來更流暢。

作為師出同門的 Mac 要使用這項技術,因此就出現從BSD bhyve 移植而來的 xhyve. (Mac 內核是從 BSD 原碼上分支而來)

HyperKit

HyperKit 是Docker 公司基於 b/xhyve 開發的工具庫,用作提升擴屏性和兼容性的解決方案。現時新版本的 Docker for Mac 就內置了 HyperKit.