第 7 章 虚拟化
7.1. KVM
红帽企业版 Linux 6.3 中包括的 KVM 伸缩性改进:
- 支持的最大虚拟机大小从 64 个虚拟 CPU(vCPU)增加至 160 个。
- 在 KVM 虚拟机中支持的最大内存从 512 GB 增加至 2 TB。
红帽企业版 Linux 6.3 中的 KVM 支持以下处理器:
- Intel Core i3、i5、i7 及以前代码名为 “Sandy Bridge” 的其他处理器,
- 新的 AMD 产品线 15h 处理器(代码名为 “Bulldozer”)。
Steal time 是 hypervisor 为另一个虚拟处理器提供服务时,虚拟 CPU 等待真实 CPU 的时间。KVM 虚拟机现在可以计算并报告 steal time,并在类似 top 和 vmstat 工具中看到这个时间,这些工具可为虚拟机提供准确 CPU 使用数据。
红帽企业版 Linux 6.3 中的 KVM 通过使其变得不同步,避免 vCPU 停顿,从而改进了对 qcow2
磁盘映像(qcow2
为默认格式)的访问,并在磁盘 I/O 过程中提高其总体性能。
qemu-kvm 有一个新的子软件包,名为 qemu-guest-agent。当运行安装了这个软件包的红帽企业版 Linux 6.3 虚拟机时,正确配置红帽企业版 Linux 6.3 主机可向该虚拟机发送新的命令,比如:guest-sync
、guest-ping
、guest-info
、guest-shutdown
和 guest-suspend-*
。
KVM 现在可以虚拟化性能监控单元(vPMU),允许虚拟机使用性能监控。另外它还支持 Intel 的“架构 PMU”,可使用 -cpu
主机标签,将其在不同主机 CPU 版本间进行实时迁移。
红帽企业版 Linux 6.3 中的 KVM 现在支持动态虚拟 CPU 分配,也称 vCPU 热插拔,这样可动态管理容量,并在非高峰时段响应其平台中的意外负载增加。
已改进 KVM 虚拟化存储栈,添加了 virtio-SCSI(SCSI 中基于 KVM 的存储构架)性能。virtio-SCSI 提供直接连接到 SCSI LUN 的能力,相对 virtio-blk 显著提高了伸缩性。virtio-SCSI 的优点是可处理成百个设备,而 virtio-blk 不仅只能处理 28 个设备,还会耗尽 PCI 插槽。
- 通过 virtio-scsi 控制器添加虚拟硬盘或 CD,
- 通过 QEMU sisi-block 设备绕过主机到虚拟机的物理 SCSI 设备,
- 允许在每个虚拟机中使用成百设备;相对于 virtio-blk 的 28 个设备上限是个提高。
已将 KVM 的电源管理功能扩展至包括支持虚拟机中自带的 S4(磁盘挂起)和 S3(RAM 挂起)状态,加快虚拟机从这些低电源状态恢复的速度。在以前的部署中,是将虚拟机保存到虚拟机外部的磁盘或内存,或从虚拟机外部的磁盘或内存进行恢复,这样就会造成延迟。
/usr/share/seabios/bios-pm.bin
文件,而不是默认的 /usr/share/seabios/bios.bin
文件。
红帽企业版 Linux 6.3 引进了网络接口控制器的 SR-IOV 支持。这个功能可让 KVM 虚拟机共享 KVM 主机中的 NIC。有关 SR-IOV 的详情请参考《虚拟化主机配置和虚拟机安装指南》中的《第十三章 SR-IOV》。有关 SR-IOV 的 be2net
驱动程序,请参考第 2 章 设备驱动程序。
红帽企业版 Linux 6.3 为 AMD 虚拟化(AMD-V)添加了 KVM 时间戳计数器(TSC)换算。这个功能可在 KVM 虚拟机中模拟给定的 TSC 频率。
添加了 perf-kvm 工具支持,提供从主机监控虚拟机性能的功能。有关详情请参考 perf-kvm man page。
7.2. SPICE
Spice 在 KVM 中构建 USB 2.0 主机适配器模拟支持,并启用远程 USB 重新指向支持,这样可允许在服务器中运行的虚拟机使用在客户端远程插入的 USB 设备。
7.3. libvirt
libvirt 现在可以控制虚拟机虚拟网络接口中连接的状态(up 或 down)。这可让用户在接口插入和拔出网线时执行测试和模拟。这个功能还可让用户在出现问题时分离虚拟机。
在红帽企业版 Linux 6.3 中,已将 libvirt 更新至添加了最新的 Intel i3、i5、i7 和其它 Intel 处理器以及 15h 为架构 AMD 处理器支持。使用这个更新,libvirt 现在可以利用这些处理器所包含的新功能。