首页/云/云平台与虚拟化速查/capabilities 与 domcapabilities 查询
虚拟化操作94 条

capabilities 与 domcapabilities 查询

capabilities 报告宿主能力(架构、机器类型、迁移特性、CPU 特性),domcapabilities 针对指定域列出机器类型、CPU 模型与固件支持,是排障与选型的依据。

云平台与虚拟化速查云更新于 2026-10-13

能力查询是什么

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 domcapabilitiesUEFI 与 BIOS 的可用性
CPU 模型与特性virsh domcapabilities迁移目标是否支持同一模型
升级前后差异两次输出做 diff提前发现兼容性变化
升级 libvirt / QEMU 前后对比 domcapabilities 输出,可提前发现兼容性变化;把对比结果与虚机定义一起留存,回滚时有据可查。
机器类型名称在不同 QEMU 版本间存在版本化命名:老虚机定义里可能写着具体的版本类型(如 pc-i440fx-4.x),目标宿主不一定提供同名类型,迁移前要先确认。

易错点

  • 忽略固件差异:UEFI 与 BIOS 引导所需配置不同,直接搬定义会起不来
  • 跨版本迁移前未核对机器类型,目标宿主没有同名类型,定义校验失败
  • 只看宿主能力不看域能力,遗漏某台虚机的固件与设备限制
  • 升级前没留能力输出基线,升级后出问题无法快速判断是环境还是配置变化
  • 只查一次能力就长期沿用,宿主与集群变化后新虚机定义在旧主机上无法运行
  • 迁移批次里主机版本不一致,能力清单却没按主机分组,排障时定位不到差异源

数据来源与参考

  • virsh 手册:capabilities / domcapabilities
  • libvirt 文档:能力查询
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌