宁可显示「不知道」:R730xd 风扇控制台 v0.4.1

上一篇介绍 r730xd-fan-control 的时候,它还只是「能看温度、能调速、能一键恢复自动温控」。一个月过去,Web 版做到了 v0.4.1,已经通过正式的离线 installer 跑在家里的 OpenWrt 路由器上。

功能上的变化一句话说得完:遥测历史落到 SQLite,容器重启不再清零,趋势可以看 5 分钟到 24 小时;桌面版和 Web 版统一成近黑单色界面,颜色只用来表示报警,琥珀是 warning,红是 critical,其余地方一点饱和色都不留。

真正值得写下来的是另外三件事。它们指向同一个判断:一个运维界面显示错的数字,比显示「读不到」要糟糕得多。

第一件是功耗页上的 0 W。iDRAC 的 Redfish 接口有一组 PowerMetrics 字段,本该给出平均、最小、最大功耗,但这台 R730xd 的 iDRAC8 返回的是一串全零。界面老老实实把它画了出来,于是首页写着「平均 0 W」——而同一个页面的实时读数是 133 W。两个数字都来自同一台机器,同时挂在屏幕上互相打脸。

修法不是去猜一个合理值填进去,而是把这三个无效字段直接从下发数据里删掉,改用本地已经存下来的历史样本自己算,并且在旁边写清楚它是怎么来的:「按当前趋势区间(5 分钟)的 11 个图表样本计算 · iDRAC 未提供有效数值」。数字变成了 131.6 / 129 / 134 W,更重要的是读它的人知道这是谁算的、基于几个样本。

第二件是完整 SDR 扫描。ipmitool 1.8.19 在这台 iDRAC8 2.70 上读到一半会 SIGSEGV 直接崩掉。可选的做法有三种:假装成功、整个报失败、或者保留崩溃前已经拿到的 83 条并明确标成 partial。选了第三种,但界面上必须写明它是部分结果——因为「83 条传感器数据」和「这台机器有 83 个传感器」是完全不同的两句话,前者有用,后者是谎。至今这条路还没走通,扫描仍然只能给部分数据,项目文档里也就这么写着,没有升级成「已支持完整扫描」。

第三件是我自己判断错了。部署几次之后路由器的 overlay 空间从 358 MB 掉到 276 MB,我认定是每次升级留下的 rollback 镜像标签堆积,还把这个结论写进了证据记录。后来动手删掉 5 个标签,实测可用空间从 276.4 MB 变成 276.9 MB——几乎没动。原因很简单:那些是指向同一批镜像的标签,不是独立镜像,解标签当然不释放空间。真正吃掉那 80 MB 的是「在目标机上原生构建」这条路线本身,构建必然拉取基础镜像并留下它的层。

于是回去把原来那条结论标成「归因错误」,另起一条写清楚正确的解释和实测数据,旧的一行不删。留着它,是因为下次再遇到类似现象时,「我曾经这样猜过而且猜错了」比一条干净的正确答案更有价值。顺带一提,同一轮清理里 /tmp 从 205.8 MB 降到 2.9 MB,而路由器上的 /tmp 是 tmpfs——那 200 MB 一直占的是内存。

这三件事没有一件是新功能。但一个长期挂在屏幕上的运维工具,可信度就是从这些地方一点点攒起来或者漏掉的。工具敢说「我不知道」,人才敢信它说「一切正常」。

项目源码、Windows GUI、OpenWrt Docker 部署说明都在:

https://github.com/mi179/r730xd-fan-control

R730xd 风扇控制台:把温度、噪音和回滚放到同一个界面里

Dell R730xd 放在桌面或家里,性能和盘位都很能打,但风扇策略通常不太讲情面:安静时也可能吵,想手动降速时又容易把温度和风险一起带进来。

新开的 r730xd-fan-control 是一套给 R730xd 用的风扇控制台,把常用的监控、调速和恢复操作收进了一个项目里。

Windows 桌面版负责日常操作:查看温度、风扇 RPM、功耗和 SDR 状态;需要固定转速前,必须先解除安全联锁并关闭自动温控;任何时候都可以一键恢复 iDRAC 自动温控。密码只留在当前 GUI 进程内存中,调用 ipmitool -E 时也不会把密码带进命令参数或日志。

项目还带了一个面向 OpenWrt Docker 的手机 Web 版。它更适合放在内网里随手看状态:访客可以查看温度、功耗、风扇转速和短期趋势;涉及调速和管理时,仍需要 iDRAC 凭据。

这里最重要的不是“把风扇拉低”,而是保留退路。固定低转速会削弱服务器原本的自动保护,第一次使用前应先确认温度监控正常,并记住“恢复自动温控”在哪里。这个工具的意义,是把这件事从一串临时命令变成可看、可控、可回滚的日常运维操作。

项目源码、Windows GUI、OpenWrt Docker 离线安装和开发说明都在:

https://github.com/mi179/r730xd-fan-control

后续进展见 宁可显示「不知道」:R730xd 风扇控制台 v0.4.1。

CampusNet Guard:校园网自动重连工具

CampusNet Guard 是一个给校园网认证环境用的小工具,主要解决一个很具体的问题:电脑、实验室工位、NAS 或小主机断网后,自动用你自己的账号重新完成认证。

它不是破解工具,也不用于绕过学校或运营商的限制。它做的是把原本需要手动打开认证页、选择运营商、输入账号密码的流程,整理成更适合普通用户使用的图形界面和轻量命令行。

目前更推荐普通 Windows 用户直接看产品官网,那里有下载入口、快速使用说明、国内备用下载和免责声明。

产品官网:

https://campusnet.journeymind.blog

项目源码:

https://github.com/mi179/campusnet-guard

如果你只是想使用它,不需要先读完项目文档。打开官网,下载 Windows 压缩包,解压后先看 0-先看我-使用说明.txt,再双击 1-点我启动-校园网守护.exe 就可以开始。

后续这个工具会继续围绕一个方向迭代:让校园网认证这件小事尽量无感、稳定、少打扰。

Hello, Serverless

大本营正式迁移至云端。本地物理机解绑,全面拥抱 Cloudflare Pages 全球节点分发。

这是 JourneyMind 的第一篇纯静态战报。后面会把个人项目、VPS 折腾、Cloudflare 实践和自动化工作流慢慢整理到这里。