@Rays
2018-01-05T11:44:59.000000Z
字数 1544
阅读 2398
系统架构
摘要: Xen项目发布了其Hypervisor产品的4.10版本。该版本针对x86架构做了改进、支持ARM处理器硬件更新,并修改了调度器和用户接口。
作者: Hrishikesh Barua
正文:
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