第 5 章 将虚拟机转换为 Q35 机器类型
在 RHEL 10 中,i440fx 机器类型已弃用,并将在以后的 RHEL 主版本中删除。另外,与 i440fx 相比,使用 q35 计算机类型提供额外的好处,如高级主机控制器接口(AHCI)和虚拟输入输出内存管理单元(vIOMMU)模拟。
因此,红帽建议将使用 i440fx 的虚拟机(VM)转换为使用 q35。请注意,您也可以转换尚未定义的虚拟机配置。
更改虚拟机的机器类型与更改物理机上的主板类似。因此,在某些情况下,将虚拟机的机器类型从 i440fx 转换为 q35 可能会导致客户端操作系统的功能出现问题。
先决条件
RHEL 10 主机上的虚拟机使用
i440fx机器类型。要确认这一点,请使用以下命令:# virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='pc-i440fx-10.0.0'>hvm</type>您已备份了虚拟机的原始配置,以便在需要时使用它来进行转换和灾难恢复。
# virsh dumpxml <vm-name> > <vm-name>-backup.xml
流程
对于未定义的虚拟机,请执行以下操作:
调整虚拟机的配置以使用 Q35。作为源配置,使用您之前创建的备份文件。
# cat <vm-name>-backup.xml | virt-xml --edit --convert-to-q35 > <vm-name-q35>.xml定义虚拟机。
# virsh define <vm-name-q35>.xml
对于定义的虚拟机,请执行以下操作:
调整虚拟机的配置以使用 Q35。
# virt-xml <vm-name> --edit --convert-to-q35如果虚拟机正在运行,请将其关闭。
# virsh shutdown <vm-name>
验证
显示虚拟机的机器类型。
# virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='q35'>hvm</type>- 启动虚拟机并检查您是否可以登录到客户机操作系统。
故障排除
如果更改机器类型使虚拟机无法正常工作,请根据备份的配置定义一个新虚拟机。
# virsh define <vm-name>-backup.xml