鲲鹏架构virt_type配置为qemu提示CPU不支持主机传递

在鲲鹏架构上安装OpenStack Q版本时,计算节点配置为qemu模式出现CPU不支持主机传递的问题。通过将virt_type更改为kvm并重启openstack-nova-compute服务解决了该问题。

鲲鹏架构安装openstack Q版本,计算节点virt_type配置为qemu提示CPU不支持主机传递。

计算节点nova服务报错,virt_type配置为qemu提示CPU不支持主机传递

: libvirtError: unsupported configuration: CPU mode 'host-passthrough' for aarch64 qemu domain on aarch64 host is not supported by hypervisor
2020-07-23 05:04:40.095 27687 ERROR nova.virt.libvirt.driver [req-1de2f511-9aa9-4cab-82bb-91e4f79c2fd5 36f76aaaee804f95878dcce4ff134f4f 82fc4d5bb8fc4c5aab5feef3e6d67fa9 - 3202a33cfd45412083d2bff97867f8e7 3202a33cfd45412083d2bff97867f8e7] [instance: 3207095d-36da-44ca-9c89-352cba5b8d36] Failed to start
<think>我们正在处理OpenStack环境中修改虚拟机管理程序类型(virt_type)和CPU模式(cpu_mode)的配置问题。根据需求,需要将virt_type从kvm改为qemucpu_mode改为none。这两个参数通常位于OpenStack计算节点(nova)的配置文件中。 查找路径: 1. `virt_type`:该参数定义在`/etc/nova/nova.conf`文件的`[libvirt]`部分。 2. `cpu_mode`:同样位于`/etc/nova/nova.conf`文件的`[libvirt]`部分。 修改步骤: 1. 使用文本编辑器(如vi)打开`/etc/nova/nova.conf`。 2. 找到`[libvirt]`部分,如果没有则添加。 3. 修改或添加以下两个参数: virt_type = qemu cpu_mode = none 4. 保存文件并重启相关的nova服务。 详细操作如下: ### 修改virt_typecpu_mode参数 1. **编辑配置文件**: ```bash sudo vi /etc/nova/nova.conf ``` 2. **定位到`[libvirt]`部分**,修改或添加以下行: ```ini [libvirt] virt_type = qemu cpu_mode = none ``` 3. **保存并退出**。 4. **重启nova服务**: 根据OpenStack的版本和操作系统,重启服务的方式可能有所不同。以下为常见命令: - 对于CentOS 7/RHEL 7: ```bash sudo systemctl restart openstack-nova-compute ``` - 对于Ubuntu/Debian: ```bash sudo service nova-compute restart ``` 5. **验证配置**: 可以通过以下命令检查配置是否生效: ```bash nova service-list # 确保计算服务状态正常 ``` 注意:将`virt_type`设置为`qemu`(纯软件模拟)通常用于当宿主机不支持硬件虚拟化(如没有KVM支持)的情况。由于qemu的性能比kvm差,所以除非必要(如在不支持虚拟化的CPU上运行),否则不推荐使用。另外,`cpu_mode`设置为`none`表示不向虚拟机暴露宿主机CPU特性,而是使用QEMU默认的CPU模型(通常是qemu64)。这在需要兼容性时使用。 引用说明: - 关于libvirt配置选项可以参考官方文档[^1]。 - 关于QEMU设备的使用,如kvm-pit,可以通过QEMU命令行添加[^2],但本次修改不涉及此内容。 §§相关问题§§ 1. 如何检查宿主机是否支持KVM虚拟化? 2. 除了修改virt_type,还有哪些方法可以提高虚拟机兼容性? 3. OpenStack中如何配置多个计算节点使用不同的虚拟化类型? </think>### 修改OpenStackvirt_typecpu_mode参数的位置及方法 #### 配置路径分析 在OpenStack环境中,`virt_type`和`cpu_mode`参数位于**计算节点(nova-compute)** 的配置文件中: ```ini /etc/nova/nova.conf ``` 具体配置位置: ```ini [libvirt] virt_type = qemu # 原值为kvm cpu_mode = none # 修改为目标值 ``` #### 修改步骤 1. **编辑配置文件** ```bash sudo vi /etc/nova/nova.conf ``` 2. **定位并修改参数** ```diff [libvirt] # 原始配置 - virt_type = kvm - cpu_mode = host-model # 可能为其他值 # 修改后配置 + virt_type = qemu + cpu_mode = none ``` 3. **重启服务** ```bash sudo systemctl restart openstack-nova-compute.service ``` 4. **验证配置** ```bash openstack compute service list # 确认计算节点状态正常 ``` #### 参数说明 1. **`virt_type = qemu`**: - 使用纯QEMU模拟器代替KVM加速 - 适用于不支持硬件虚拟化的环境[^2] - 性能较低但兼容性更好 2. **`cpu_mode = none`**: - 不向虚拟机暴露宿主机CPU特性 - 使用QEMU默认CPU模型(qemu64) - 提供最大兼容性,尤其适用于跨架构迁移 #### 注意事项 - 修改后需**重启所有nova服务**: ```bash sudo systemctl restart openstack-nova* ``` - 检查虚拟机XML定义: ```bash virsh dumpxml <vm-name> | grep type # 应显示: <domain type='qemu'> ``` - 性能影响:QEMU模式比KVM性能低30-50%,仅建议在不兼容时使用 #### 技术原理 当设置为`virt_type=qemu`时: $$ \text{虚拟机} \xrightarrow{\text{QEMU模拟}} \text{物理硬件} $$ 取代了KVM的: $$ \text{虚拟机} \xrightarrow[\text{硬件加速}]{\text{KVM}} \text{物理硬件} $$ CPU模式设为`none`后,将使用标准CPU模型: ```xml <domain> <cpu mode='none'/> <!-- 原为host-passthrough --> </domain> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值