<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>服务器 on Zero Day Notes</title>
        <link>https://blog.5772447.xyz/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/</link>
        <description>Recent content in 服务器 on Zero Day Notes</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <lastBuildDate>Wed, 13 Dec 2023 10:35:00 +0000</lastBuildDate><atom:link href="https://blog.5772447.xyz/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>机房精密空调故障，服务器集群怎么就过热降频了？</title>
            <link>https://blog.5772447.xyz/posts/%E4%B8%80%E6%AC%A1%E5%B9%B4%E7%BB%88%E6%9C%BA%E6%88%BF%E7%B2%BE%E5%AF%86%E7%A9%BA%E8%B0%83%E6%95%85%E9%9A%9C%E5%AF%BC%E8%87%B4%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9B%86%E7%BE%A4%E8%BF%87%E7%83%AD%E9%99%8D%E9%A2%91%E7%9A%84%E6%8E%92%E6%9F%A5%E5%AE%9E%E5%BD%95/</link>
            <pubDate>Wed, 13 Dec 2023 10:35:00 +0000</pubDate>
            <guid>https://blog.5772447.xyz/posts/%E4%B8%80%E6%AC%A1%E5%B9%B4%E7%BB%88%E6%9C%BA%E6%88%BF%E7%B2%BE%E5%AF%86%E7%A9%BA%E8%B0%83%E6%95%85%E9%9A%9C%E5%AF%BC%E8%87%B4%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9B%86%E7%BE%A4%E8%BF%87%E7%83%AD%E9%99%8D%E9%A2%91%E7%9A%84%E6%8E%92%E6%9F%A5%E5%AE%9E%E5%BD%95/</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;公司自建数据中心内有 5 个标准机柜，约 30 台物理服务器（含数据库、虚拟化主机、备份存储）。机房制冷由两台 Emerson 精密空调（一主一备）提供，设定温度 22°C，温差 ±2°C。机房环境监控通过 Zabbix 采集温湿度传感器的 SNMP 数据。&lt;/p&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;p&gt;12 月 13 日上午 10:20，运维收到用户反馈：公司内部 OA 系统、ERP 系统、企业邮箱全部响应极度缓慢，页面加载时间从正常的 1-2 秒变成 30-60 秒。监控平台显示全业务 P99 延迟飙升 20-30 倍。&lt;/p&gt;&#xA;&lt;p&gt;登录虚拟化平台 vCenter 查看宿主机：&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;/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;Host: esxi-01.corp.local&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CPU Usage: 35%&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CPU Ready: 18% (正常应 &amp;lt;5%)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Memory Usage: 72%&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Alarm: Host CPU thermal throttling active&#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;CPU 热节流（Thermal Throttling）被触发！&lt;/strong&gt; 所有 ESXi 主机都在强制降频运行，原本 3.0GHz 的 CPU 被限制在 1.2GHz，虚拟机中的应用程序性能被严重拖慢。&lt;/p&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;第一步确认机房温度&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%b8%80%e6%ad%a5%e7%a1%ae%e8%ae%a4%e6%9c%ba%e6%88%bf%e6%b8%a9%e5%ba%a6&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第一步：确认机房温度&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;跑到机房门口，开门瞬间热浪扑面——室内温度计显示 &lt;strong&gt;48°C&lt;/strong&gt;！&lt;/p&gt;&#xA;&lt;p&gt;Zabbix 监控的告警时间：&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;10:20:00  机房温度 = 28°C  (超过25°C阈值，未告警？)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;10:25:00  机房温度 = 35°C  (仍无告警)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;10:30:00  机房温度 = 45°C  (仍无告警？)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;10:35:00  机房温度 = 48°C  (告警终于发出) # 延迟了15分钟！&#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;h3 id=&#34;第二步检查空调状态&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%ba%8c%e6%ad%a5%e6%a3%80%e6%9f%a5%e7%a9%ba%e8%b0%83%e7%8a%b6%e6%80%81&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第二步：检查空调状态&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;1 号精密空调——&lt;strong&gt;完全停机&lt;/strong&gt;。面板无任何指示灯。2 号备用空调在运行，但出风口温度仅 28°C（正常应为 16-18°C），实际制冷能力严重不足。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第三步分析-1-号空调停机原因&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%b8%89%e6%ad%a5%e5%88%86%e6%9e%90-1-%e5%8f%b7%e7%a9%ba%e8%b0%83%e5%81%9c%e6%9c%ba%e5%8e%9f%e5%9b%a0&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第三步：分析 1 号空调停机原因&#xD;&#xA;&lt;/h3&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;/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;2023-12-13 10:15:32 Compressor High Pressure Alarm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2023-12-13 10:15:32 System Shutdown (Safety)&#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;p&gt;室外温度 -12°C，打开室外机检修面板——风扇叶片被一层厚厚的冰冻住了，完全无法转动。北京冬季夜间温度降到 -15°C，空调室外机底部的排水孔被冰堵住，融化的冷凝水无法排出，在风扇轴承上结冰。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第四步为什么-2-号空调制冷不足&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e5%9b%9b%e6%ad%a5%e4%b8%ba%e4%bb%80%e4%b9%88-2-%e5%8f%b7%e7%a9%ba%e8%b0%83%e5%88%b6%e5%86%b7%e4%b8%8d%e8%b6%b3&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第四步：为什么 2 号空调制冷不足？&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;2 号空调虽然在运行，但制冷剂（R410A）压力只有正常值的 60%。检查发现制冷剂管路接口处有微漏，过去半年逐步泄漏但未补充。低制冷剂量下制冷能力大打折扣——2 号空调虽然亮着灯，实际起不到&amp;quot;备用&amp;quot;的作用。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第五步为什么-zabbix-告警延迟了-15-分钟&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%ba%94%e6%ad%a5%e4%b8%ba%e4%bb%80%e4%b9%88-zabbix-%e5%91%8a%e8%ad%a6%e5%bb%b6%e8%bf%9f%e4%ba%86-15-%e5%88%86%e9%92%9f&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第五步：为什么 Zabbix 告警延迟了 15 分钟？&#xD;&#xA;&lt;/h3&gt;&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;$ cat /etc/zabbix/zabbix_server.conf | grep -E &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;StartPollers|Timeout&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;StartPollers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Timeout&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&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;温度传感器的 SNMP 轮询间隔为 3 分钟。关键是告警触发条件：&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;/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;Trigger: avg(机房温度, 15m) &amp;gt; 28°C&#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;avg(15m)&lt;/code&gt;（15 分钟均值）——温度上升期间前几分钟的低值拉低了平均值，直到均值突破 28°C 才触发告警，而实际温度已经到 48°C 了。&lt;/p&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;h3 id=&#34;紧急物理降温&#34;&gt;&lt;a href=&#34;#%e7%b4%a7%e6%80%a5%e7%89%a9%e7%90%86%e9%99%8d%e6%b8%a9&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;紧急物理降温&#xD;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;打开机房所有门窗通风&lt;/strong&gt;，搬入 2 台工业风扇辅助对流&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;紧急关闭非核心服务器&lt;/strong&gt;：将测试环境和开发环境的物理机全部关机，降低整体热负载&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;手动除冰&lt;/strong&gt;：用热水浇融 1 号空调室外机风扇上的冰层，清理排水孔&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;冰层清除后，1 号空调恢复正常运行，机房温度在 20 分钟内回落到 28°C。CPU 热节流自动解除，业务 P99 延迟逐步恢复。&lt;/p&gt;&#xA;&lt;h3 id=&#34;后续整改&#34;&gt;&lt;a href=&#34;#%e5%90%8e%e7%bb%ad%e6%95%b4%e6%94%b9&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;后续整改&#xD;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;1 号空调加装低温套件&lt;/strong&gt;：包含加热带（防止排水孔结冰）和变速风扇控制器&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;2 号空调补充制冷剂&lt;/strong&gt;：查找泄漏点并修复，补充制冷剂至标称压力&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zabbix 告警规则修正&lt;/strong&gt;：&lt;/li&gt;&#xA;&lt;/ol&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;/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;# 改为：最近一次温度值（非均值）超过28°C立即告警&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Trigger: last(机房温度) &amp;gt; 28°C&#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;# 增加温度变化率告警&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Trigger: (last(机房温度) - last(机房温度, 60s)) &amp;gt; 3&#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;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;/p&gt;&#xA;&lt;p&gt;深层原因：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;精密空调缺少低温环境适配（未安装低温套件）&lt;/li&gt;&#xA;&lt;li&gt;备用空调制冷剂泄漏，关键时刻无法满负荷运行&lt;/li&gt;&#xA;&lt;li&gt;Zabbix 温度告警使用 15 分钟均值，延迟了紧急告警&lt;/li&gt;&#xA;&lt;li&gt;机房缺乏温度传感器的多点冗余部署&lt;/li&gt;&#xA;&lt;/ul&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;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;精密空调低温套件&lt;/strong&gt;：冬季前安装加热带、变速风扇等低温适配组件&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;备机制冷能力保障&lt;/strong&gt;：每季度检测备机制冷剂压力，确保备机随时可用&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;实时温度告警&lt;/strong&gt;：告警规则改用 &lt;code&gt;last()&lt;/code&gt; 实时值 + 变化率双触发&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;多点温感冗余&lt;/strong&gt;：机柜顶部、中部、底部各部署温度传感器&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;冬季巡检 SOP&lt;/strong&gt;：11 月-3 月每月检查室外机排水孔和风扇轴承结冰情况&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;应急演练&lt;/strong&gt;：机房温度异常应急预案（工业风扇、开门通风、关非核心设备）&lt;/li&gt;&#xA;&lt;/ol&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;机房空调故障是运维能遇到的最&amp;quot;低技术含量&amp;quot;但又最致命的事故之一——不需要什么高深的网络协议或分布式系统知识，它就是物理世界的一个设备坏了。但它的破坏力是全局性的：一台空调停机，30 台服务器的 CPU 全部被迫降频，所有业务线的性能同时崩盘。在运维的世界里，对物理基础设施的监控不能有任何侥幸——温度告警的延迟、备机制冷剂的泄漏，都可以被&amp;quot;看起来正常&amp;quot;的表象掩盖，直到故障真正爆发。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>记一次服务器内存硬件故障导致的不定时宕机</title>
            <link>https://blog.5772447.xyz/posts/%E4%B8%80%E6%AC%A1%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%86%85%E5%AD%98%E7%A1%AC%E4%BB%B6%E6%95%85%E9%9A%9C%E5%AF%BC%E8%87%B4%E4%B8%8D%E5%AE%9A%E6%97%B6%E5%AE%95%E6%9C%BA%E7%9A%84%E6%8E%92%E6%9F%A5%E5%AE%9E%E5%BD%95/</link>
            <pubDate>Wed, 12 Jul 2023 11:55:00 +0000</pubDate>
            <guid>https://blog.5772447.xyz/posts/%E4%B8%80%E6%AC%A1%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%86%85%E5%AD%98%E7%A1%AC%E4%BB%B6%E6%95%85%E9%9A%9C%E5%AF%BC%E8%87%B4%E4%B8%8D%E5%AE%9A%E6%97%B6%E5%AE%95%E6%9C%BA%E7%9A%84%E6%8E%92%E6%9F%A5%E5%AE%9E%E5%BD%95/</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;公司一台运行 MySQL 8.0 的物理服务器（Dell PowerEdge R740xd，128GB DDR4 ECC 内存），作为生产环境的主库。该机器上线约 18 个月，之前从未出现过硬件问题。&lt;/p&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;p&gt;7 月初开始，这台 MySQL 服务器出现不定时宕机——平均每 2-3 天一次，时间毫无规律：一次是凌晨 3:00，一次是下午 2:30，一次是上午 10:15。宕机后服务器完全无响应，Ping 不通，只能通过 iDRAC 远程控制台强制重启。&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;/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;$ journalctl -b -1 --no-pager | tail -50&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-- Reboot --&#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;——没有 OOM Killer，没有 kernel panic 堆栈（默认不输出到串口），没有硬件错误的 edac 报告。系统像是被直接拔了电源一样，没有任何临终遗言。&lt;/p&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;第一轮怀疑温度和电源&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%b8%80%e8%bd%ae%e6%80%80%e7%96%91%e6%b8%a9%e5%ba%a6%e5%92%8c%e7%94%b5%e6%ba%90&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第一轮：怀疑温度和电源&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;通过 iDRAC 查看系统事件日志（SEL）：&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;/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;SEL Record:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Date/Time: 2023-07-10 02:58:14&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Sensor: CPU1 Temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Type: Temperature&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Description: Upper Non-Critical going high (85°C)&#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;CPU 温度确实偏高（85°C），但还在正常运行范围内（Tcase max 约 95°C）。清理了服务器内部灰尘并更换了散热硅脂后，CPU 温度降到 65°C——但宕机仍然发生。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第二轮怀疑内核崩溃kdump-无输出&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%ba%8c%e8%bd%ae%e6%80%80%e7%96%91%e5%86%85%e6%a0%b8%e5%b4%a9%e6%ba%83kdump-%e6%97%a0%e8%be%93%e5%87%ba&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第二轮：怀疑内核崩溃（kdump 无输出）&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;配置 kdump 来捕捉内核崩溃时的内存转储：&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-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yum install kexec-tools&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl start kdump&#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;/var/crash/&lt;/code&gt;——&lt;strong&gt;kdump 没有生成任何转储文件&lt;/strong&gt;。这说明崩溃的类型非常底层，连内核的 crashkernel 都无法正常加载。&lt;/p&gt;&#xA;&lt;h3 id=&#34;第三轮启用-mce-详细日志&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e4%b8%89%e8%bd%ae%e5%90%af%e7%94%a8-mce-%e8%af%a6%e7%bb%86%e6%97%a5%e5%bf%97&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第三轮：启用 MCE 详细日志&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;怀疑是硬件层面的错误触发，在 &lt;code&gt;/etc/default/grub&lt;/code&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;/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;GRUB_CMDLINE_LINUX=&amp;#34;... mce=3 mcelog=1 console=ttyS0,115200&amp;#34;&#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;通过 iDRAC 的串口重定向功能捕获下一次宕机时的输出。一周后再次宕机，iDRAC 串口日志中终于抓到了关键信息：&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;/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;[Hardware Error]: CPU:0 (7-86-6) MC0_STATUS[-|CE|MiscV|AddrV|-|-|CECC]: 0x9c20400001080136&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[Hardware Error]: Error Addr: 0x00000006f3c82540&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[Hardware Error]: MC0 Error: ECC error at CPU:0, channel:1, DIMM: A2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[Hardware Error]: cache level: L2, tx: GEN, mem-tx: RD&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Kernel panic - not syncing: Fatal machine check on current CPU&#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;Machine Check Exception (MCE)&lt;/strong&gt;——CPU 检测到了无法纠正的 ECC 内存错误（Uncorrectable ECC Error），触发了内核 Panic。&lt;/p&gt;&#xA;&lt;p&gt;关键信息：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;错误位置：&lt;code&gt;CPU:0, Channel:1, DIMM: A2&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;错误类型：ECC 不可纠正错误&lt;/li&gt;&#xA;&lt;li&gt;错误地址：&lt;code&gt;0x00000006f3c82540&lt;/code&gt;（刚好落在 MySQL 的 buffer pool 内存区域）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;第四轮确认内存故障模式&#34;&gt;&lt;a href=&#34;#%e7%ac%ac%e5%9b%9b%e8%bd%ae%e7%a1%ae%e8%ae%a4%e5%86%85%e5%ad%98%e6%95%85%e9%9a%9c%e6%a8%a1%e5%bc%8f&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;第四轮：确认内存故障模式&#xD;&#xA;&lt;/h3&gt;&lt;p&gt;虽然 ECC 内存能纠正单比特错误，但当同一个字节出现超过 1 个比特错误时就超过了 ECC 的纠错能力，触发不可纠正错误。而这种偶发性多比特错误通常意味着内存条即将彻底损坏。&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;/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;# 之前的edac日志其实有单比特可纠正错误的记录，只是没触发MCE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ grep -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;corrected error&amp;#34;&lt;/span&gt; /var/log/messages | grep &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DIMM A2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jul &lt;span style=&#34;color:#ae81ff&#34;&gt;03&lt;/span&gt; 05:12:14 server kernel: EDAC MC0: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; CE memory read error on CPU:0 channel:1 slot:A2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jul &lt;span style=&#34;color:#ae81ff&#34;&gt;03&lt;/span&gt; 19:44:32 server kernel: EDAC MC0: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; CE memory read error on CPU:0 channel:1 slot:A2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jul &lt;span style=&#34;color:#ae81ff&#34;&gt;05&lt;/span&gt; 11:37:05 server kernel: EDAC MC0: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; CE memory read error on CPU:0 channel:1 slot:A2&#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;DIMM A2 早在 7 月 3 日就开始出现可纠正错误（CE）——只是没人关注 edac 日志。CE 累积到无法纠正时就变成了 MCE 导致宕机。&lt;/p&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;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;停机更换内存&lt;/strong&gt;：联系 Dell 售后，确认 DIMM A2 故障，申请 RMA 更换&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;更换后验证&lt;/strong&gt;：通过 memtest86+ 对新内存条做全量检测（pass &amp;gt; 3 次）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;重启应用&lt;/strong&gt;：确认 MySQL 恢复正常，buffer pool 完整性校验通过&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;更换内存条后，服务器恢复稳定运行，至今未再宕机。&lt;/p&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;直接原因：DIMM A2 内存条硬件老化导致偶发性不可纠正的 ECC 错误，触发 MCE，内核 Panic 使系统直接宕机。kdump 无法捕获 MCE 级别的 Panic 因为内核已经在极端底层崩溃。&lt;/p&gt;&#xA;&lt;p&gt;深层原因：可纠正错误（CE）的 edac 日志没有被纳入监控告警体系，内存条在&amp;quot;带病工作&amp;quot;了一周后才演变为不可纠正错误导致宕机。&lt;/p&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;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;EDAC 监控告警&lt;/strong&gt;：通过 Zabbix 监控 &lt;code&gt;/sys/devices/system/edac/mc/mc*/ce_count&lt;/code&gt;，单条 DIMM 的 CE 数量 &amp;gt;10 即告警&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;iDRAC 告警集成&lt;/strong&gt;：将 Dell iDRAC 的 SNMP Trap 接入监控系统，硬件可纠正错误立即触发&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;定期硬件巡检&lt;/strong&gt;：每季度对所有服务器的 SEL 日志和 ECC 统计做一次全面巡检&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;建立硬件故障响应流程&lt;/strong&gt;：CE 告警 → 24 小时内确认 → 48 小时内安排更换窗口&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;关键服务冗余&lt;/strong&gt;：MySQL 主库升级为主从架构，让单机故障不至于导致完全不可用&lt;/li&gt;&#xA;&lt;/ol&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;硬件故障不是&amp;quot;会不会发生&amp;quot;的问题，而是&amp;quot;什么时候发生&amp;quot;的问题。ECC 内存的可纠正错误（CE）是硬件健康的&amp;quot;矿工金丝雀&amp;quot;——当它开始频繁出现时，意味着那条内存条离彻底损坏不远了。这次故障的教训不是 ECC 不够强，而是 CE 的 edac 日志沉默了一整周而没有人关注。在运维中，比监控&amp;quot;已经宕机&amp;quot;更重要的是监控&amp;quot;即将宕机&amp;quot;的信号。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
