我有 1 TB 硬盘,上面有 btrfs,用于/home
.当移动到新的 ubuntu(全新安装)时,我已将@home
子卷移动到@home-old
、安装和配置的系统,将所需的文件复制到新的@home
并使用@home-old
删除btrfs subvol delete --commit
。
现在我的空间使用率似乎毫无原因地很高。这就是 btrfs 命令所说的(我做了一些平衡,根子卷安装在/mnt
):
root@v-home:~# sudo btrfs filesystem usage -h -T /mnt
Overall:
Device size: 931.51GiB
Device allocated: 751.07GiB
Device unallocated: 180.44GiB
Device missing: 0.00B
Used: 744.63GiB
Free (estimated): 184.82GiB (min: 94.60GiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 512.00MiB (used: 0.00B)
Data Metadata System
Id Path single DUP DUP Unallocated
-- -------- --------- -------- --------- -----------
1 /dev/sdb 741.01GiB 10.00GiB 64.00MiB 180.44GiB
-- -------- --------- -------- --------- -----------
Total 741.01GiB 5.00GiB 32.00MiB 180.44GiB
Used 736.63GiB 4.00GiB 112.00KiB
root@v-home:~# btrfs filesystem du -s /mnt/@
@backups/ @home/
root@v-home:~# btrfs filesystem du -s /mnt/*
Total Exclusive Set shared Filename
0.00B 0.00B 0.00B /mnt/@backups
412.11GiB 149.73GiB 197.05GiB /mnt/@home
为什么数据使用量比总计大得多/mnt/@home
?有没有办法来解决这个问题?
答案1
即使使用该--commit
标志,btrfs 也不会立即释放已使用的空间,因为这是一个非常慢的操作。删除大子卷后,您会注意到btrfs-cleaner
进程列表中有一个任务负责此操作。
要等到子卷实际完全删除,请使用btrfs subvolume sync
。