一次糟心的内存升级

过年前,经历了「当网管」近二十年来,最麻烦的一次维护。问题最后通过硬件更换解决了,但原因一直不明,只能先记录下来。

起因是公司购买的 DELL PowerEdge T440 立式服务器(Xeon Silver 4210R 2 + 8G 4)内存捉襟见肘,在通过虚拟机软件分出来四五个虚拟机之后,经常出现由于内存耗尽,虚拟机自动关机的问题(因为宿主系统也需要占用内存)。所以到 JD 上买了两条 16G 内存,打算一颗 CPU 加一条16G,每颗形成 8G * 2 + 16G 的混合模式。

内存到货,立刻开始安装。首先关机——这里出现了第一只黑乌鸦:关了 5-10 分钟,宿主机迟迟无法关机完成。于是只能手工拔电——至于为什么没有长按开关来合法强关,只能说自己当时脑子抽了。关机后,打开机箱,在 A4 和 B4 插槽位分别插上新内存条,插电开机,没有反应。重新把内存查到 A3 和 B3 插槽,检查其他连线正常,插电开机,还是没有反应。在排查期间,由于心里着急,头上甩出了一滴汗,不知道飞去了哪里,在主板上看了一圈也没找到汗滴。

「也许是内存条有问题」,拔下新内存条,还原所有配置,插电,还是无法启动,只有 iDRAC 维护系统亮灯。在服务器卖家的技术支持下,下载了 iDRAC 的日志,里面除了显示有电缆断开(当然会断开,因为强行拔电了),还有 CPU0 报告电压异常。

在接下来的时间里,服务器卖家呼叫戴尔技术支持,官方支持免费更换了主板、PSU 电源后,仍然无法启动。服务器卖家亲自来维修免费更换了 两颗 CPU 并发现原装的 8G 内存也坏了两条,做了更换。到了这里,硬件基本回到了初始状态,可以正常开机,但无论如何都进不去系统,提示引导区错误。

「曹,里面有内部业务平台的工具,最关键的是工具的最新代码还没有在 git 上存档」。用主板上 RAID 芯片做的软 RAID-1 也完全没有起到 RAID 的作用。于是战战兢兢地抱着硬盘跑去华强北找数据恢复,1800 块钱外加一个周末,硬盘没坏,数据找回。

找回了数据,打算在服务器上重做系统。插上新内存条,硬件配置为 4210R + 16G 2 和 4210R + 8G 4 的方式(因为戴尔售后支持说单 CPU 不要混插,虽然我觉得很奇怪,因为双 CPU 不同的内存配置在软件做虚拟机的时候,难道问题不会更大吗?),系统识别出一共 64G,可用 48G 内存,有一条 16G 有问题。做内存测试只能测试 48G,通过。

于是截图+说明给 JD 卖家,更换了一条 16G 内存。内存卖家态度也很好,接受了更换请求(谁让你包装上写着五年包换)。收到新内存,插上机器,64G 终于全部识别。

至此,花了接近三个星期,一个简单的内存升级终于搞完了。

回顾整个过程,整件事情最可能的起因,就是那一次强行拔电,或者在拔电后第一次安装新内存时发生放电(因为三条内存损坏),或者那一滴可能滴到主板上的汗珠恰好发生了短路。由于这几种可能的原因,付出了一块主板,一个电源,两个 CPU,两条原厂内存,一条新购内存,一次高价数据恢复的代价。

不过 DELL 的服务器也有几个奇葩的特点:断电之后可能主板仍然有电,因此断电后需要等一段时间主板电容的电漏光之后,新的硬件配置才可能有效。另外,主板软 RAID-1 在突然断电后丢失硬盘数据也是万万没想到——那 RAID-1 的意义在哪?即便是发生了某些特殊放电,两颗 CPU 的损坏更是第一次让我知道原来 CPU 还能因为主板而损坏——那三条内存的损坏也极有可能与主板有关。

教训:

  • 以后买物理服务器,配置一次搞定,别想着省钱自己之后升级,贵有贵的道理
  • 能用云服务解决的,就别买物理服务器,维护精力消耗不起
  • 真要买服务器,一定要买新品带支持的。坏这么一次,除了机箱之外,硬件几乎从头到脚换了一遍,自己要修的话就坑大了
  • 板载 RAID 不靠谱,要 RAID 就用硬 RAID 卡
  • Ubuntu 自带的 Virtual Machine Manager 建多虚拟机实例的可靠性堪忧,远赶不上 EXSi,求稳定的话别用
  • 术业有专攻,别把自己三脚猫的网管手艺拿到生产环境上操练
Comments
Write a Comment
'