第 9 章 虚拟化


9.1. 基于内核的虚拟化

使用 virtio-blk-data-plane 提高快 I/O性能

在 Red Hat Enterprise Linux 7.0 中,virtio-blk-data-plane I/O 虚拟化功能是作为技术预览使用。这个功能将 QEMU 扩展至在为 I/O 性能优化的专用线程中执行磁盘 I/O。

PCI 桥接

之前 QEMU 最多可支持 32 个 PCI 插槽。Red Hat Enterprise Linux 7.0 采用 PCI 桥接技术,可让用户配置 32 个以上的 PCI 设备。注:不支持桥接后的设备热插拔。

QEMU 沙箱

Red Hat Enterprise Linux 7.0 使用内核系统调用过滤加强 KVM 虚拟化安全性,这提高了主机系统与虚拟机之间的独立性。

支持 QEMU 虚拟 CPU 热添加

Red Hat Enterprise Linux 7.0 中的 QEMU 提供虚拟 CPU(vCPU)热添加支持。可在运行的虚拟机中添加虚拟 CPU(vCPUS)以满足与负载关联的负载要求或者保持服务等级协议(SLA)。注:只在使用 pc-i440fx-rhel7.0.0 机器类型的虚拟机中支持 vCPU 热插拔,这是 Red Hat Enterprise Linux 7.0 中的默认机器类型。

多队列 NIC

多队列 virtio_net 提供更好的可延伸性。每个虚拟 CPU 都有独立的传输或者接收队列以及可在不影响其他虚拟 CPU 的情况下使用的独立中断。

多队列 virtio_scsi

多队列 virtio_net 提供更好的可延伸性。每个虚拟 CPU 都有独立的队列以及可在不影响其他虚拟 CPU 的情况下使用的独立中断。

实时迁移的页面 Delta 压缩

已通过压缩虚拟机内存页并减小传输的迁移数据大小提高 KVM 实时迁移功能。这个功能可让迁移至集合更迅速。

KVM 中的 HyperV 启示

已使用多个微软 Hyper-V 功能更新了 KVM,例如:支持内存管理单元(MMU)和虚拟中断控制程序。微软在虚拟机和主机之间提供半虚拟 API,通过在主机中使用这个功能的一部分,并根据微软的说明对其进行控制,微软 Windows 虚拟机就可以提高其性能。

高带宽 I/O的 EOI 加速

Red Hat Enterprise Linux 7.0 在高级可编程中断控制程序(APIC)中使用 Intel 和 AMD 的改进加速中断结束(EOI)处理。对于老的芯片组来说,Red Hat Enterprise Linux 7.0 为 EOI 加速提供了半虚拟化选项。

KVM 虚拟机的 USB 3.0 支持

Red Hat Enterprise Linux 7.0 通过添加 USB 3.0 主机适配器(xHCI)模拟作为技术预览提供改进的 USB 支持。

Windows 8 和 Windows Server 2012 虚拟机支持

Red Hat Enterprise Linux 7.0 支持在 KVM 虚拟机中运行的微软 Windows 8 和 Windows Server 2012 虚拟机。

QEMU 虚拟机的 I/O 节流

这个功能为 QEMU 虚拟机块设备提供 I/O节流。I/O 节流会延缓 I/O 内存请求的处理。这样会延迟系统但可防止其死机。注:不能节流数据层。

整合膨胀和透明大页面

Red Hat Enterprise Linux 7.0 更好地整合了膨胀和透明大页面。可移除并压缩膨胀页面使其成为大页面。

从主机中提取系统熵

可为虚拟机配置一个新设备 virtio-rng,它可让虚拟机使用主机的熵。默认情况下,这个信息来自主机的 /dev/random 文件,但主机中可用的硬件随机号码生成程序(RNG)也可作为来源使用。

桥接零复制传输(Bridge Zero Copy Transmit)

桥接零复制传输是提高 CPU 处理大量信息的性能特点。这个桥接零复制传输功能提高了虚拟机在使用桥接时的外出流量性能。

实时迁移支持

支持从 Red Hat Enterprise Linux 6.5 主机到 Red Hat Enterprise Linux 7.0 主机的实时迁移。

qemu-kvm 中的丢弃支持

在域的 XML 定义的 <driver> 元素中添加 discard='unmap' 后,就可以在虚拟机中使用 fstrim 或者 mount -o discard 命令的丢弃支持。例如:
<disk type='file' device='disk'>
	<driver name='qemu' type='raw' discard='unmap'/>
  <source file='/var/lib/libvirt/images/vm1.img'>
  ...
</disk>

NVIDIA GPU 设备分配

Red Hat Enterprise Linux 7.0 支持 NVIDA 专业系列显示设备(GRID 和 Quadro)的设备分配作为模拟 VGA 的第二图形设备。

半虚拟 Ticketlock

Red Hat Enterprise Linux 7.0 支持半虚拟 ticketlocks(pvticketlocks)以提高在过度使用 CPU 的 Red Hat Enterprise Linux 7.0 主机中运行的 Red Hat Enterprise Linux 7.0 虚拟机性能。

处理分配的 PCIe 设备出错

如果在将使用高级出错报告(Advanced Error Reporting,AER)的 PCIe 分配给虚拟机时出错,则受到影响的虚拟机会关机,但不影响其他正在运行的虚拟机或者主机。该设备的主机驱动程序从错误中恢复后就可以让该虚拟机重新运行。

Q35 芯片组,PCI 快速总线以及 AHCI 总线模拟

Q35 机型需要 KVM 虚拟机中的 PCI 快速总线支持,它是作为技术预览在 Red Hat Enterprise Linux 7.0 中提供。包含 AHCI 总线也只能在 Q35 机型中使用,同样也是技术预览。

基于 VFIO 的 PCI 设备分配

虚拟功能 I/O(VFIO)用户空间驱动程序界面为 KVM 虚拟机提供改进的 PCI 设备分配解决方案。VFIO 提供内核级设备分离强化,提高设备访问的安全性,并与安全引导等功能兼容。VFIO 替换了 Red Hat Enterprise Linux 6 中使用的 KVM 设备分配机制。

Intel VT-d 大页面

在 Red Hat Enterprise Linux 7.0 的 KVM 虚拟机中使用虚拟功能 I/O(VFIO)设备分配时,使用 2MB 页面作为输入/输出内存管理单位(IOMMU),因此可减少 I/O 操作的转译后备缓存(translation lookaside buffer ,TLB)的消耗。计划在 Red Hat Enterprise Linux 7.0 中提供 1GB 页面支持。VT-d 大页面功能支持目前仅限于 Intel 的平台。

KVM 时钟获取时间性能

在 Red Hat Enterprise Linux 7.0 中加强了 vsyscall 机制以支持 KVM 虚拟机更迅速地从用户控件读取时钟。Red Hat Enterprise Linux 7.0 主机中运行的 Red Hat Enterprise Linux 7.0 虚拟机可体验到经常读取时间的应用程序的性能提高。

图像格式的 QCOW2 版本 3

Red Hat Enterprise Linux 7.0 添加对图像格式的 QCOW2 版本 3 的支持

改进的实时迁移统计

现在可使用实时迁移的有关信息分析和调试性能。改进的统计包括预期关机、关机或者脏页面比例。

实时迁移线程

已将 KVM 实时迁移功能改进为支持线程处理。

字符设备和串行端口的热插拔

目前 Red Hat Enterprise Linux 7.0 支持为新字符设备热插拔新串行端口。

模拟 AMD Opteron G5

KVM 现在可以模拟 AMD Opteron G5 处理器。

在 KVM 虚拟机中支持新的 Intel 指令

KVM 虚拟机可以使用 Intel 22nm 处理器支持的新指令。这些包括:
  • 浮点乘加器,
  • 256 位整数向量,
  • 大端移动指令(MOVBE)支持,
  • 或者 HLE/HLE+。

VPC 和 VHDX 文件格式

Red Hat Enterprise Linux 7.0 中的 KVM 包括对微软虚拟 PC(VPC)和微软 Hyper-V 虚拟硬盘(VHDX)文件格式的支持。

libguestfs 新功能

libguestfs 是一组访问和修改虚拟机磁盘映像的工具。Red Hat Enterprise Linux 7.0 中的 libguestfs 包括大量改进,最主要的包括:
  • 使用 SELinux 或者 sVirt 包含的安全虚拟化,保证加强针对恶意和畸形磁盘映像的安全性。
  • 可检查和修改远程磁盘,最开始是使用网络块设备(NBD)。
  • 在某些程序中可进行磁盘热插拔以便获得更好的性能。

WHQL 认证的 virtio-win 驱动程序

Red Hat Enterprise Linux 7.0 包括用于最新微软 Windows 虚拟机,即 Microsoft Window 8, 8.1, 2012 和 2012 R2 的 Windows 硬件质量实验室(WHQL)认证的 virtio-win 驱动程序。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.