想到一种方法是直接 cp --reflink 覆盖, 但是不知道靠谱与否.
1
mokiki 2023-09-20 17:14:44 +08:00
我虚拟机用 raw 格式磁盘,不用 qcow2 快照功能。做快照用 cp --reflink 。我用 XFS
|
2
kyonn OP @mokiki 那请问 xfs 恢复根文件系统一般是怎么个做法? 需要重启吗? 类似我上面描述的这种情况, 不是系统损坏,而是想回退一些操作.
|
3
mokiki 2023-09-20 17:50:53 +08:00 via Android
我是针对虚拟机部分说的,btrfs 恢复和备份没用过
|
4
msg7086 2023-09-20 18:34:45 +08:00
可以,但是就算不重启,也还是要重启很多服务,让他们重新在原来的 subvol 上启动。
用 pivot_root 可以替换根分区。把原本的 subvol 找个地方挂载,然后把日常虚拟 FS 挂进去,最后 pivot_root 换根分区,然后再逐步重启所有正在运行的程序,包括 init 。 参考 https://dreamlayers.blogspot.com/2012/10/running-linux-from-ram.html 。 |
5
cgglyle 2023-09-21 14:29:42 +08:00
我现在使用的是 btrfs ,使用 snapper 备份系统。以我的经验来说,使用 snapper 回滚到某一个节点是不用重启的。但是可能会遇到 4 楼说的情况。不过我没注意到。还可以使用 timeshift 备份,这个就需要重启。
|
6
limon 2023-09-21 23:07:03 +08:00
不如用 NixOS 吧,可以 rollback
|