從樹中卸載 btrfs 子卷

從樹中卸載 btrfs 子卷

在 btrfs 磁碟區上,我有一個資料夾snapshots/,我不時在其中儲存整個磁碟區的快照。

btrfs 自動掛載所有子卷,例如。安裝頂部磁碟區後,snapshots/將填入所有已完成的快照。

現在我想卸載 中的子卷snapshots,留空snapshots(當然不刪除快照)。如果我在卷上進行備份、索引或搜索,這非常有用,否則總是需要以依賴工具的方式進行限制以排除snapshots/,這並不總是那麼容易。

由於子卷不是由核心安裝的,因此我無法使用 卸載它們mount。如何卸載它們?

答案1

你可以組織您的 btrfs 卷以不同的方式避免這種自動安裝(透過不將 btrfs 安裝/到您的系統上/,而是將 btrfs 子磁碟區安裝/rootfs到您的系統上/。在這種情況下,只有指定的 btrfs 子磁碟區/rootfs/foo/bar才會自動安裝/foo/bar)。但這不是一項非常容易的任務,如果一步失敗,重新啟動電腦可能會遇到困難。

作為 umount 解決方法,我認為更簡單的方法是隱藏 subvol 的內容,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

相關內容