操作系统: Arch Linux x86_64
我有一个包含/& /home的BTRFS文件系统,如何为/& /home创建子卷,为每个子卷创建快照并从快照恢复(从活动CD恢复快照)?
发布于 2019-04-11 15:18:30
创建子卷
假设/是您的BTRFS文件系统的根子卷,您需要首先创建子卷,然后将目录移动到各自的子卷中。
警告:在使用以下任何命令之前,请确保阅读了这些命令并了解它们的工作原理。
cd /
btrfs subvol create rootfs
btrfs subvol create homefs
cp -a --reflink=always bin usr root var rootfs/ # This is just a sample of directories to copy. But DON'T copy home.
cp -a --reflink=always home/* homefs/然后,编辑/etc/fstab并更改/挂载点,以便它使用rootfs子卷。这是通过添加选项(-o) subvol=rootfs来完成的。然后,使用homefs子卷为/home添加一个挂载点。您还需要更新在引导加载程序中配置的根文件系统。
最后,重新启动并确认正在使用新的挂载点。如果一切顺利,您可以临时挂载根子卷(在/ root /btrfs等目录中),并删除您复制的原始目录。
就我个人而言,我有一个包含快照的子卷。那样的话,我就可以把快照贴在上面。/mnt/snapshots,并且可以很容易地访问我可能无意中删除的文件。
mkdir /root/btrfs
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol create snapshots获取只读快照的
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol snapshot -r rootfs snapshots/rootfs-2019-04-11从快照
不需要从快照恢复LiveCD。这个过程非常简单:重命名子卷,然后根据您选择的快照创建读-写快照。
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
mv rootfs rootfs-old # Even though rootfs would be mounted, you can still rename it without affecting the running system.
btrfs subvol snapshot snapshots/rootfs-2019-04-10 rootfs重新启动以使还原生效。
https://unix.stackexchange.com/questions/511885
复制相似问题