能力查询是什么
virsh capabilities 报告宿主的虚拟化能力:架构、机器类型(pc / q35 等)、CPU 特性与迁移相关能力;virsh domcapabilities 针对指定域列出可选机器类型、CPU 模型、固件(BIOS 与 UEFI)以及设备支持范围。两者是选型与排障时的“能力清单”,也是升级前后对比的基线。
基本信息
| 宿主能力 | virsh capabilities |
|---|---|
| 域能力 | virsh domcapabilities vm1 |
| 过滤查看 | --arch x86_64 与 --machine 可按架构和机器类型过滤 |
| 用途 | 确认固件、机器类型、CPU 模式的支持范围 |
| 对比用法 | 升级前后各存一份输出做 diff |
| 权限 | 纯查询,不需要改动配置 |
典型使用场景
- 迁移前确认两端机器类型与 CPU 模式是否兼容
- 判断目标宿主能否使用 UEFI,还是只能走 BIOS 引导
- 升级 libvirt / QEMU 前后做能力对比,提前发现变化
- 排查“机器类型不存在”这类启动与定义报错
- 确认宿主是否具备所需 CPU 特性(含嵌套虚拟化相关标志)
过滤查看机器类型与固件
过滤查看机器类型与固件
virsh capabilities | grep -E 'machine|arch' # 架构与可用机器类型
virsh domcapabilities vm1 | grep -E 'machine|firmware' | head # 该域的固件与机器类型
virsh domcapabilities --machine q35 --arch x86_64 | head -40 # 按指定机器类型查询
virsh capabilities > /tmp/caps-before.xml # 升级前留基线
virsh capabilities > /tmp/caps-after.xml # 升级后对比
diff /tmp/caps-before.xml /tmp/caps-after.xml | head -40查什么用什么
| 需求 | 命令 | 关注点 |
|---|---|---|
| 宿主架构与机器类型 | virsh capabilities | 是否存在 q35 等所需类型 |
| 固件支持 | virsh domcapabilities | UEFI 与 BIOS 的可用性 |
| CPU 模型与特性 | virsh domcapabilities | 迁移目标是否支持同一模型 |
| 升级前后差异 | 两次输出做 diff | 提前发现兼容性变化 |
升级 libvirt / QEMU 前后对比 domcapabilities 输出,可提前发现兼容性变化;把对比结果与虚机定义一起留存,回滚时有据可查。
机器类型名称在不同 QEMU 版本间存在版本化命名:老虚机定义里可能写着具体的版本类型(如 pc-i440fx-4.x),目标宿主不一定提供同名类型,迁移前要先确认。