当前位置:首页 > 技术分析 > 正文内容

VMware ESXi 紫屏/蓝屏背后故事和解决方案

ruisui883个月前 (03-18)技术分析28

一、前言

随着VMware的广泛使用,近期遇到很多客户使用VMware Esxi时出现蓝屏和紫屏现象,紫屏代码(Purple Screen of Diagnostics/Purple Screen of Death )简称:PSOD。本章我们主要分析下如何分析紫屏代码。仅供参考。

官方KB:
https://kb.vmware.com/s/article/1020181

https://kb.vmware.com/s/article/1014767

二、紫屏解释

当 Esxi 宕机时,内核确定其不安全,就会出现 PSOD,紫屏会保存内存状态,我们称为内存转储或核心转储。我们可以通过ESXi Server的Dell iDRAC / HP ILO / Cisco CIMC时,我们可以看到此PSOD屏幕状态。

此时屏幕上会显示崩溃时的内存状态,并显示对崩溃原因进行故障排除的详细信息、ESXi 版本详细信息、异常类型、寄存器转储、回溯、服务器正常运行时间、错误消息以及有关核心转储的信息。

三、故障分析

1、硬件故障

在大多数情况下,原因是RAM或CPU。通常会显示“MCE(机器检查异常)”或“NMI(不可屏蔽的中断)”错误。

“MCE” – 表示 CPU 内用于检测和报告硬件问题的机制。紫色屏幕上显示的代码中有一些用于确定问题根本原因的重要详细信息。

“NMI” – 表示处理器不能忽略的硬件中断。由于 NMI 是有关硬件故障的非常重要的消息,因此从 ESXi 5.0 及更高版本开始的默认响应是触发 PSOD。早期版本只是记录错误并继续。与MCE相同,由NMI引起的紫色屏幕。

有关 NMI 代码,请参阅知识库
https://kb.vmware.com/s/article/1014767

2. 软件错误

带有软件错误的新版本会导致 PSOD,并且通常问题在下一个构建版本中得到修复。

示例:资源不足:内存、堆、缓冲区。配置参数不正确或不受支持的

3. 硬件兼容性问题

虚拟机可能使用了不兼容的虚拟硬件版本或驱动程序,驱动程序中尝试访问某些不正确索引或不存在的方法的 bug。

https://kb.vmware.com/s/article/2146526

对虚拟环境的影响是,当 ESXi 服务器上发生 PSOD 时,主机崩溃并终止其上运行的所有服务,并且主机上运行的所有虚拟机将不会正常关闭,如果主机是 HA 的一部分,则所有虚拟机都将迁移到另一台主机并重新引导。

四、案例剖析

我们可在服务器带外管理查看紫屏界面,下面进行详细剖析分解。

具有内部版本号详细信息的产品

导致 PSOD 的错误消息详细信息

中央处理器寄存器

物理 CPU 详细信息

ESXi 主机启动正常运行时间

堆栈跟踪

核心转储

分析完上述代码详情,接下来我们可以在esxi上收取日志,如图所示

下载的日志可自行分析,或者找VMware 400售后支持。

五、防护措施

要正确防止 VMware ESXi 紫色诊断屏幕或紫色死机屏幕问题,可以采取以下措施来提高虚拟化环境的稳定性和可靠性:

1、保持 VMware ESXi 更新:

定期更新您的 ESXi 主机,以确保您拥有最新的安全性和性能修复。VMware 发布了定期的补丁和更新,以修复已知的问题。

2、定期备份虚拟机:

创建定期的虚拟机备份,以防止数据丢失。这可以帮助您在出现问题时快速恢复虚拟机的状态。

3、监控硬件健康:

使用硬件监控工具来跟踪宿主机的健康状况,包括温度、风扇速度、电源供应等。这有助于及早发现潜在的硬件故障。

4、合理分配资源:

确保虚拟机的资源分配合理。避免在同一宿主机上分配过多的虚拟机,以避免资源争用。

5、使用兼容的虚拟硬件:

当创建虚拟机时,选择与 ESXi 版本兼容的虚拟硬件版本。确保虚拟机操作系统支持所选的虚拟硬件版本。

6、启用虚拟机监控:

VMware 提供了虚拟机监控功能,可以帮助您监视虚拟机的性能和状态。启用监控可以帮助您及早发现问题。

7、定期维护虚拟机:

定期对虚拟机进行操作系统和应用程序的更新、维护和安全性检查,以确保其稳定性和安全性。

8、合理规划存储和网络:

确保存储和网络基础设施能够满足虚拟机的需求。避免存储性能瓶颈和网络拥塞。

9、监控和日志分析:

设置监控和日志分析工具,以及时检测和诊断问题。VMware 提供了一些工具和解决方案,如vRealize Operations Manager和vCenter Log Insight。

10、虚拟机迁移和负载平衡:

使用 VMware vMotion 等技术来实现虚拟机的迁移和负载平衡,以确保资源均衡分配,并减少单一宿主机故障的影响。

11、合理规划容灾和备份策略:

考虑设置容灾和备份策略,以应对宿主机或存储故障等严重问题。

综合以上可适当减少兼容性问题。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2857.html

分享给朋友:

“VMware ESXi 紫屏/蓝屏背后故事和解决方案” 的相关文章

供热收费管理系统一户多标准版

供热收费管理系统一户多标准版headerfooter《供热收费管理系统一户对标准版》是一款针对冬季供暖收费的管理软件,针对用户相同地址,存在不同的收费方式。同样为供热公司的规范收费、加强管理、提高服务档次必备的管理系统。 本系统包括:基础信息、收费管理等二个大模块。主要功能:1.基础信息(供热区设置...

快速上手React

web前端三大主流框架1、Angular大家眼里比较牛的框架,甚至有人说三大框架中只有它能称得上一个完整的框架,因为它包含的东西比较完善,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能。对于刚开始学习使用框架的小伙伴们,可以推荐这个框架,学会之后简直能颠覆之前你对前端开发的认...

面试被逼疯:聊聊Python Import System?

面试官一个小时逼疯面试者:聊聊Python Import System?对于每一位Python开发者来说,import这个关键字是再熟悉不过了,无论是我们引用官方库还是三方库,都可以通过import xxx的形式来导入。可能很多人认为这只是Python的一个最基础的常识之一,似乎没有可以扩展的点了,...

三勾商城(java+vue3)微信小程序商城+SAAS+前后端源码

项目介绍本系统功能包括: 前台展示+后台管理+SAAS管理端,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理,用户管理等等功能,小伙伴一起来看看吧。三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城...

在vue项目中封装WebSockets请求

在Vue项目中封装WebSocket请求包括以下步骤:1. 安装WebSocket库:首先,导入WebSocket库,例如`vue-native-websocket`或`socket.io-client`。根据项目需求选择适当的库,并根据官方文档进行安装和配置。2. 创建WebSocket服务:在V...

企业微信自建应用和消息发送配置对接系统指南

本文介绍企业微信应用创建、消息提醒、自动回复、自定义菜单和服务端接口对接过程。企业微信登录:https://work.weixin.qq.com/企业微信接口对接,应用授权和发送消息代码:https://www.easywechat.com/docs/5.x/wework/oauth一、创建自建应用...