Xen 项目发布了其Hypervisor 产品的 4.10 版本。该版本针对x86 架构做了改进、支持ARM 处理器硬件更新,并修改了调度器和用户接口。
Xen 是一种开源的 Hypervisor。作为 Linux 基金会项目的一个,Xen 一直被 Amazon Web Services(AWS)用做其首要的Hypervisor 。还有其它一些云服务提供商也使用了Xen,其中包括Tencent、阿里云、Oracle Cloud 和IBM SoftLayer 等。4.10 版本并非涉及了各方各面的改进,它主要聚焦于代码的质量和安全加固问题。Xen 过去曾经存在一些安全问题,并影响到了云服务提供商的服务。
为支持 PVHv2 模式,Xen 4.10 对 Hypervisor 的 x86 内核做了重新架构。在 PVHv2 上运行的客户操作系统,具有一个微型的可信计算基(TCB,Trusted Computing Base)。 TCB 指代了一系列对系统安全非常关键的硬件和软件,例如操作系统中的部分内核功能。降低 TCB 可减少系统的攻击表面。Xen 使用开源模拟器 QEMU 支持硬件虚拟化(Hardware Virtualization),意在完全利用上底层硬件能力。在 Xen 4.9 和 4.10 版本中,重构了 Xen 和 QEMU 间的接口,限制了 QEMU 中的安全漏洞对 Xen 上运行的客户操作系统的影响。
Xen 4.10 版还支持 ARM 最新推出的一些硬件特性。 ARM 处理器通常用在可移动设备和嵌入设备中。运行在ARM 架构上的Xen 不同于在x86 架构上可以同时支持半虚拟化(Paravirtualization)和硬件虚拟化,它只支持单一客户类型。实现这种虚拟化类型需要更改操作系统代码,而在x86 上则无需如此。ARM 处理器给出了一系列Xen 支持的虚拟化扩展。在4.10 版中,添加了对最新SOC(System-on-Chip)技术、UART 模拟和中断转换服务(ITS,Interrupt Translation Services)的支持。其中,UART 是一种芯片,可以管理串口和磁盘设备中断等有定时控制需要的计算机外设。在4.10 版中,还为ARM 架构添加了 GRUB2 支持。
Credit 2调度器可以支持指定虚拟机运行在特定的CPU 上。在Xen 4.10 中,也添加了对该特性的支持,并且还支持用户设置虚拟机可使用的最大CPU 数。该特性可以防止虚拟机中的失控进程消耗掉主机中的所有CPU 资源。Xen 4.10 版还对“null”调度器做了更新。对于运行了Hypervisor 的主机中的客户虚拟机,该调度器总是调度同一底层物理CPU 上的虚拟CPU,确保了更小的调度开销和更低的延迟。
新的Intel 处理器提供了一种称为“用户模式指令防止”(UIMP, User-Mode Instruction Prevention )的安全特性。如果某些指令在启用时基于一定的特权级别,那么 UIMP 可以防止这类指令的执行。Xen 4.10 对虚拟机提供了使用此功能的 UIMP 特性,并对 Hypervisor 的用户接口做了一些改进。现在无需重启 Hypervisor 即可修改一些启动参数,还支持通过配置文件中的类型选项去选择客户类型,是采用半虚拟化,还是采用硬件虚拟化。Xen 的支持文档也已做了改版,其中提供了一些介绍支持相关信息的机器可读文件。
查看英文原文: Xen Hypervisor 4.10 Focuses on Security and Better ARM Support
评论