蚂蚁集团和阿里巴巴提出了PVM,即可寻呼的虚拟机,作为一个新的虚拟化框架,建立在基于内核的虚拟机(KVM)管理程序的基础上。在使用支持KVM的软件(如Kata Containers)时,PVM不需要硬件辅助的虚拟化。
蚂蚁集团和阿里云已经在“每天数以万计的安全容器”的生产环境中使用Pagetable虚拟机,现在已经在上游Linux社区的征求意见(RFC)旗帜下提交。
PVM的动机被描述为:
“蚂蚁集团与英特尔共同创建了Kata Containers,该团队在我们的公有云VM中部署了基于VM的容器,以满足动态资源请求和隔离工作负载的各种需求。然而,出于安全考虑,L0管理程序中禁用了嵌套虚拟化,因此我们不能直接使用KVM。此外,当前的嵌套架构涉及L0管理程序和L1管理程序之间复杂且昂贵的转换。
因此,PVM的总体目标是将安全容器托管与主机管理程序和硬件虚拟化支持完全分离,以:
1)在任何IaaS云中实现嵌套虚拟化,而不会影响云平台的安全性,灵活性和复杂性;
2)避免以高昂代价退出主机管理程序,并设计高效的全球切换机制。
PVM与现有KVM软件兼容,不需要嵌套的虚拟化硬件功能,可满足安全容器需求,并允许轻量级容器内核。
PVM的缺点是影子分页,如果来宾应用程序频繁修改页表,影子分页可能会对性能造成重大影响。对于“长时间运行的云服务”,PVM的性能据说很好,并且有各种优化来抵消性能问题。
目前,PVM虚拟化框架代码相当于分布在73个补丁中的近7000行新内核代码。首字母RFC补丁 are out for discussion on the Linux kernel mailing list.