第 15 章 虚拟化
kdump
现在可以在 Hyper-V 上的中断上下文中正常工作崩溃问题
在以前的版本中,如果在中断上下文中触发系统崩溃,
kdump
工具无法捕获在 Microsoft Hyper-V hypervisor 上运行的客户虚拟机上的内存转储。这个版本可防止客户机内核在因崩溃导致的客户端关闭过程中执行冗余任务。因此,kdump
可以在上述场景中正确创建内存转储。(BZ#1301903)
virt-what 现在会检测 IBM POWER LPAR
在以前的版本中,virt-what 工具无法识别当前系统是否在 IBM POWER 逻辑分区(LPAR)中运行。因此,
subscription-manager
工具显示在 IBM POWER LPAR 中运行的客户虚拟机的误导许可信息。在这个版本中,virt-what 被修复,现在可以检测客户虚拟机在 IBM POWER LPAR 中何时运行。因此,subscription-manager
现在在这种情况下提供正确的订阅信息。(BZ#1312431)
现在,可以正确地检测到未对齐的块 I/O 请求
在以前的版本中,不会根据后备存储所需的对齐检查块 I/O 请求的 scatter/gather 列表的所有元素长度。因此,在某些配置中,特别是当缓存被设置为 none 时,客户机在 scatter/gather 列表中至少使用一个元素发出 I/O 请求,其长度为未对齐长度会得到 I/O 错误。在这个版本中,QEMU 会在基本地址之外检查所有元素的长度,并确定请求是否正确一致。因此,可以正确地检测到未对齐的请求,QEMU 使用正确对齐 I/O 缓冲区,并且请求可以成功完成。(BZ#1321862)
现在,会为虚拟机中的新设备列出所有网桥网络接口
在以前的版本中,当设备添加到虚拟机时,不会列出所有桥接网络接口。在这个版本中,所有网桥网络接口都使用 libvirt 服务提供的数据正确检测到。因此,当将设备添加到虚拟机时,会列出 libvirt 已知的所有网桥网络接口。(BZ#1333290)
使用 rtl8139 设备模拟时维护的网络连接
在以前的版本中,当使用 rtl8139 设备模拟时,虚拟设备有时会禁用数据包接收。因此,网络连接会丢失。在这个版本中,这个问题已被解决,并保持网络连接。(BZ#1356924)
在虚拟磁盘迁移后静止磁盘不再会导致客户机停止响应
当有大量虚拟磁盘迁移同时处于活跃状态时,客户虚拟机在某些情况下会变得无响应,因为
QEMU
服务正在尝试静止所有磁盘。在这个版本中,QEMU
只会静止迁移完成的源磁盘,这会阻止问题的发生。(BZ#876993)
-s 0 用于 qemu-img 转换 现在可以正常工作
在以前的版本中,使用 qemu-img 转换指定 - S 0 选项并不总是明确将零写入输出文件中的所有稀疏区域。因此,运行 qemu-img convert -S 0 并不总是产生完全分配的输出文件。在这个版本中,命令已被修复,运行 qemu-img convert -S 0 始终会导致完全分配的输出文件。
在 Hyper-V 中使用多个 FC 适配器引导客户机不再会导致严重错误
当引导在 Microsoft Hyper-V hypervisor 上使用多个虚拟光纤通道(FC)适配器的客户虚拟机时,客户机在某些情况下会遇到严重错误。在这个版本中,s
torsvc
驱动程序会在载入 FC 适配器时正确更新参考计数,这可以防止上面描述的问题发生。(BZ#1316861)
现在,当在辅助 CPU 上崩溃时可以捕获内核内存转储
在以前的版本中,Hyper-V 主机会报告错误的不可屏蔽中断(NMI)状态。因此,当崩溃发生在辅助 CPU 上时,无法捕获内核内存转储。在这个版本中,应用了上游补丁来避免为 Hyper-V Generation 2 客户机读取不正确的 NMI 状态。kdump 工具现在可以正常工作,无论导致崩溃的 CPU 是什么。(BZ#1320215)
卸载 hv_utils 模块不再会导致崩溃
在以前的版本中,hv_utils 模块中的一个错误会在加载后立即删除模块时导致内核崩溃。在这个版本中,修复模块卸载路径的上游补丁被应用来解决这个问题。因此,卸载 hv_utils 模块不再会导致崩溃。(BZ#1321259)
本地化 virt-manager
文本都被正确翻译
在以前的版本中,
virt-manager
中的一些文本不会被翻译。在这个版本中,virt-manager
中的所有文本都会被正确翻译。(BZ#1321729)
卸载 storvsc 模块不再导致 Hyper-V 客户机的内核崩溃
在以前的版本中,当 storvsc 模块卸载时,内核中的一个竞争条件会导致 sporadic 内核崩溃,然后在 Hyper-V 客户端上重新载入。在这个版本中,修复被应用于内核 SCSI 代码,以消除竞争条件。因此,卸载 storvsc 模块不再会导致 Hyper-V 客户机的内核崩溃。(BZ#1343105)
在 virt-manager
中从绑定接口创建桥接网络接口现在可以正常工作
当使用
virt-manager
接口从现有绑定网络接口创建桥接网络接口时,绑定网络配置文件会被破坏,对于客户虚拟机上的从属网络接口的配置文件已被删除。
在这个版本中,在创建桥接网络接口时,
python-virtinst
服务会创建接口的 XML 定义,并规格网桥中包含的接口。因此,在上述场景中创建桥接网络接口更为可靠,不会导致虚拟网络停止工作。(BZ#1350683)
libguestfs 现在识别虚拟机中的操作系统,其中 /usr/
不在与 /
相同的分区。
在以前的版本中,libguestfs 无法识别
/usr/
目录没有与 /
在同一分区中的客户机操作系统。因此,libguestfs 工具(如 virt-sysprep
)没有如预期执行。在这个版本中,即使 /usr/
目录没有位于与 /
相同的分区中,libguestfs 也会识别客户机操作系统。因此,libguestfs 工具(如 virt-sysprep
)会如预期执行。(BZ#1388407)
Windows 8 虚拟机现在可以正确地关闭
在以前的版本中,当使用 32 位 AMD 和 Intel 架构处理器关闭 Windows 8 客户虚拟机时,虚拟机会在 Shutting Down 屏幕中变得无响应。随着
virtio
和 qxl
驱动程序的更新,这个问题已被解决。因此,关闭过程可以如预期完成。(BZ#1271469)