专业Linux
十年老运维

Btrfs 子卷挂载

起因

Btrfs Snapper 是按照 / 进行备份的,总是会将用户目录下的 Steam 游戏上百个 G 全部备份。

检索了一些方法,Btrfs 是按照颗粒度进行备份的,故而无法略过文件。

只能将 /home/ 作为一个独立子卷,而在配置 Snapper config 时,不指定该子卷,则达到了排除的效果。

# subvolume to snapshot
SUBVVOLUME="/"

过程

新建子卷

创建一个名为 @home 的子卷

sudo btrfs subvolume create /@home

迁移数据

因为只是 /home 目录,一般情况下不必到 LiveCD 环境下进行操作,直接迁移数据即可。

sudo cp -a /home/* /@home

修改 fstab

先查看子卷的参数,注意记录下来 subvolsubvolid

sudo btrfs subvolume list /

输出如下

ID 2714 gen 350042 top level 258 path .snapshots/1991/snapshot
ID 2715 gen 350159 top level 258 path .snapshots/1992/snapshot
ID 2716 gen 350298 top level 5 path @home

注意上面的 @home,对应的 ID 为 2716

然后编辑 /etc/fstab,原来挂载 Btrfs 的根目录类似于

UUID=3ccf9bca-025c-4398-991a-c7b151f3675b          	/         	btrfs     	rw,compress-force=zstd,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/	0 0

复制该行,根据上面查到的 subvolsubvolid 修改

UUID=3ccf9bca-025c-4398-991a-c7b151f3675b          	/home         	btrfs     	rw,compress-force=zstd,relatime,ssd,discard=async,space_cache=v2,subvolid=2716,subvol=@home	0 0

一开始笔者仅修改了 subvol,导致挂载不上 /home

验证

能正常开机就说明正常挂载了。

赞(0) 打赏
未经允许不得转载:国外主机测评 » Btrfs 子卷挂载

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫