Linux

請參閱 btrfs 子卷 df(已用和可用空間)

  • October 28, 2020

在安裝 Fedora 33 時,我選擇了 btrfs,32gb 用於 /,其餘用於 /home

我看到這些被用作“子卷”:

# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Mon Oct 19 13:43:25 2020
#
UUID=f1483466-114c-4ef4-b268-85095d4c4aa8 /                       btrfs   subvol=root,x-systemd.device-timeout=0 0 0
UUID=ef7bc629-cb70-458a-9463-2666c2c233a7 /boot                   ext4    defaults        1 2
UUID=F206-0546          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=f1483466-114c-4ef4-b268-85095d4c4aa8 /home                   btrfs   subvol=home,x-systemd.device-timeout=0 0 0

我想查看每個分區使用和釋放了多少空間,但df只顯示總數:

Filesystem      Size  Used Avail Use% Mounted on
/dev/dm-0       924G   27G  895G   3% /
tmpfs           3.9G   12K  3.9G   1% /tmp
/dev/dm-0       924G   27G  895G   3% /home

試過這些:

# btrfs device usage /
/dev/mapper/luks-662fb4fb-75b3-4888-a617-0c039f575d3a, ID: 1
  Device size:           923.00GiB
  Device slack:              0.00B
  Data,single:            27.01GiB
  Metadata,DUP:            2.00GiB
  System,DUP:             16.00MiB
  Unallocated:           893.98GiB

# btrfs subvolume list /
ID 256 gen 7177 top level 5 path home
ID 258 gen 7176 top level 5 path root
ID 265 gen 30 top level 258 path var/lib/machines

# btrfs filesystem df /root
Data, single: total=27.01GiB, used=26.17GiB
System, DUP: total=8.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=386.67MiB
GlobalReserve, single: total=45.22MiB, used=0.00B

# btrfs filesystem df /home
Data, single: total=27.01GiB, used=26.17GiB
System, DUP: total=8.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=386.67MiB
GlobalReserve, single: total=45.22MiB, used=0.00B

我怎樣才能看到 / 總大小 32gb 以及使用了多少,和 /home 一樣?

看起來有一個分區,分成多個子卷。子卷共享底層文件系統,因此兩者的文件系統大小和使用情況確實相同。

我不使用 Fedora,但如果安裝程序遵守 32GB 的限制/,很可能是通過限制給定子卷的最大使用量的 qgroup。

嘗試btrfs qgroup show /btrfs qgroup show /home

每個版本的子卷:

LVM 方式是為每個版本創建一個新的 LV(我將它們命名為 f26、f28、f30、f32 ……)——如果不進行一些重新洗牌,那就太遲了。關於LVM方式的文章:https ://fedoramagazine.org/use-lvm-upgrade-fedora/

Btrfs 的方式是新建一個可寫的快照子卷,新建 grub 條目掛載到 /,重啟進行測試,然後進行 dnf 系統升級。現在您可以啟動到舊的或新的子系統。希望我能在 f34 之前準備好另一篇文章。

我沒有等待 f34 實際嘗試此操作,而是將 f31 根轉換為 btrfs,並將在 btrfs 快照中進行系統升級以進行測試。(使用 LVM 副本只是為了確保!)

我確實計劃繼續在 btrfs 下使用帶有標準 LV(無精簡池)的 LVM。標準 LVS 與分區一樣健壯,而且更加靈活。(Grub2 甚至可以在標準 LV 中使用 /boot 啟動。)可以完全跳過分區表,但最好保留它 - 即使只有一個大分區 - 以便其他軟體知道磁碟在採用。此外,您需要一個 GPT 來進行 EFI 引導。

引用自:https://serverfault.com/questions/1039379