Lorsque vous utilisez btrfs, pourquoi les valeurs «Taille», «Utilisé» et «Disponible» de df ne correspondent pas?

9

J'ai une partition btrfs. Quand je cours df -h, cela montre:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       113G  101G  8.3G  93% /home

De Pourquoi est-ce? Est-ce parce que l'espace réservé à root est ext2 / 3/4? Ou s'agit-il d'autre chose? Si le premier, comment puis-je le changer et récupérer ces 4 Go?

Selon le wiki btrfs , je sais que les métadonnées sont stockées deux fois, ce qui gonfle la taille des données "utilisées":

user@machine:~$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             894G  311G  583G  35% /
                            ^^^^
user@machine:~$ btrfs fi df /
Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB
Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB
System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB
                                           == 310.57GB 
                                           ~~ 311   GB

Mais cela n'explique toujours pas pourquoi Used + Avail <Size.

souper
la source
btrfs.wiki.kernel.org/articles/f/a/q/FAQ_1fe9.html - lisez "Pourquoi y a-t-il tant de façons de vérifier la quantité d'espace libre?" section, il a beaucoup d'informations.
Mat
Oui, il contient de nombreuses informations, mais dans tous leurs exemples Used + Avail = Size in dfoutput. J'ai mis à jour la question avec ceci.
sup
Affiche lsofdes fichiers supprimés? (La sortie btrfs de votre système aurait été un peu plus appropriée que celle du wiki.)
Mat
Je sais, mais j'étais paresseux pour le reformater et c'est analogique. Si lsof |grep 'DEL'|wc -ldonne le nombre de fichiers supprimés, il est de 338. Cependant, ils ne semblent pas gros (puis-je obtenir leur taille globale?)
sup
1
@Mat Voici un lien de travail vers la FAQ BTRFS: Pourquoi y a-t-il tant de façons de vérifier la quantité d'espace libre?
ali_m

Réponses:

10

Sauf indication contraire lors de la mise en forme, la valeur par défaut est de stocker des copies en double des blocs de métadonnées pour une fiabilité améliorée. Vous disposez probablement de 2 Go de métadonnées stockées deux fois, en utilisant 4 Go. Vous pouvez voir plus de détails avec btrfs filesystem df.

En particulier, 1,75 Go est alloué aux métadonnées, il consomme donc deux fois plus ou 3,5 Go d'espace. Seulement 385 Mo de ces 1,75 Go sont actuellement utilisés pour les métadonnées, mais la totalité de 1,75 Go est réservée à cette utilisation et n'est donc pas prise en compte dans l'espace disponible pour les données de fichier.

psusi
la source
btrfs filesystem df /homedonne Metadata, DUP: total=1.75GB, used=385.70MBdonc j'ai environ 771 Mo de métadonnées stockées, avec les données, cela équivaut à 101G, mais cela n'explique pas pourquoi Used + Avail <Size - J'ai développé la question pour refléter cela.
sup
4
@sup, 1,75 Go est alloué aux métadonnées, il consomme donc deux fois plus ou 3,5 Go d'espace. Seulement 385 Mo de ces 1,75 Go sont actuellement utilisés pour les métadonnées, mais la totalité de 1,75 Go est réservée à cette utilisation et n'est donc pas prise en compte dans l'espace disponible pour les données de fichier.
psusi
Ah, maintenant je comprends. Je suppose que les exemples de wiki btrfs utilisent simplement un ancien df qui ne savait pas à ce sujet. Merci d'avoir répondu!
sup