Xen Hypervisor 4.10 聚焦于安全,并提供对 ARM 的更好支持

阅读数:272 2018 年 1 月 7 日

话题:DevOps

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