第 8 章 虚拟化

8.1. KVM

virtio-SCSI

已改进 KVM 虚拟化存储栈,添加了 virtio-SCSI(SCSI 中基于 KVM 的存储构架)性能。virtio-SCSI 提供直接连接到 SCSI LUN 的能力,相对 virtio-blk 显著提高了伸缩性。virtio-SCSI 的优点是可处理成百个设备,而 virtio-blk 只能处理约 25 个设备,还会耗尽 PCI 插槽。
virtio-SCSI 现在可以继承目标设备功能,并可:
  • 通过 virtio-scsi 控制器添加虚拟硬盘或 CD,
  • 通过 QEMU sisi-block 设备绕过主机到虚拟机的物理 SCSI 设备,
  • 允许在每个虚拟机中使用成百设备;相对于 virtio-blk 的 25 个设备上限是个提高。
virtio-scsi 在红帽企业版 Linux 6.3 中是作为技术预览引进,在红帽企业版 Linux 6.4 中已全面支持。最新的 virtio-win 驱动程序还支持 Windows 虚拟机(不包括 Windows XP)。

支持 Intel 下一代核心处理器

红帽企业版 Linux 6.4 添加了对 Intel 下一代核心处理器的 qemu-kvm 支持,这样 KVM 虚拟机就可以利用这个处理器提供的新功能,最重要的是:高级向量扩展 2(AVX2)、字节操作指令 1(BMI1)、字节操作指令 2(BMI2)、硬件锁定省略(HLE)、限制可转换内存(RTM)、进程上下文标识符(PCID)、验证进程上下文标识符(INVPCID)、整合乘加器(FMA)、大端移动指令(MOVBE)、F 片段指令和 G 片段基准指令(FSGSBASE)、超级模式执行防范(SMEP)、改进的 REP MOVSB/STOSB(ERMS)。

AMD Opteron 4xxxx 系列 CPU 支持

AMD Opteron 4xxx 系列处理器现在由 qemu-kvm 支持。这样就可以让 KVM 虚拟机识别这个处理器系列的新功能,比如:F16C 指令集、小端操作、字节操作指令 1(BMI1)大幅削减功能以及整合乘加(FMA)指令集。

使用 USB 转发通过 SPICE 进行虚拟机实时迁移

在红帽企业版 Linux 6.4 中,KVM 支持 USB 转发通过 SPICE 进行虚拟机实时迁移,同时保持现有 USB 设备为所有配置的设备重新定向。

使用 USB 设备进行虚拟机实时迁移

在红帽企业版 Linux 6.4 中,KVM 支持使用 USB 设备进行虚拟机实时迁移。支持的设备有:高级主机控制器接口(EHCI)和通用主机控制器接口(UHCI)本地转移以及模拟设备,比如存储设备、鼠标、键盘、集线器及其他。

已更新 QEMU 虚拟机代理

红帽企业版 Linux 6.4 现在完全支持 QEMU 虚拟机代理(由 qemu-guest-agent 软件包提供)。已将其更新至 upstream 版本 1.1,包括以下值得关注的改进和 bug 修复:
  • 现在可使用 guest-suspend-diskguest-suspend-ram 命令挂起 RAM 或者 Windows 系统中的磁盘。
  • 现在可使用 guest-network-get-interfaces 查询 Linux 的网络接口信息。
  • 这个通信提供系统停滞支持改进和修复。
  • 这个更新包括各种文档修复和小的改进。

半虚拟中断终止提示(PV-EOI)

运行红帽企业版 Linux 6.3 以及更老系统的主机和虚拟机在每个中断中都需要有两个 VM 出口(VM 到 Hypervisor 的上下文切换):一个是输入中断,另一个是给出中断终止信号。当主机和虚拟机系统都更新至红帽企业版 Linux 6.4 或者更新的系统后,它们就可以协商一个版虚拟中断终止功能,这样每个中断就只需要一个切换。这样在主机和虚拟机中同时使用红帽企业版 Linux 6.4 或者更新的系统时,用于中断负载的出口数量就会减半,比如通过 virtio 网络设备进入的网络流量。这样就导致主机 CPU 在此类负载中的用量的大幅降低。注:只改进了边缘中断,例如:使用等级中断的 e1000 联网就没有得到改进。

可配置音频传导

音频设备现在可在虚拟系统中被识别为 microphone 或者 speaker(也可被识别为 line-inline-out)。音频失败现在可以在声音录制和音频中只接受某些类型输入虚拟程序中正常使用。

8.2. Hyper-V

包括微软 Hyper-V 驱动程序的虚拟机安装支持

在 Hyper-V 中对红帽企业版 Linux 6.4 集成的红帽企业版 Linux 虚拟机安装以及 Hyper-V 半虚拟设备支持可让用户在微软 Hyper-V hypervisor 顶层将红帽企业版 Linux 6.4 作为虚拟机运行。已在红帽企业版 Linux 6.4 提供的内核中添加了以下 Hyper-V 驱动程序和时钟资源。
  • 网络驱动程序(hv_netvsc
  • 存储驱动程序(hv_storvsc
  • 服从 HID 的鼠标驱动程序(hid_hyperv
  • VMbus 驱动程序(hv_vmbus
  • util 驱动程序(hv_util
  • 和 IDE 磁盘驱动程序(ata_piix
  • 时钟资源(i386、AMD64/Intel 64:hyperv_clocksource
红帽企业版 Linux 6.4 还包括对 Hyper-V 作为时钟资源支持,以及虚拟机 Hyper-V 密钥--值对(KVP)守护进程(hypervkvpd)支持,它可通过 VMbus 向主机提供基本信息,比如虚拟机 IP、FQDN、操作系统名称以及操作系统发行本号。

8.3. VMware ESX

VMware PV 驱动程序

已将 VMware 版虚拟驱动程序更新至提供在 VMware ESX 中运行红帽企业版 Linux 6.4 时提供无缝开盒即用经验。已将 Anaconda 安装程序更新至在安装过程中列出驱动程序。已更新以下驱动程序:
  • 网络驱动程序(vmxnet3
  • 存储驱动程序(vmw_pvscsi
  • 内存布尔值驱动程序(vmware_balloon
  • 鼠标驱动程序(vmmouse_drv
  • 视频驱动程序(vmware_drv