分类「运维手记」

运维手记

一次 bcache dirty 540G 脏数据事故的全景排查

是什么:一台 KVM 宿主的 bcache 脏数据最高冲到 540G+,长时间排不完,宿主 IO 持续劣化。为什么:多租户随机小写叠加 RAID6 的 RMW 写惩罚,持续入写(约 18MB/s)跑赢了底层 md0 的随机小写能力(约 1…

运维手记

12.4B 扇区 mismatch 与 --assume-clean 的伪 RAID0

这次排查的结论:冗余配置最完整的地方,实际没有冗余。一次常规存储排查,把一套运行已久的「双盘冗余」打回了原形。一台 KVM 宿主运行 md0 RAID6(12×7T LUN),上层为 bcache writeback + ext4,承载数…

运维手记

智简魔方面板授权机制逆向与离线化

是什么,为什么,怎么做 —— 从 /v1/clouds 接口的 7 秒卡顿,到授权链路的逆向还原,再到一套纯 PHP 的离线化修复免责声明:本文记录的是对自己拥有、被授权维护的系统进行的授权机制研究与修复,目标是消除性能故障、恢复面板可用…

运维手记

ThinkPHP 加密面板重装与全量解密替换记

记录智简魔方(ZJMF)云面板 3.9.14 的一次抢救式重装:重装原因、全量解密替换中的问题,以及最终收敛为一键离线包的过程。加密商业面板软件的源码上锁、行为不透明,出现故障后难以定位。本文记录一次「把壳剥开」的完整过程。一、为什么要重…

运维手记

用 Go + React/shadcn 写一个批量热迁移控制台

为什么造工具:382 台机器要搬两次家本次迁移涉及 382 台 VM、414 块磁盘:先把整批机器从 HDD 存储迁到 CEPH,底层工作完成后再迁回。面板自带迁移能力,操作流程为选机器、点开磁盘、挑目标存储、确认执行。机器数量在个位数时…