Durch die Metadaten und die Möglichkeit mit Btrfs RAIDs zu erstellen ist das Standard df
leider nicht richtig aussagekräftig wenn es um Btrfs Pools geht.
Die reale Auslastung lässt sich mit btrfs filesystem show
anzeigen. Gekürzt kann btrfs fi show
genutzt werden.
Hier lässt sich auch ein eventuelles Ungleichgewicht erkennen, was sich mit btrfs balance
beheben lässt.
root@test:~# btrfs filesystem show
Label: 'storage' uuid: 344e7d9f-1c67-4d24-8ea5-37e1765cbcaf
Total devices 2 FS bytes used 23.43GiB
devid 1 size 32.00GiB used 26.01GiB path /dev/vdb
devid 2 size 32.00GiB used 26.01GiB path /dev/vdc
Hier erkennt man einfach das auf beiden Platten von den 32.00GiB
26.01GiB
belegt werden.
Die 23.43GiB
beschreiben dagegen, wieviel Daten real vorliegen + die realen Metadaten.
Btrfs benötigt durch das Copy on Write Verfahren für jede Aktion mehr Speicher als konventionelle Filesysteme und reserviert daher einen gewissen Speicher.
Mit btrfs filesystem df
lässt sich die Zusammensetzung der Speicherbelegung besser einsehen.
root@test:~# btrfs filesystem df /storage
Data, RAID1: total=25.00GiB, used=23.41GiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=24.64MiB
GlobalReserve, single: total=24.52MiB, used=0.00B
Hie zeigt sich das es sich um ein RAID1
handelt, reale 23.41GiB
Daten liegen dagegen für 25.00GiB
reserviert werden. Zusätzlich kommen die Metadaten wie Checksummen, welche hier 24.64MiB
ausmachen, aber 1.00GiB
reserviert werden.
Daher ergeben sich
Used: 23.41GiB
+ 16.00KiB
+ 24.64MiB
+ 0.00B
= 23.43GiB
den Wert used
bei btrfs filesystem show
Total: 25.00GiB
+ 8.00MiB
+ 1.00GiB
+ 24.52MiB
= 26.01GiB
welche dem used
Wert für das Device von btrfs filesystem show
gleicht.