0xcf
1
btrfs,
用了几年arch, 唯二用到livecd救系统,
一次是因为timeshift restore, 一次是因为snapper restore
都是boot分区挂不上,
曾经以为是timeshift太笨,没想到snapper也有一样的问题,
虽然重新生成一遍initframs也能救回来(轻车熟路了属于是)
作为我认为应该是保护系统的快照系统把我干崩了两次,有点幽默
于是很没有安全感, 主力系统在忙着干活的时候爆掉还是很恼人,
想问问各位都是如何备份系统的,
或许找个地方定时全盘dd才是最稳妥的?
依云
(lilydjwg)
2
首先,你要明白你为什么会出问题。
我的系统备份是自己写的脚本,调用btrfs send/receive的。timeshift和snapper这种现成的、新手友好的软件,想要正确、熟练地使用,不仅需要懂得它的底层原理、还要学习它自己的使用方法,还对子卷布局有要求、功能也有局限。我又不是不会看btrfs手册、不会编程,没有理由用它们。
另外,我很少会进行回滚操作。也就尝试KDE和折腾nvidia/cuda时回滚过。因为太少用到,/boot是手动处理的。甚至回滚操作一开始也相当手动,直到把自己坑了几次之后写了roll-it-back避免出错。
这就要问你忙着干活它为什么会坏掉了……忙的时候,尽量不要对系统做重大变更才稳妥。
0xcf
3
当时也参考了您的方案, 不过确实对于我来说比较复杂, 而且博客的日期比较久远, 最后用了最无脑的成品,
根据第一次挂的时候搜集的信息,是boot分区一些文件的版本在回滚时不同步(我不完全理解原理,现在也不好找出处了)
这似乎是快照设计上的问题,
工作时回滚,
这个决定是因为我对于用来替换timeshift的snapper比较信任, 我的系统布局也属于最简单的一类, 认为没什么风险,
之前因为因为装xfce测试软件导致系统出问题的时候也回滚过,没有遇到问题
之后肯定是尽量避免回滚了,
快照方面还是花时间系统学习一下btrfs系统的操作, 还有参照您的方案
依云
(lilydjwg)
4
那个是基于rsync的方案,我后来的备份会尽量用btrfs send/receive了。
因为通常来说/boot不在btrfs上,因此不支持回滚,需要单独处理。不然内核版本和/usr/lib/modules下的模块不匹配,会找不到各种内核模块。
1 Like