分層快照奇怪的行為

分層快照奇怪的行為

我已將磁碟機分為兩個 btrfs 分割區:一個安裝為/ (dev/sda1),第二個安裝為/home (/dev/sda2)

我製作了最初的快照/home

mkdir -p /home/snapshots/mnt
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/init

之後,我將init快照設為預設值並重新啟動系統。因為我希望init快照保持乾淨,所以我決定製作它的快照並將其命名為current

mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/current

它有效,但在創建current預設子卷並重新啟動系統後,我注意到這ls/home/snapshots了我意想不到的結果:

# ls /home/snapshots 
init mnt
# ls /home/snapshots/init
#

問題是:為什麼該init資料夾可見?我的直覺是init快照是在 id 0 的子卷上創建的,並且應該只能從那裡可見。

答案1

製作給定子磁碟區的快照時,其中包含的所有子磁碟區(從附加到檔案樹中的意義上來說)將被視為空目錄。因此就有了這樣的行為。您可以將它們從快照中刪除,這裡不會丟失資料:)

相關內容