机房里的老伙计又亮了黄灯,不用问,多半是那台 Dell PowerEdge R720。这台机器在二手市场和企业机房里保有量极大,稳定是稳定,但开机报错、液晶屏上滚动的错误代码,能把没经验的朋友看得一头雾水。这篇文章专门写给维护 R720 的朋友,从错误代码怎么读、怎么看日志,到常见的报错处理,全部按实际运维经验来讲,希望能帮你少走点弯路。
R720 是戴尔 12G 代服务器里的经典型号,用的是 E5-2600 系列 CPU,支持到 512GB 以上内存,配上 PERC H710/H710P 阵列卡,在中小型企业的虚拟化、文件存储、数据库场景里服役的非常多。机器老了,各种硬件告警就跟着来了,我平时接到的服务器维护需求里,大概有三成是和 R720 错误代码相关的。很多朋友一看到液晶面板上出现一串以 E 或 M 开头的代码就慌,其实这些代码是有规律可循的,只要你掌握了几个查看入口和代码归类,大部分问题都能自己定位清楚。
1. 错误代码从哪里看,这才是第一步
1.1 开机自检时的液晶屏和面板状态
R720 前面板有一块小液晶屏,平时显示机器名或 IP,一旦有硬件故障,就会滚动显示错误代码,比如E171F、E1618、M1006。开机自检 POST 阶段如果遇到严重问题,液晶屏会直接卡在错误代码上,机器可能进不了系统,或者反复重启。这时候你千万别急着拔电源,先拿手机把液晶屏上滚动的代码录下来,后面查手册全靠它。
另外,前面板上还有几个状态 LED 灯,分别是电源、硬盘、温度、内存、风扇等。如果某个子系统有问题,对应的 LED 会亮琥珀色。液晶屏上的代码是宏观信息,LED 灯能帮你快速锁定是哪个部分,比如内存 LED 亮了,那大概率是内存条或内存供电出了问题。
1.2 进不去系统时,iDRAC 日志是救命稻草
很多时候错误代码是间歇性的,液晶屏上闪一下就过去了,你根本来不及记。这时候就要用 iDRAC 的管理口了。R720 默认的 iDRAC 管理口在机器背面,是一个单独的千兆网口,旁边写着iDRAC,默认 IP 通常是192.168.0.120,子网掩码255.255.255.0。把电脑网卡配成同一网段,浏览器访问这个 IP 就能进入 iDRAC 管理界面,默认账号是root,初始密码是calvin。
进入 iDRAC 后,从左侧菜单找到“系统” -> “日志”,里面能看到完整的事件日志,包括电源、温度、电压、内存纠错、PCIe 报错等等。每条日志都有时间戳,有严重级别标识,还有对应的错误代码。比你在液晶屏前面蹲半天管用多了。如果机器能正常开机,也可以在系统里装 OpenManage Server Administrator(OMSA),通过操作系统读取同样的硬件日志,效果一样。
1.3 液晶屏代码和日志代码的区别
这里得说个容易混淆的点:液晶屏上的代码一般是面向最终用户的缩写,比如E171F是 PCIe 卡故障,M1006是内存配置无效。而进入 iDRAC 日志或者用命令查看时,往往能看到更详细的内部事件代码,比如UEFI0078、PCI1370这种。两者的归类逻辑不一样,排查的时候要以 iDRAC 日志里的完整信息为准,液晶屏代码只用来做初步判断。我见过有人只盯着液晶屏代码去查,结果查了半天发现是某个不太相关的 PCIe 卡导致的问题,所以两个入口都要会看。
2. 常见错误代码的含义与处理,直接抄作业
2.1 先看代码首字母,快速定位子系统
R720 的错误代码并不是乱编的,它的首字母就代表着子系统,很多朋友不知道这一点,看到代码就慌。实际运维中我习惯先看首字母,能把范围缩得很小:
| 代码前缀 | 对应的子系统 | 典型示例 |
|---|---|---|
| E 开头 | 电源、散热、机箱环境 | E171F、E1618、E1000 系列 |
| M 开头 | 主板、内存、CPU、PCIe | M1006、M1014、M2000 系列 |
| W 开头 | 硬盘、背板、RAID 卡 | W1228、W1639 |
| U 开头 | BIOS/UEFI 相关的配置错误 | UEFI0078 |
| S 开头 | 系统事件、安全、入侵检测 | S1002 |
当然这不绝对,但大部分情况符合。先按首字母把范围缩小到子系统,再结合具体代码去查对应手册,效率会高很多。我电脑里常年存着 R720 的硬件参考手册 PDF,遇到陌生代码直接搜索,比上网乱找靠谱。
2.2 M 开头:内存和 CPU 相关的错误
M 开头的错误里,出现频率最高的是内存相关代码。比如M1006,意思是系统检测到内存配置无效,常见原因是内存插槽顺序错误、混插了不同规格的内存条,或者是内存条没插紧。R720 的内存插法是有讲究的,每个 CPU 对应一组内存插槽,而且要先插蓝色插槽,再插黑色插槽,具体顺序查手册里的内存插槽映射图。
另一个常见的M1014是内存条出现不可纠正错误,这种往往是内存条本身坏了,或者插槽金手指氧化导致接触不良。处理办法是先关机断电,把所有内存条拔下来,用橡皮擦擦一下金手指,重新插紧。如果还是报错,那就一根一根排除,哪根内存拔掉后错误消失,就是哪根的问题。这方法老套但绝对有效,我在处理内存故障时至少七成靠这个方案解决。
CPU 相关的 M 开头错误相对少,比如M2000系列可能是 CPU 电源、CPU 温度、CPU 配置问题。R720 开机自检时如果提示CPU configuration error,先检查 CPU 数量匹配、散热器安装是否牢固。遇到 CPU 故障,我个人的建议是直接换整块 CPU 或主板,因为服务器 CPU 出问题的概率低,一旦出了问题,往往是主板供电或 CPU 插槽的问题,排查成本很高。
2.3 E 开头:电源和散热的警报
E 开头常见的如E171F,是 PCIe 卡故障或 PCIe 链路问题,R720 的 PCIe 槽比较多,插了 GPU、HBA 卡、网卡的机器很容易碰到。碰到这类告警,先把对应的 PCIe 卡拔下来,清理金手指和插槽,重新插回去试试。如果还是报错,很可能卡本身坏了,或者主板的 PCIe 插槽物理损坏。
散热相关的E1618,意思是风扇故障或转速过低。R720 机箱里一共有六个或更多风扇,任何一个风扇转速异常,面板上立马会亮灯。处理这类错误要先看看是不是灰尘太厚导致风扇卡滞,用气枪吹干净之后如果转速恢复正常,代码会自动消掉。如果某个风扇彻底不转了,买原装或者兼容风扇换上就行,要注意 R720 的风扇有不同规格代次,换的时候尽量选同型号同转速的,混插可能导致 BIOS 报风扇配置错。
电源相关的 E 代码,比如E1000系列,提示的是电源模块故障或者电源不能正常工作。R720 是双电源冗余设计,如果其中一个电源坏了,面板上对应电源的 LED 会不亮,iDRAC 日志里也会记录电源丢失事件。这种直接换电源模块,网上拆机的兼容电源很便宜,但我的建议是优先找原装拆机的,反而更稳定。
2.4 W 开头:硬盘和阵列卡的错误
W 开头的代码里,最常见的是W1228,意思是 RAID 控制器上的电池(BBU)故障,或者 RAID 卡缓存策略被降级为 Write Through。这个问题在 R720 上几乎是通病,因为 BBU 电池寿命一般是 2 到 3 年,时间一长就会衰减到无法保持缓存数据。如果日志里看到这个代码,硬盘读写还正常,但性能明显下降,多半就是 RAID 缓存失效了。
处理办法是更换 RAID 卡上的电池模块,H710P 的电池模块是独立小板,网上几十块钱一个,拆装都挺简单。换完之后进 RAID 卡的 BIOS 界面(开机按Ctrl + R),在控制器管理里执行一次电池重新学习(Learn Cycle),让电池容量重新标定。这里要提醒大家,BBU 老化后如果不及时换,RAID 卡可能在某次断电重启后报告元数据错误,到时候就麻烦了,别问我怎么知道的。
硬盘相关的 W 错误代码,比如硬盘 Predictive Failure(预测故障),iDRAC 日志里能看到具体是哪块盘报警。R720 的硬盘托架上也有 LED,闪烁琥珀色就是该盘有问题。处理这种问题,常规操作是在阵列卡管理界面确认是哪个虚拟磁盘上的哪块物理盘,然后热插拔更换。这里必须强调一个禁忌,一定要确认是哪块盘,千万别拔错了。我踩过这个坑,拔错盘导致阵列降级,重建数据花了一整晚。
3. 实操案例,这样一步步把故障揪出来
3.1 案例一:反复重启,液晶屏提示 M1006
我前阵子处理过一台 R720,故障现象是机器开机十来秒就自动断电重启,前面板液晶屏显示M1006,连 POST 都过不去。第一次遇到这种问题的朋友很容易急,其实思路理清楚就不难。
首先确认这是内存配置类错误,先把机器断电,拔掉电源线,打开机箱盖。把 CPU 对应的内存插槽梳理了一遍,发现这台机器一共装了 8 根 16GB 内存条,但插法比较乱,有一根插在了黑色插槽里,而本应该按从蓝到黑的顺序插。我把所有内存拔下来,按手册里的映射顺序重新插了一遍,再开机,还是报 M1006。
我意识到不是插法问题,于是用排除法,只保留一根内存,插在 A1 插槽(CPU1 的蓝色第一个槽),开机正常,再逐步增加内存条。结果加到第三根时,报错了。拿万用表测量了一下那根内存的金手指,确认有一小片污渍,用橡皮擦擦净后再开机,故障消失。这个问题前后花了大半个小时,最终发现就是接触不良加插法混乱叠加造成的,也说明一个问题,老服务器尤其要注意插槽插法,不是插满就能用。
3.2 案例二:开机后阵列卡提示 Foreign Configuration
这台 R720 的问题是开机加载 PERC H710P 阵列卡时,屏幕提示Foreign Configuration Found,按 F 键可以导入,按 C 键继续,但就是进不了系统。故障原因是阵列卡曾经识别过另一组硬盘,拔插硬盘后组信息被保留了,没被正确清除。
处理方法是进入阵列卡配置界面(开机按Ctrl + R),在 VD Mgmt 菜单里找到 Foreign Config,选择 Clear 先清掉外部配置,然后再 Import。一般清掉之后再导入就能正常启动。如果 Clear 之后仍然识别不到虚拟磁盘,可能是 RAID 卡的信息和硬盘上的信息不一致,这时候需要用阵列卡工具(比如MegaCLI)做一次全量扫描和重同步。
这里要特别提示一下,别一看到 Foreign Config 就急着 Clear,有些情况下这是你的虚拟磁盘组元数据残留,Clear 是安全的,但如果你有多个虚拟磁盘组,最好先拍照记录原来的配置,再操作。清完之后系统如果还是进不去,还得检查启动顺序,R720 的 BIOS 里可以把 RAID 控制器加进去做启动项。
3.3 案例三:BIOS 更新报错 Unsupported Downgrade
有朋友会遇到更新 R720 BIOS 时提示BIOS Update blocked due to unsupported downgrade,意思是当前 BIOS 版本比你要刷的版本新,或者版本的验证规则不允许降级。这个在很多戴尔服务器上都常见,尤其是机器原来刷过很新版本的 BIOS,你拿了一个较老的 BIOS 想刷回去的时候。
解决办法是先确认当前 BIOS 版本。开机自检时按 F2 进入系统设置,在 BIOS Settings 里可以看到 System BIOS Version。如果你确实需要降级,戴尔的规则里允许用-forcetype或-forcereboot这类参数绕过检查。具体操作是在 Windows 下打开命令提示符,进入 BIOS 文件解压后的目录,执行类似BIOS_XXXXX_WIN64.EXE /forcetype=11的命令,其中 11 表示服务器平台。Linux 环境下可以用-f参数强制刷新。如果不会用命令行,也有老办法:把 BIOS 更新文件写入 U 盘启动盘,在 F12 启动菜单里选择刷新,部分版本会在刷新前给你一个是否忽略版本校验的选项。
说实话,我不太建议为了降级去折腾 R720 的 BIOS,这台机器的新 BIOS 一般修了老 bug,也添加了新功能。除非你有特殊兼容性需求,比如要配合某个新出的硬盘或阵列卡,否则保持原版本稳定运行才是正道。
3.4 案例四:iDRAC 页面打不开,面板只有 IP 地址
还有一个很常见的情况,机器面板显示了一个 IP 地址,但同一网段的电脑浏览器却打不开 iDRAC 管理页面。这种问题一般不是 iDRAC 坏了,而是管理口被网管配置成了某个不可达的网段,或者 iDRAC 的 IP 被重置了。
处理方法是重启 iDRAC。最简单的方式是开机状态下用螺丝刀顶着前面板上的 i 按钮,按住超过 15 秒,直到风扇狂转一下,iDRAC 就重置了。重置之后 IP 会恢复成默认的192.168.0.120,用户名密码也会重置为默认值。要是还不行,把机器关机断电,按住 i 按钮的同时接上电源,等 30 秒再放开,这是硬重置方法。重置完之后一定要第一时间进 iDRAC 改默认密码,别用calvin裸奔,机房里的网络环境不像你想的那么安全。
4. 排查错误代码时要避开的坑
4.1 别只看液晶屏代码,而忽略 iDRAC 日志
前面说过液晶屏代码是简写,你看到E171F只知道是 PCIe 故障,但不知道是哪个槽位的卡出了问题。iDRAC 日志里会详细记录物理槽位、设备类型、厂商 ID 等信息。遇到报错先去 iDRAC 日志里拉一遍,看代码出现的频率和时间是否和某次硬件操作有关,比如刚插了卡、刚换了硬盘。排查老服务器要有一个意识:机器不会无缘无故报错,一定有什么诱因,回忆一下最近做了什么操作很重要。
4.2 别急着拔盘,先看 RAID 卡状态
W 开头的错误里,硬盘预测故障只是第一步,它的真正麻烦在于如果同时有多块盘亮灯,你就得考虑是不是背板供电问题,或者 RAID 卡本身有问题了。我的经验是,看到硬盘类告警,第一时间用 Dell OpenManage 或者阵列卡命令行工具查看物理盘状态,确认 SMART 信息和错误计数,再决定换不换盘。别只看到面板上有一块盘报警就直接拔了,如果是背板接口问题,换了新盘插上去一样报警,反而白白耗费人力物力。
4.3 别图便宜乱买配件
R720 是 12G 时代的机器,二手配件市场上鱼龙混杂,特别是电源、风扇、内存、BBU 这些模块。我见过有人买了非原装的冗余电源,装上去之后开机直接报E1000错误,因为机器检测不到电源模块的必要信息。内存条也一样,R720 对内存的兼容性要求不算苛刻,但混插 REG ECC 和无缓冲 ECC 内存,肯定报错。采购老服务器配件,认准原装拆机件,或者大品牌的兼容件,价格虽贵一点,但至少省心。
4.4 注意温度对错误代码的影响
夏季机房温度一高,R720 的风扇转速会上去,这是正常现象。但如果同一时间出现E1618和其他散热告警,先测一下进风温度和环境温度,看看是不是空调故障或者风道堵塞。不要在高温状态下反复拔插硬件排查错误代码,高温会扩大故障范围,甚至导致内存、CPU 虚焊。处理硬件时报错,尽量把机器安排到温度可控的环境再操作,这是我的原则。
5. R720 错误代码快速排查速查表
这段时间忙下来,我整理了一张 R720 错误代码的速查表,适合贴在你的运维笔记里,遇到报错直接对照初步定位。这不是官方文档的翻译,而是基于实际维修场景的归类,供参考:
| 错误代码前缀与常见码 | 含义 | 优先处理动作 |
|---|---|---|
| M1006 | 内存配置无效 | 检查插法、单根排除、清金手指 |
| M1014 | 内存不可纠正错误 | 更换故障内存条 |
| M2000 系列 | CPU 配置或电源异常 | 检查 CPU、电源模块 |
| E171F | PCIe 卡故障 | 重新插拔扩展卡、换槽位测试 |
| E1618 | 风扇故障或转速异常 | 清灰、换风扇 |
| E1000 系列 | 电源模块问题 | 更换电源模块 |
| W1228 | RAID 缓存电池故障 | 换 BBU、执行 Learn Cycle |
| W 系列硬盘告警 | 硬盘预测故障 | 确认物理盘位置、换盘重建 |
| Foreign Config | RAID 外部配置 | 进 Ctrl + R 清外部配置再导入 |
| UEFI0078 | UEFI 启动配置错误 | 检查启动模式、清 NVRAM |
| Unsupported Downgrade | BIOS 降级被拒 | 用 /forcetype 参数强刷或放弃降级 |
这张表里的内容,你照着处理,至少能把 90% 的 R720 常规告警解决掉。剩下 10% 的疑难杂症,建议直接联系戴尔支持,手上保留好 iDRAC 里的日志截图和代码信息,能省很多沟通时间。
另外提一句,R720 这台机器虽然老,但很多朋友拿它做虚拟化宿主机,装 ESXi 或者 Proxmox VE 都非常合适。做虚拟化之前,我建议先把 BIOS 和 iDRAC 固件升到比较新的稳定版,再把 RAID 卡模式调成直通或 RAID 0/1,根据你的存储方案选择。虚拟化环境下遇到错误代码,处理思路和物理机是一样的,重点看内存和 RAID 卡,这两个地方告警最多,也最容易影响业务。
我个人做这行这么多年,遇到老服务器报错,心态反而越来越稳。R720 的报错本质上是硬件在告诉你某个部件寿命到了或者接触不良了,它没有隐藏行踪,只要你顺着日志和代码一层层查下去,问题往往没有想象中复杂。别被一堆代码吓住,先把工具用好,把日志读明白,剩下的事情就是按部就班地换件、插回、测试。
最后分享一个老运维的习惯:每台服务器建一个专门的文本文件,记下它的硬件配置、BIOS 版本、iDRAC IP、更换过的配件时间和型号。遇到错误代码时,先查这份记录,很多答案都能在里面找到。这个习惯帮我解决过不少问题,省下了大量重复排查的时间。