SBH — 存储压力专家
SBH 提供磁盘压力状态、压舱物、扫描和恢复命令。此技能收集证据并仅执行调用方授权的显式操作。其授权操作可能删除文件并更改主机存储配置,因此未经调用方明确授权,不会执行任何变更操作。以下命令基于 sbh 0.4.27 版本;在依赖具体标志前,请先在另一台主机上通过 sbh --version 重新验证。
基于证据的恢复之所以有效,是因为磁盘压力存在成本低廉的可逆解决方案和成本高昂的不可逆解决方案;而事实基线正是区分二者的依据,且此过程发生在任何删除操作之前。按不可逆程度排序补救措施:首先执行状态检查和空运行,接着释放压舱物,然后清理未受保护的文件,最后执行紧急删除——切勿在仍有更可逆步骤未尝试时跳过顺序直接操作。
命名的故障模式——错误挂载点释放:在非受限挂载点的文件系统上回收千兆字节空间,却宣称压力已解决。
反模式:因压力严重而直接升级到 emergency --yes。纠正措施:紧迫性只会增加不可逆错误的代价;它永远不会降低授权门槛或上述排序要求。
约束
- 以
sbh --json status、sbh check或在确切挂载点上执行空运行开始恢复操作,因为恢复决策需要事实基线。 - 未经显式授权,绝不执行
clean --yes、emergency --yes、压舱物释放、tune --apply、unprotect或服务/配置更改,因为这些操作会变更主机状态。 - 保留
.git/、打开文件、年轻文件、非可写父目录和.sbh-protect的否决权,因为它们可防止不安全或无效的清理。 - 确认压舱物或回收的字节数影响受限挂载点,因为另一个文件系统上的可用空间无法解决当前压力。
- 每次执行一个操作、收集前后证据、然后停止,因为后续任何变更操作由调用方负责。负面结果会返回给调用方;此技能不会重试或升级处理。
输出
返回:挂载点、可用字节数、压力状态、空运行候选文件、使用的授权、确切命令及退出码、回收的字节数、保护否决项、以及已检查/未检查的空间。
完整命令文档:https://github.com/Dicklesworthstone/storage_ballast_helper