断电后 ubuntu 文件系统损坏?

2017-10-30 16:28:35 +08:00
 qqqasdwx

背景

我这边有一些设备,每天都要强制断电,有的时候就会出现无法进入系统的情况。

解决方案选择

  1. 预防
  2. 解决

问题

  1. 如果是预防的话,方案是将系统设置为只读,领导提供的方案是 Overlayroot,我没接触过,网上也没找到什么例子,有大神接触过的请不吝赐教,拜谢!
  2. 如果是解决的话,看了一下,用 fsck 应该是可以的,但是领导说系统都崩了,根本找不到 fsck 命令的,但我有点疑问,如果 fsck 是在系统启动之后才能运行的话,那设置/etc/default/rcS下的FSCKFIX = yes有什么用呢?

附加

不考虑 ups,设备多,成本太高

9585 次点击
所在节点    Linux
34 条回复
atz
2017-10-31 09:10:32 +08:00
支持楼上 ups,强制断电也会损耗电脑,还不如先关机别老想者用复杂的办法
doubleflower
2017-10-31 09:18:03 +08:00
@atz 损耗哪个部件?
qqqasdwx
2017-10-31 09:57:42 +08:00
@yingfengi 客户那边的需求 0.0 而且断电时间不定
qqqasdwx
2017-10-31 10:05:22 +08:00
@twl007 嗯,这方面也在考虑,但性能会受到一定的影响
qqqasdwx
2017-10-31 10:07:38 +08:00
@gwind 对啊,现在就发愁呢,只能在内存里少放数据
wxg4net
2017-10-31 10:13:10 +08:00
Overlayroot 方案不错
qqqasdwx
2017-10-31 10:15:26 +08:00
@wxg4net 嗯,看了一下,不难配置,就是更改系统设置的时候得从 grub 重新引导比较烦,有什么经验传授一下么大神
wxg4net
2017-10-31 10:16:55 +08:00
@wxg4net 但是仍然有问题需要处理。数据分区也可能断电损坏
qqqasdwx
2017-10-31 10:38:44 +08:00
@wxg4net 那就 overlayroot+开机自动 fsck ?
yingfengi
2017-10-31 11:04:55 +08:00
@qqqasdwx 极域可以联动关机,仅供参考
scofieldpeng
2017-10-31 11:24:10 +08:00
之前家里的上网本当 server 也遇到这个问题,不过好在有电池,于是写了个脚本,发现断电并且电量不够了自动关机,2333
qqqasdwx
2017-10-31 13:34:43 +08:00
@scofieldpeng 我这要有电池就没问题了 233
iwtbauh
2017-11-02 10:28:32 +08:00
问题 2:开机时调用的 e2fsck 是在 内存闪存盘 /内存文件系统 中的,并不是系统根文件系统中的那个
系统启动前,会在内存中创建一个内存闪存盘或内存文件系统,内部解压进去一个最小的文件系统(由 busybox,启动脚本和一些必要的工具,例如 e2fsck )。
因此只要保证这个镜像(例如 /boot/initrd-xxxxx.img )可以就可以在开机之前检查文件系统
henglinli
2017-11-04 12:33:07 +08:00
1,可以尝试把 /分区 remount 挂载成只读,应用需要迁移到单独分区,而且应用还要支持 recovery 等特性。(补充下:内核启动参数默认就是 ro 的,systemd 会 remount / 为 rw )。
2,fsck 修复文件系统,如果断电的时候正在写文件,该文件可能会已经损坏了,fsck 也许能修复改文件。

btrfs 推荐使用分区如下:/rw_root_fs 这是原系统根文件系统 ,/ro_root_fs 这是只读的 rw_root_fs 的 snapshot 子卷 ,/usr/local/ 或者 /otp 这是应用分区 ;从 ro_root_fs 只读启动或者启动后 remount 成只读。btrfs 理论上不需要 fsck。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX