<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ESXi on Zero Day Notes</title>
        <link>https://blog.5772447.xyz/tags/esxi/</link>
        <description>Recent content in ESXi on Zero Day Notes</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-CN</language>
        <lastBuildDate>Tue, 20 Sep 2022 10:45:00 +0000</lastBuildDate><atom:link href="https://blog.5772447.xyz/tags/esxi/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>一次VMware ESXi主机紫屏宕机的排查与恢复实录</title>
            <link>https://blog.5772447.xyz/posts/86fd6190/</link>
            <pubDate>Tue, 20 Sep 2022 10:45:00 +0000</pubDate>
            <guid>https://blog.5772447.xyz/posts/86fd6190/</guid>
            <description>&lt;h2 id=&#34;问题背景&#34;&gt;&lt;a href=&#34;#%e9%97%ae%e9%a2%98%e8%83%8c%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;问题背景&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;某日凌晨 3:07，监控系统收到大量告警：生产环境中的一台 VMware ESXi 主机（HP ProLiant DL380 Gen10）突然下线，该主机上运行着 12 台虚拟机，包含 ERP 系统、OA 系统、文件服务器等关键业务系统。&lt;/p&gt;&#xA;&lt;p&gt;早上 8:30 运维人员到岗后发现问题，此时所有虚拟机均已强制关机，现场查看物理服务器，显示屏上出现了 VMware 的紫屏（PSOD，Purple Screen of Death），服务器处于 hung 状态，需要硬重启才能恢复。&lt;/p&gt;&#xA;&lt;p&gt;紫屏截图如下（关键信息记录）：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;VMware ESXi 7.0.3 (VMkernel Release Build 20842708)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HP ProLiant DL380 Gen10&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PCPU 12 locked up. Failed to ack TLB invalidate.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;0x0000000000000000:[0x4180b22e54b3]...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;故障现象&#34;&gt;&lt;a href=&#34;#%e6%95%85%e9%9a%9c%e7%8e%b0%e8%b1%a1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;故障现象&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;ESXi 主机出现紫屏，物理界面显示 PSOD&lt;/li&gt;&#xA;&lt;li&gt;12 台虚拟机全部强制关机（非正常关闭）&lt;/li&gt;&#xA;&lt;li&gt;监控系统在 3:07 开始收到该主机上所有 VM 的 ping 超时告警&lt;/li&gt;&#xA;&lt;li&gt;vCenter 显示该主机为&amp;quot;未响应&amp;quot;状态&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;排查过程&#34;&gt;&lt;a href=&#34;#%e6%8e%92%e6%9f%a5%e8%bf%87%e7%a8%8b&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;排查过程&#xD;&#xA;&lt;/h2&gt;&lt;h3 id=&#34;第一步硬重启并收集-psod-日志&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%b8%80%e6%ad%a5%e7%a1%ac%e9%87%8d%e5%90%af%e5%b9%b6%e6%94%b6%e9%9b%86-psod-%e6%97%a5%e5%bf%97&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第一步：硬重启并收集 PSOD 日志&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;在确认无法软恢复后，对物理服务器进行硬重启（ILO 远程管理界面操作）。&lt;/p&gt;&#xA;&lt;p&gt;重启后，立即从 ESXi 主机提取紫屏 dump 文件。VMware ESXi 在 PSOD 时会自动将内存转储到本地磁盘。&lt;/p&gt;&#xA;&lt;p&gt;SSH 连接到恢复后的 ESXi 主机：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;6&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;7&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;8&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 查看 VMkernel 日志目录&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls /var/core/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 输出：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# vmkernel-zdump.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# vmkernel-zdump.1（如有多次）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 查看最新的 vmkernel 日志&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cat /var/log/vmkernel.log | tail -200&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;关键日志片段：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-09-20T03:07:12.145Z cpu12:2098226)ALERT: PCPU 12 locked up. Failed to ack TLB invalidate.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-09-20T03:07:12.145Z cpu12:2098226)Machine check: Bank 5, status 0xBE20000000800400&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-09-20T03:07:12.145Z cpu12:2098226)Machine check: addr 0x0000000000000000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-09-20T03:07:12.146Z cpu12:2098226)NMI IPI: nmiHandler:Dump stack ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;出现了 &lt;code&gt;Machine check&lt;/code&gt; 错误，Bank 5 对应内存控制器（Memory Controller），状态码 &lt;code&gt;0xBE20000000800400&lt;/code&gt; 是典型的内存 ECC 错误（Uncorrected Error）。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第二步分析机器检查错误mca&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%ba%8c%e6%ad%a5%e5%88%86%e6%9e%90%e6%9c%ba%e5%99%a8%e6%a3%80%e6%9f%a5%e9%94%99%e8%af%afmca&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第二步：分析机器检查错误（MCA）&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;Machine Check Architecture（MCA）是 x86 CPU 的硬件错误上报机制。&lt;code&gt;Bank 5&lt;/code&gt; 在 Intel Xeon 平台通常对应内存通道或内存控制器。&lt;/p&gt;&#xA;&lt;p&gt;状态码解析（&lt;code&gt;0xBE20000000800400&lt;/code&gt;）：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bit 63（VAL）= 1：有效的机器检查错误&lt;/li&gt;&#xA;&lt;li&gt;Bit 61（UC）= 1：未修正的错误（Uncorrected Error），不可纠正&lt;/li&gt;&#xA;&lt;li&gt;Bit 57（EN）= 1：已启用错误报告&lt;/li&gt;&#xA;&lt;li&gt;错误类型：Memory Error&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这说明是 &lt;strong&gt;内存硬件故障，且是不可纠正的 ECC 错误&lt;/strong&gt;，直接触发了 CPU 的机器检查中断，进而导致 VMkernel 进入紫屏。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第三步查看-hp-ilo-日志&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%b8%89%e6%ad%a5%e6%9f%a5%e7%9c%8b-hp-ilo-%e6%97%a5%e5%bf%97&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第三步：查看 HP ILO 日志&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;通过 HP ILO（服务器硬件管理接口）查看服务器事件日志：&lt;/p&gt;&#xA;&lt;p&gt;登录 ILO 管理界面 → Integrated Management Log，发现在 3:06（紫屏前约 1 分钟）有如下记录：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uncorrectable Memory Error on Slot 0, Bank 0 / Rank 0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DIMM Location: PROC 1 DIMM 3A&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;明确指出了 &lt;code&gt;PROC 1 DIMM 3A&lt;/code&gt; 这根内存条出现了不可纠正的内存错误。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第四步物理确认故障内存&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e5%9b%9b%e6%ad%a5%e7%89%a9%e7%90%86%e7%a1%ae%e8%ae%a4%e6%95%85%e9%9a%9c%e5%86%85%e5%ad%98&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第四步：物理确认故障内存&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;关机后，打开服务器，按照 ILO 日志标注的位置找到 &lt;code&gt;PROC 1 DIMM 3A&lt;/code&gt; 插槽，将这根内存条拔出，仔细检查：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;外观：金手指有轻微氧化痕迹&lt;/li&gt;&#xA;&lt;li&gt;运行时长：该服务器已运行约 4 年&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;将这根故障内存取出，其余内存条保持原位，重新上电。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第五步内存-memtest-验证&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%ba%94%e6%ad%a5%e5%86%85%e5%ad%98-memtest-%e9%aa%8c%e8%af%81&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第五步：内存 Memtest 验证&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;在正式上线前，使用 HPE Memory Diagnostics（通过 ILO 的 SPP 工具）对剩余内存条进行检测，结果全部通过。&lt;/p&gt;&#xA;&lt;p&gt;重新启动 ESXi，主机正常进入系统，无报错。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;解决方案&#34;&gt;&lt;a href=&#34;#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;解决方案&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;立即处理：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;拔除故障内存条（PROC 1 DIMM 3A）&lt;/li&gt;&#xA;&lt;li&gt;重启 ESXi 主机（此时总内存从 256GB 降至 240GB）&lt;/li&gt;&#xA;&lt;li&gt;逐步启动各虚拟机，优先恢复 ERP、OA 等关键业务&lt;/li&gt;&#xA;&lt;li&gt;向厂商提交内存条保修申请（服务器在保修期内）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;虚拟机启动顺序：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 通过 vCenter 或 esxcli 启动关键 VM&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim-cmd vmsvc/getallvms   &lt;span style=&#34;color:#75715e&#34;&gt;# 列出所有 VM 及其 VMID&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim-cmd vmsvc/power.on &amp;lt;VMID&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;恢复顺序：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;ERP 数据库服务器（最高优先级）&lt;/li&gt;&#xA;&lt;li&gt;ERP 应用服务器&lt;/li&gt;&#xA;&lt;li&gt;OA 系统&lt;/li&gt;&#xA;&lt;li&gt;文件服务器&lt;/li&gt;&#xA;&lt;li&gt;其他非关键系统&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;全部 VM 在 9:20 前恢复运行，业务中断约 6 小时（3:07 - 9:20）。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;根因分析&#34;&gt;&lt;a href=&#34;#%e6%a0%b9%e5%9b%a0%e5%88%86%e6%9e%90&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;根因分析&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;根本原因：&lt;strong&gt;服务器内存条（PROC 1 DIMM 3A）发生硬件故障，产生了不可纠正的 ECC 错误（Uncorrected ECC Error）&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;ECC 内存通常能自动纠正单 bit 错误（CE，Correctable Error），但当出现双 bit 或更多 bit 错误时，无法纠正，只能上报给 CPU，CPU 触发 Machine Check Exception（MCE），VMkernel 捕获后生成 PSOD，保护虚拟机数据完整性。&lt;/p&gt;&#xA;&lt;p&gt;该内存条已运行约 4 年，正处于硬件老化周期，发生故障属于正常硬件生命周期现象。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;预防措施&#34;&gt;&lt;a href=&#34;#%e9%a2%84%e9%98%b2%e6%8e%aa%e6%96%bd&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;预防措施&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. 配置 ECC 内存可纠正错误（CE）告警&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;不等到 UCE 触发宕机，在 CE 频繁出现时就主动更换内存：&lt;/p&gt;&#xA;&lt;p&gt;在 vCenter 中配置主机硬件健康告警，当 ECC CE 告警达到阈值时通知运维。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;2. 接入服务器硬件监控&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;将 HP ILO / Dell iDRAC 等 BMC 接口接入监控系统（如 Prometheus + ipmi_exporter），实时采集内存、CPU、硬盘健康状态。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;3. 制定虚拟机启动优先级 SOP&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;提前定义好各 VM 的重要程度和启动顺序，避免故障时手忙脚乱。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;4. 定期巡检服务器硬件&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;每季度查看一次 ILO/iDRAC 的事件日志，对已有 CE 记录的内存条提前备件替换，不等到 UCE 再处理。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;&lt;a href=&#34;#%e6%80%bb%e7%bb%93&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;总结&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;服务器运维中，硬件故障是无法完全避免的，但可以通过完善的监控和告警机制，将影响降到最低。这次事故之所以造成 6 小时的业务中断，一方面是故障发生在凌晨，另一方面是在日常运维中没有关注到 ILO 里已经存在的 CE 告警（事后查看 ILO 日志，发现事故前两周就已经有 CE 告警，只是没有引起重视）。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;要点：&lt;/strong&gt; ECC 的可纠正错误（CE）是 UCE 和宕机的前兆，一旦出现 CE 告警就应计划更换内存，不要等到 UCE 发生时再被动处理。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
