OpenBSD 将迎来原生的 Hypervisor

  • Jeff Martin
  • 邱广

2015 年 9 月 7 日

话题:DevOps语言 & 开发

据 OpenBSD 开发者 Mike Larkin透露,他在过去的几个月里一直在致力于实现一个名为“vmm”的 OpenBSD 上的原生的 hypervisor。Larkin 说,他采用了一种全新的方法来实现这个 hypervisor,而不会把它做成现有的 hypervisor 的一份子(如 bhyve,、KVM 等)。基于这样的指导思想,他在 hypervisor 中加进了那些他觉得重要的功能特性,包括“支持 i386、影子分页技术、嵌套虚拟环境技术以及支持遗留外围设备”。重要的一点是,不打算把这做成精简版的 hypervisor。

最初的客户端操作系统支持将包括那些支持基于virtio设备的操作系统。等 vmm 完全开发好了,届时 OpenBSD 将附带用于运行和支撑 vmm 的工具。Larkin 说,当前 vmm 运行的目标 CPU 是 i386 和 amd64。硬件虚拟化支持方面,Intel 系列的 CPU(VT-x)要求支持 vmx extensions,AMD 系列的 CPU 则要求支持 svm extensions。如果 i386 和 amd64 的 CPU 不支持上述 extensions,将使用影子分页技术来达成虚拟化。

Vmm 目前由 vmd(8)、vmmctl(8) 和 vmm(4) 这三部分工具组成。尽管还没有给出正式的定义,但 vmm 在基于其他 OpenBSD 工具的基础之上,应将还会包含 hypervisor 自身的部分,而 vmd 会是它的支持虚拟光驱,vmmctl 将被用来控制 vmm 的操作。

对于 X86/X64 平台而言,OpenBSD 不像 Virtual Box 或 VMware 那样具备托管虚拟机的原生能力。OpenBSD 通过 QEMU 提供虚拟化功能,从 OpenBSD 5.3 开始,还提供了具有逻辑域管理功能的 sun4v(基于 UltraSPARC)系统。(这些附加的方法能在那些支持在非 OpenBSD 操作系统上托管运行 OpenBSD,且 OpenBSD 是以客户端操作系统的形式出现的情况下使用)。

总体来讲,社区对 Larkin 新开发的 hypervisor 保有积极的回应——尤其是那些 OpenBSD 用户。不过也有一些问题问道了为什么没有用现有的 hypervisor 来改进对 OpenBSD 的支持,而 Larkin 打算实现的支持遗留特性(i386& 遗留外围设备)对眼下的项目来说并不容易做到。目前还没有 vmm 的正式发布日期,不过 Larkin 说,vmm 最快的对外发布时间可能是 2015 年十月份。如果是这样的话,那么最早包含该 vmm 版本的 OpenBSD 稳定版本将是 2016 年 5 月 1 号发行的版本,但当前 OpenBSD 版本的分支应可以更早地实现与 vmm 的合并。

查看英文原文OpenBSD to Receive Native Hypervisor

DevOps语言 & 开发