微软开源基于 Rust 的 OpenVMM VM 监视器
继微软最近发布了机密虚拟机助手 OpenHCL 之后,该公司现在又发布了用 Rust 编写的 VMM OpenVMM。
现在有一个新的虚拟机监视器 (VMM) 出现了:OpenVMM。这个新的开源、跨平台、模块化 VMM 代表着微软在开源技术和安全、高效的虚拟化解决方案方面迈出了一大步。
当然,VMM 有很多。Hyper-V、QEMU 和 VirtualBox 都是很快浮现在脑海中的。OpenVMM 的不同之处在于它是用 Rust 编写的。这一点很重要,因为正如微软安全公司Patriot Consulting的首席执行官Joe Stocker在 Twitter 上写道的那样,“ Rust 比 C 或 C++ 更安全,因为它的所有权模型和借用检查器强制执行严格的编译时内存安全和并发保证,从而防止空指针取消引用、缓冲区溢出和数据争用等常见漏洞。”
OpenVMM 旨在在各种操作系统上运行,展现了微软对跨平台兼容性的专注。该项目在 GitHub 上以MIT 许可证提供,支持各种架构和虚拟化 API,使其成为开发人员和系统管理员的多功能强大工具。
最初作为 OpenHCL 的组件进行开发,OpenHCL 是微软针对机密计算 VM 的新开源 paravisor。OpenVMM支持硬件支持的机密 VM,并支持现有操作系统而无需修改。它还可以管理常规 VM。
机密虚拟机
具体来说,对于 OpenHCL,OpenVMM 支持具有指定设备的虚拟操作系统客户机并提供设备转换支持。此外,它还允许用户共享机密和非机密架构和客户机。在这两种情况下,VMM 都提供针对每种需求量身定制的相同服务。根据微软的 Caroline Perez-Vargas在一篇博客文章中的说法,这“避免了机密和非机密虚拟机之间分散的虚拟化解决方案,朝着缩小机密虚拟机的功能差距的方向发展。”
然而,值得注意的是,OpenVMM 仍处于早期阶段。微软对该项目目前的局限性直言不讳,称其尚未准备好投入生产。该公司将其描述为“更像是一个用于实现新 OpenVMM 功能的开发平台,而不是一个随时可部署的应用程序。”
早期阶段
具体来说,“在传统主机环境中运行 OpenVMM 的体验并没有得到太多‘完善’,尤其‘令人愉悦’。这种缺乏完善表现在几个方面,包括但不限于:
-
管理界面杂乱无章,记录极少(例如 CLI、ttrpc/grpc)
-
未优化的设备后端性能(例如存储、网络、图形)
-
意外缺少设备功能(例如,传统 IDE 驱动器、PS/2 鼠标功能)
-
没有任何 API 或功能集稳定性保证。
简而言之,您可以在 Azure 中轻松使用 OpenVMM,并与 OpenHCL 合作使用。不过,对于任何其他用途,您几乎都需要自己处理。
话虽如此,OpenVMM 可能会成为虚拟化生态系统中的重要参与者。但请不要误会:我们正处于将 OpenVMM 打造为通用虚拟机管理程序的早期阶段。对于运行机密和普通 VM 工作负载的特定用例,OpenVMM 需要您的关注。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。