微软正在为 Linux 带来运行嵌套式管理程序(Hyper-V)或嵌套式虚拟化的能力。微软 Linux 高级工程师 Jinank Jain 近期发布了一系列关于该功能的补丁。

1667735851470-1.webp

该系列补丁计划增加对运行嵌套的微软 Hypervisor 的支持。在嵌套微软 Hypervisor 的情况下,有一些特权的 hypercalls 需要走 L0 Hypervisor 而不是 L1 Hypervisor。该补丁系列基本上可以识别这样的超调用,并用嵌套的超调用取代它们。

  • mshv: 增加对检测嵌套的 hypervisor 的支持

  • hv:在嵌套根分区的情况下设置 synic 寄存器

  • hv: 增加接口来做嵌套的超调用

  • hv: 为嵌套的根分区启用 vmbus 驱动

  • hv, mshv : 改变嵌套根分区的中断向量

嵌套虚拟化允许用户在另一个 Hyper-V 虚拟机内运行虚拟机(VM)。所以,如果这个补丁很快就能成功合并,比如在 Linux 内核 6.2 版本中及时合并,那么很快用户就可以在 Linux 中运行多个 Windows 实例。

嵌套式虚拟化通常是为企业设计的,而微软也肯定在添加该功能时考虑到了这些因素。对于普通用户来说,这也是有趣的体验。

获悉,嵌套虚拟化是指模拟硬件虚拟化扩展插件的 Hyper-v 虚拟机监控程序。这些仿真扩展可供其他虚拟化软件使用 (例如,嵌套虚拟机监控程序) 在 Hyper-v 平台上运行。此功能仅适用于来宾分区。必须按虚拟机启用此功能。Windows 根分区不支持嵌套虚拟化。

1667735851914-2.webp

与裸机相比,在虚拟机中运行时,虚拟机监控程序可以显著提高性能。可以通过使用 L0 虚拟机监控程序提供的启用接口,将 L1 虚拟机监控程序优化为在 Hyper-v VM 中运行。

请登陆后查看
本内容须登陆后才可以看见(点我即可快速登录)