第 16 章 虚拟化

qemu-kvm 支持虚拟机关闭跟踪事件

已在虚拟机关机过程中添加 qemu-kvm 跟踪事件支持,这样用户就可以使用 virsh shutdown 命令或者 virt-manager 程序获得有关虚拟机系统关机请求的详细诊断。这样可为用户提供增强的功能,以便在关机过程中隔离或调试 KVM 虚拟机问题。

Intel MPX 向虚拟机开放

在这次更新后,qemu-kvm 允许向虚拟机开放 Intel 内存保护扩展(Memory Protection Extensions,MPX)功能。在支持 MPX 的 Intel 64 位系统上,这启用了一系列为指针引用的边界保护提供硬件支持的扩展。

从 qemu-kvm core 中提取虚拟机内存转储

已在 QEMU 引入 dump-guest-memory.py 脚本,这样可在虚拟机内核崩溃时分析 qemu-kvm core 的虚拟机内存转储。详情请使用 help dump-guest-memory 命令查看相关的帮助文本。

全面支持 virt-v2v

Red Hat Enterprise Linux 7.2 完全支持 virt-v2v 命令行工具。这个工具将运行在 foreign hypervisor 上的虚拟机转移到 KVM 上。目前,virt-v2v 可以转换运行在 Red Hat Enterprise Linux 5 Xen 和 VMware vCenter 上的 Red Hat Enterprise Linux 和 Windows 客户。

IBM Power 系统上的虚拟化

AMD64 和 Intel 64 系统上的 Red Hat Enterprise Linux 支持使用 KVM,但 IBM Power 系统不行。Red Hat 现在提供了一个基于 POWER8 的解决方案,用于 IBM Power 系统上的 Red Hat Enterprise Virtualization。
关于版本支持和安装过程的更多信息,请阅读下列知识库文章:https://access.redhat.com/articles/1247773

对 Hyper-V TRIM 的支持

现在可以使用精简资源调配的 Hyper-V 虚拟硬盘(Thin Provisioned Hyper-V virtual hard disk,VHDX)。这次更新添加新概念,可将 Microsoft Hyper-V 虚拟机的底层 VHDX 文件缩小至实际使用大小。

KVM 的 tcmalloc 支持

KVM 现在可使用 tcmalloc 库,该库可显著改进每秒 I/O 操作的性能。

域实时迁移过程中的选择性磁盘复制

现在用户可在实时迁移域及其磁盘时选择迁移过程中要复制的磁盘。这样可在复制某些不需要的磁盘时更有效地进行实时迁移,比如已存在于目的磁盘中,或者不再有帮助时。

现在 IOMMU API 域中不包含使用 RMRR 的设备

更改 Red Hat Enterprise Linux 7.1 后,当尝试分配由保留内存区域报告(Reserved Memory Region Reporting,RMRR)关联涉及的设备时,内核会在 dmesg 日志中报告以下出错信息:
"Device is ineligible for IOMMU domain attach due to platform RMRR requirement. Contact your platform vendor."
该平台销售商可以要求内核中的 VT-d IOMMU 子系统保持与使用高级配置和电源接口直接内存访问重新映射(ACPI DMAR)中条目的设备映射。但QEMU-KVM 和 VFIO 无法看到这些映射要求 ,且没有 API 可以禁用以后可能在这些区域中出现的通讯。因此,与 RMRR 关联的设备,即使之后分配给虚拟机 RM ,也可以继续通过这个地址空间使用 DMA。这样可造成设备使用由 RMRR 所描述内存要使用的 DMA 数据覆盖 VM 内存。
要解决这个程序错误,则要从内核内部 IOMMU API 中排除与 RMRR 关联的设备。用户现在可以使用 dmesg 日志识别此类设备,还可防止使用此类映射分配设备,因为这种分配可能会造成虚拟机内部不稳定。用户在应用此更新后要避免使用 PCI 设备分配,应与其平台供应商联络进行 BIOS 更新,以便从强加的 RMRR 要求中释放 I/O 设备。
有关这些更改的详情,请查看一下知识库文章:

新软件包:WALinuxAgent

在附加(Extras)频道中包含 Microsoft Azu Linux Agent(WALA)版本 2.0.13。这个代理支持在 Windows Azure 云中部署和运行 Linux 虚拟机,并应在 Linux 映象中安装,构建该映象的目的是使其可以在 Windows Azure 环境中运行。