![从树中卸载 btrfs 子卷](https://linux22.com/image/1496401/%E4%BB%8E%E6%A0%91%E4%B8%AD%E5%8D%B8%E8%BD%BD%20btrfs%20%E5%AD%90%E5%8D%B7.png)
在 btrfs 卷上,我有一个文件夹snapshots/
,我会不时地在其中存储整个卷的快照。
btrfs 自动挂载所有子卷,例如,在挂载顶部卷后,snapshots/
将填充所有曾经完成的快照。
现在我喜欢卸载 中的子卷snapshots
,将其snapshots
留空(当然不会删除快照)。如果我对卷进行备份、索引或搜索,这将非常有用,否则总是需要以依赖于工具的方式进行限制以排除snapshots/
,这并不总是容易的。
由于子卷未由内核挂载,因此我无法使用 卸载它们mount
。如何卸载它们?
答案1
你可以组织你的 btrfs 卷以另一种方式避免这种自动挂载(不是将 btrfs 挂载/
到您的系统上/
,而是将 btrfs 子卷挂载/rootfs
到您的系统上/
。只有命名的 btrfs 子卷/rootfs/foo/bar
才会自动挂载,就像/foo/bar
在这种情况下一样)。但这不是一项非常容易的任务,如果您失败一步,您可能会很难重新启动计算机。
作为一种 umount 解决方法,我认为更简单的方法是隐藏子卷的内容,snapshot
并通过在其上安装一个哑挂载点。您可以通过 fstab 自动执行此操作,如下所示:
none /snapshot tmpfs defaults,size=1M,ro 0 0
要再次访问您的/snapshot
子卷,一个简单的方法是添加一个特定的非自动挂载点(在此示例中为只读,因为您很少需要更改我们的快照):
/dev/sda2 /mnt/snapshots btrfs defaults,noauto,ro,subvol=/snapshot 0 2
注意:您也可以不隐藏快照子卷,而是为其设置特定的安全挂载选项:
/dev/sda2 /snapshots btrfs defaults,noexec,nodev,ro,subvol=/snapshot 0 2