Skip to main content

场景二:修改云主机 CPU 型号配置

适用场景: 处理特定 CPU 架构(如海光 C86)的兼容性问题,向 QEMU 传递自定义 CPU 参数。

操作节点: 目标云主机所在的计算节点(宿主机)

示例云主机 ID: 39dd7fad-ddea-6ba9-43f8-82741a9331df

操作步骤:

  1. 登录宿主机并进入容器

    SSH 登录到宿主机后,执行:

    Bash

    docker exec -it gostack_libvirt bash
  2. 备份当前 XML 配置

    Bash

    virsh dumpxml 39dd7fad-ddea-6ba9-43f8-82741a9331df > /tmp/vm_39dd7fad-ddea-6ba9-43f8-82741a9331df_backup_$(date +%F).xml
  3. 编辑 XML 配置文件

    Bash

    virsh edit 39dd7fad-ddea-6ba9-43f8-82741a9331df
  4. 添加 QEMU 命令行参数

    在 XML 配置末尾(</domain> 标签闭合前),增加如下 <qemu:commandline> 块:

    XML

    <qemu:commandline>
      <qemu:arg value='-cpu'/>
      <qemu:arg value='EPYC,vendor=AuthenticAMD,model_id=Hygon C86 7492C Processor series'/>
    </qemu:commandline>
  5. 保存退出并重启云主机

    Esc 输入 :wq 保存。然后执行:

    Bash

    virsh destroy 39dd7fad-ddea-6ba9-43f8-82741a9331df && virsh start 39dd7fad-ddea-6ba9-43f8-82741a9331df
  6. 查看配置与特性剥离说明

    执行以下命令再次查看 XML 的 <cpu> 段落:

    Bash

    virsh dumpxml 39dd7fad-ddea-6ba9-43f8-82741a9331df | grep -A 10 "<cpu"
    • 核对指标: 观察 mode 是否为 qemu64,且 <feature> 列表中是否有 name='vme'

    • ⚠️ 特殊情况处理: 如果重启云主机提示 CPU 问题,请再次编辑 XML,把以 <feature 开头的项全部删除,让虚拟机自行产出 CPU 配置。

🛠️ 应急回滚机制:

同场景一,使用 virsh define 恢复对应日期的备份 XML 文件并重启。