Zhong__The CPU has been disabled by the guest operating system. Power off or reset the ... ...

时间:2024.05.14

环境:vmware ESXi

                版本:1.8.0

                ESXi版本:6.5.0

目的:解决特定版本的vmware ESXi虚拟机日常不定时宕机,ssh远程连接虚拟机时宕机bug

说明:本方案针对特定场景、特定原因导致的宕机有效

作者:Zhong

场景复现

在vmware ESXi开启了ssh远程管理功能后 发现安装的基于CentOS7.6、CentOS Stream 9、Ubuntu2022等镜像的操作系统 会在不定时的时间(任意的时间)发生宕机(期间未进行操作) 和在ssh远程登录管理时频繁发生宕机 此宕机未有有用的日志提示(笔者使用的ESXi日志不能直接下载和查看 所以没有用) 在 监控 > 事件 查看日志时会有一条记录: The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.   

tip:

        此问题出现在日常服务中状态和使用ssh工具连接虚拟机情况下 未出现在安装虚拟机操作系统时的场景 网上很多类似的情况出现在安装操作系统时场景

踩坑

开始出现此问题时 以为是个例、配置问题,但在尝试使用不同镜像、镜像版本,调整cpu、内存、磁盘后同样会出现 所以解决问题的途径应不在此。

后续在网上找到一些方案如关机重启、重置、编辑vmx文件 添加一行配置cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101" 来绕过虚拟机cpu检验等方法 均不对此症 后在一个网站找到解决的方案:Linux VM fails with the error "kernel BUG at drivers/net/vmxnet3/vmxnet3_drv.c:1413!" icon-default.png?t=N7T8https://knowledge.broadcom.com/external/article?legacyId=2151480

方案

按照 https://knowledge.broadcom.com/external/article?legacyId=2151480 这个网站描述 造成这个情况的原因是作为 vmkernel 一部分的 VMXNET3 vNIC 后端中的错误 如果满足以下条件,则会出现此问题:

  • Linux VM is running kernel >= 4.8
  • HW version of VM is >=13
  • ESXi version is 6.5

此问题已在 VMware ESXi 6.5 U1 中得到解决 如果你不想升级,要解决此问题,请使用以下任一选项:

  • Add the vmxnet3.rev.30 = FALSE parameter in the vmx file of virtual machine:

        1. Power off the virtual machine

        2. Edit the vmx file and add the below parameter:

vmxnet3.rev.30 = FALSE

        * Editing files on an ESXi host using vi (1020302) - https://kb.vmware.com/s/article/1020302

        3. Power on the virtual machine

  • If you do not want to power off the virtual machine, disable the receive data ring for each VMXNET3 vNIC on the VM by running this command:
     
    ethtool -G ethX rx-mini 0

        Note: Replace ethX with virtual machine's interface name.

说明

笔者没有采用升级方案 使用的是修改配置文件的方式 此方案需要对每一台出现问题的虚拟机都要单独修改配置 以下是示例过程

比如有一台虚拟机 名称为 u20_web_sites 是一台Ubuntu 20.xx.xx的系统 首先对此虚拟机执行关机操作 然后在 存储 菜单找到 数据存储浏览器 点进去

在弹窗找到这台虚拟机 文件夹名称一般和虚拟机同名 并在右侧找到以.vmx为后缀的文件 选中后选择左上角下载按钮下载到本地

 

在本地使用文本编辑器工具打开此文件编辑 插入一行配置: vmxnet3.rev.30 = FALSE 保存 然后在弹窗中选择上载按钮 将此文件上传上去 会直接覆盖原同名文件

完成后找到此虚拟机开机即可!!!

Note

本文中方案对本文提到的问题有效 请根据问题找对应的解决方案 建议疑难杂症在网上搜索的方案没效果时在官网查阅相关文档、bug修复说明、升级文档来解决 找客服和售后更好

  • 26
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我变了_我没变

随意 。。。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值