当系统(硬件)没有针对突然断电(完全断电)的保护措施时,最好的方法是什么,可以将对正在运行的 GNU/Linux 可能发生的损害降至最低?
我目前想到的是:
- 选择正确的文件系统,也许因为日志记录而使用 ext4,但我不知道这是否是最好的选择,尤其是在 SD 卡上。
- 选择正确的安装选项例如立即写入磁盘而不是将其缓存在内存中(我不知道如何做到这一点)
- 保持系统服务最低限度,特别是那些有大量磁盘访问权限的人,也许禁用日志记录
- 安装
/tmp
为临时文件
这些措施是好是坏?或者你知道如何进一步降低断电情况下发生故障的可能性吗?(我只谈论软件方面的做法,而不是硬件方面的做法)
编辑:
可能的挂载选项sync
包括dirsync
答案1
即使系统强大,你也会丢失数据。这只是时间问题。所以你应该做的第一件事就是设置备份软件。
备份完成后,您可以开始调整。有一个很好的文件系统,专门为闪存设计 - F2FS。使用它来存储您的数据(/home、/media 等)。您还可以设置只读根分区。没有日志的 ext2 或 ext3/ext4 是 / 的最佳选择。
正如您在问题中提到的,tmpfs 是 /tmp 以及任何其他地方(如 /var/run、/var/lock 等)的理想选择。
同步,dirsync 会影响 SD 卡的性能和寿命。你可以改用 noatime 和/或调整 /proc/sys/vm增加磁盘刷新频率。
禁用未使用的服务尤其是日志记录也会减少磁盘写入。iotop将帮助您识别它们。