首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BTRFS -用于/& /home的子卷,并且能够从快照中快照和恢复吗?

问BTRFS -用于/& /home的子卷,并且能够从快照中快照和恢复吗?
EN

Unix & Linux用户
提问于 2019-04-11 10:44:24
回答 1查看 6.2K关注 0票数 2

操作系统: Arch Linux x86_64

我有一个包含/& /home的BTRFS文件系统,如何为/& /home创建子卷,为每个子卷创建快照并从快照恢复(从活动CD恢复快照)?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-04-11 15:18:30

为/和/home

创建子卷

假设/是您的BTRFS文件系统的根子卷,您需要首先创建子卷,然后将目录移动到各自的子卷中。

警告:在使用以下任何命令之前,请确保阅读了这些命令并了解它们的工作原理。

代码语言:javascript
复制
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,并且可以很容易地访问我可能无意中删除的文件。

设置

代码语言:javascript
复制
mkdir /root/btrfs
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol create snapshots

获取只读快照的

示例

代码语言:javascript
复制
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol snapshot -r rootfs snapshots/rootfs-2019-04-11

从快照

还原

不需要从快照恢复LiveCD。这个过程非常简单:重命名子卷,然后根据您选择的快照创建读-写快照。

还原rootfs快照的示例.

代码语言:javascript
复制
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

重新启动以使还原生效。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/511885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档