语境
我正在运行一个带有 microSD 的树莓派零,因为它是设计的。但是,对于这个特定的应用程序,我无法像通常使用树莓派那样使用只读系统。
客观的
密切关注 microSD 的健康状态(并最终以某种方式收到通知,表明需要更换 microSD)。
问题
- 监控 microSD 健康状态的最佳方法是什么(否,
fsck
因为我无法在系统运行时卸载 microSD); - 就实用性和有效性而言,以下提出的方法是否是最佳解决方案?
提议的方法
我想使用badblocks
输出来监视 microSD 的状态,并最终在适当的时候更换它。但什么时候该更换 microSD 呢?多少个坏块算太多?我应该查看写入错误或读取错误还是两者都查看?
我做了以下考虑:microsd 卡会自动重新分配坏块之外的数据。因此,如果 microSD 已满 80%,则有 20% 的块可能会“变坏”,但仍可保持 microSD 运行。添加一点置信区间,我们是否可以说,如果badblocks
输出的坏块数量低于空闲空间块的 50%,那么使用 SD 卡仍然是安全的?
澄清:
- 区块总数:100
- 可用空间(以块为单位):20
- 接受损坏的块的最大数量(或其他):10