书接上回, 我 暴打了我们 4090 48G 服务器的 BMC. 之后, 我觉得不爽, 凭什么我没法控制机箱的 GPU 风扇? 而且, 凭什么这垃圾 BMC 的 SSH 有 sysadmin 登录可以执行 shell 命令, 而我在系统里却只能憋屈地用 ipmitool 里面的一大坨? 这太气人了! 于是乎, 我让 Agent 整了点大活, 认真调教了一下服务器的风扇.

课题组去年还是前年购买了两台 8 卡 4090 48G 服务器, 在过去的一年里面可谓是故障不断. 之前我一直没有使用卡的需求, 所以说也并不关心; 但是最近我导想推进在外网的本地部署模型, 觉得上半年我让买的 Spark 太慢了满足不了科研需求. 因此这几天折腾了一下.

本文会涵盖硬件配置和调试, 暴打 BMC, 乱改 BIOS, 魔改 NVIDIA 驱动等抽象行为, 请谨慎观看.

前两天我的服务器突然下线了, 但是 BMC 还在. 我本来以为他就以某些奇怪的方式死机了, 于是决定直接重启. 结果重启之后服务器音信全无, 进入 SOL 发现, BIOS 挂掉了. 考虑到当天我用 fwupdmgr 升级了服务器的 UEFI CA, 我以为是升级干烂了 BIOS. 于是请了 dolphin 先生专家号来重新刷固件. 没想到折腾了半天最后发现是我新买回来的二手九九新 SSD 干掉了我的 BIOS, 实在没绷住, 故作此.

这两天我顶着毕设中期的事情, 在某人的怂恿下重装了我的台式机, 把 3 年多的 Linux Mint 给扬了 (它实在是太脏了… 里面是沉重的历史x). 我当时确信我备份过数据, 于是把我的数据盘都格式化了, 重新组了 RAIDz1. 前天我要找东西的时候, 突然发现, 我的备份机器上缺少一些 zfs dataset. 我的备份呢?

于是前天我四处翻找, 最终恢复了大概 2025 年 5 月之前和 2025 年 11 月之后的大部分数据. 我甚至不知道我是否丢了数据 / 丢了多少数据 — 我完全不记得那个加密的 dataset 里面有什么了. 于是就有了这个事故复盘让大家笑一笑.

Recently I discovered that my server has a hardware watchdog. I investigated a bit and found that it is actually quite common for servers / routers to have a hardware watchdog exposed. You SHOULD enable it if you have one, especially when you are remote and cannot easily access the machine.

转眼间, 距离 因为科协的事情破防 emo 已经快一年的时间了. 我们的下一届也快完成使命, 要寻找下一届的主席了. 这一年里… 说来可笑, 我的感觉是开发的工作还是老登和 落选主席 wst 在干, 我把运维的重任丢给了下一届副主席, 好在没有太让我失望 (其实也没什么运维的活) (其实说要干的饼也没有人推动, 都停留在饼上). 马上又要提名新一任主席了, 我倒是想看看下一届会是什么样子.

最近手痒想换服务器, 本来想二代 EPYC, 可惜太贵; 当时找到了比较便宜的是 HR650M, 但是没有 Riser 卡, 比较鸡肋, 然后就发现了 HR650X, 可以装一二代可拓展至强. 鉴于价格还行, 不如我手机贵, 我决定买一台解决我没有服务器用而一直把台式机当半个服务器又不太好用的问题. (主要是我的台式机的系统太混乱了我又不敢重装, 把服务器配好之后我一定要给我台式机扬了)

于是我就折腾了几天, 当然, 这个折腾还是很折腾的 (x). 这里记录一下过程.

多图警告

If you are running ESXi on Dell 12th or 13th generation servers, you might want to check the SMART status of your drives to monitor their health. For me, it’s when one of the RAID5 drives failed, and I wonder whether the other drives could fail soon. However, the standard SMART tools won’t work. After some investigation, I found a way to get the SMART raw data with perccli command.

TL, DR:

1
/opt/lsi/perccli/perccli64 /call/eall/sall show smart

This will print the raw SMART data in hex format. I haven’t found a good parser for this, just feed it to ChatGPT along with the drive model, and ask him to parse it for you.

Or, I asked CodeX to tailor smartctl to read from the hex blob and targets WASM. Try it yourself!

这周一, 我在更新交流群二维码的时候发现 app.cs.tsinghua.edu.cn (以下简称 app.) 502 了, 登录进去之后发现 Tinc VPN 出现了奇怪的问题, 遂进行了一些配置调整; 周三, 我校园卡没钱了, 用 APP 充值失败, 我发现又 502 了, 遂晚上调查, 发现多个 “无害” 更新共同作用, 产生了奇怪的后果: 我自己写的蜜罐封禁了我自己的 IP.

故逝是这样的… 昨天凌晨调试 SA5212M4 的阴间 BMC 到晚上一点, 困死了, 遂睡觉. 早上起来翻看邮件发现天塌了, Grafana 给我发了 10 封告警邮件. 放在 新系馆 的服务器上面所有服务都崩了. 我 连夜 用手机打开 iDRAC, 进去之后就看到了不幸的消息, Correctable memory error rate exceeded for DIMM_B10. 但是暑假老师们都放假了, 机房值班的老师比较忙, 我也在实习过程中抽不开身去机房. 于是我开始思考一个问题: 我能不能在不物理介入的情况下暂时解决这个问题呢?

技术

AMI Aptio UEFI BIOS Reversed
从 AjaxDB 到 AgentDB – 我如何用 Agent 写完了数据库系统概论大作业
Cloudflare Workers return 404 when accessing with browser, while 200 when with curl, why?
Migrating to Cloudflare Pages & Self-hosted LFS
Docker isn’t that great - Docker 的使用技巧和踩坑总结
Setting up Software Router for my Dorm
买了个机械键盘 - GANSS (高斯) GS3104T Pro on Linux (我 F1 炸了!)
GoAuthing 在 Windows 上维持校园网登录
如何获取 iDRAC 7 / 8 的 Enterprise License
在 HarmonyOS 上装 Google (资料汇总)
在 Linux 上通过 GDB 在命令行中获取微信消息
装 Arch Linux!
Network on Codelink - 帮算协折腾比赛用网
QLogic QL45xxx Firmware, OEM parts and Cross Flashing
QUICAP - A L2 mesh VPN built on QUIC (planned)
Scripting with QCAT - 到底是什么 nt 能写出这种玩意?
Networking Guide for 9# Roaming Guide
Network on Ninetune - A Quick Guide
THUPC 2025 - 全是锅, 但是没有出锅
Two Examples Tackling UsrMerge
进行网络测绘的方法与挑战
Upgrading Gitlab and Configuring OAuth2 Generic
给科服的企业微信助手 - 需求构思文档 - WIP
网课课件是好东西 - 雨课堂爬虫
1%