据 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 的合并。
评论