web-dev-qa-db-fra.com

btrfs et espace libre manquant

J'ai converti ma partition ext4 en btrfs et supprimé le sous-volume de sauvegarde après l'avoir fait. Ensuite, j'ai activé la compression (lzo) du système de fichiers dans le fichier fstab et tout est correct jusqu'à présent.

Ensuite, j'ai forcé la compression de tous les fichiers à l'aide de la commande de défragmentation avec le paramètre -c indiquant que la nouvelle compression est appliquée à tous les fichiers.

Ce faisant, j'ai remarqué que mon SSD était complètement rempli - avant que je ne dispose de 6 Go d'espace libre. Non, je n'ai plus rien.

easteregg@x201s:~$ btrfs fi df /
Data: total=50.00GB, used=49.17GB
System: total=32.00MB, used=4.00KB
Metadata: total=24.50GB, used=9.86GB

et

easteregg@x201s:~$ df -ha
Filesystem        Size  Used Avail Use% Mounted on
/dev/sda1          75G   60G  852M  99% /

Alors maintenant. Comment puis-je regagner mon espace libre? Je m'attendais à gagner plus d'espace à cause de la compression lzo. Et maintenant!

Le fs est correctement monté.

easteregg@x201s:~$ mount
/dev/sda1 on / type btrfs (rw,noatime,ssd,compress=lzo)

Des idées comment résoudre ce problème?

8
easteregg

Je sais que cette question est ancienne - mais à ce jour, la commande de la balance résout ce problème:

Pendant la conversion, beaucoup d’espace sera utilisé pour y déplacer des éléments. Une fois alloué, il ne sera plus affiché comme "libre" ou "non alloué". Pour résoudre ce problème, démarrez simplement une balance

btrfs balance start "path"

vous pouvez également indiquer à la commande balance de ne balancer que les morceaux qui sont utilisés pour un certain pourcentage, comme 0%, ce qui signifie que les morceaux sont vides:

btrfs balance start "path" -dusage=0 -musage=0

paramètre -d signifie les options pour les données. paramètre -m désigne les options pour les métadonnées.

jouez avec la commande balance, ça devrait aider.

7
wuppi

Regardez le résultat de btrfs fi df:

Data: total=50.00GB, used=49.17GB
System: total=32.00MB, used=4.00KB
Metadata: total=24.50GB, used=9.86GB

La partie total est l'espace alloué, tandis que used est la partie réellement utilisée par btrfs. La différence entre total et used (environ 15 Go) correspond à l'espace manquant. Comme vous pouvez le constater, cet espace a déjà été alloué pour des blocs de métadonnées.

Je n'ai qu'une expérience de passe-temps avec btrfs, mais je ne pense pas qu'une conversion ext4 soit le meilleur moyen de créer un système de fichiers btrfs bien présenté. Heureusement, vous pouvez rééquilibrer l’ensemble du système de fichiers pour lui faire refaire toutes les allocations.

Comme toujours, utilisez des sauvegardes.

5
ramslök