如果分区损坏,自动重新创建分区

如果分区损坏,自动重新创建分区

我打算将 Ubuntu 嵌入到嵌入式设备上。我结合使用 aufs 和只读根目录来确保我的根文件系统不会损坏。但是,我希望能够存储日志,因此我为 制作了一个特殊的 rw 分区/var/log。该设备将经历数百次断电事件。

如果由于电源故障导致分区损坏,我希望系统能够正常工作。我希望分区在损坏时自动重新格式化。有没有简单的方法可以配置它?

答案1

fsck使用一组指定无用户交互的选项运行。测试其返回值看看它是否可以修复文件系统:如果没有错误,则返回值为 0;如果有可纠正的错误,则返回值为 1;如果发生了错误,则返回值会更大。例如,对于 ext[234],运行e2fsck -p

e2fsck -p /dev/disk/by-label/logs
if [ $? -ge 1 ]; then
  mke2fs -L logs /dev/disk/by-label/logs
fi

如果您的运行环境允许,请考虑通过网络登录(您需要 IP 连接)。即使 Busybox 也可以做到这一点:

syslogd -R logserver
klogd

在日志服务器上,监听 UDP 端口 514。您可以将所有内容转储到文件中,也可以在每一行添加来源和日期戳,还可以在本地运行 syslog。

答案2

只需使用不会因电源故障而损坏的文件系统,例如 ext3 或 4。

相关内容