web-dev-qa-db-fra.com

Erreur BTRFS: Erreur lors de l'équilibrage - Aucun espace disponible sur le périphérique

Mon système Kubuntu 12.04 a manqué d'espace sur la partition racine et ne démarre pas. La commande df -h montre beaucoup d'espace disponible (avec seulement 37% utilisés):

/dev/sda2        45G   17G   29G  37%

La page suivante indique que je devrais exécuter la commande de balance:

https://btrfs.wiki.kernel.org/index.php/problem_faq#i_get_.22no_space_left_on_device.22_errors.2c_but_df_says_i.27ve_got_says_of_space

$ Sudo btrfs fi balance start -dusage=5 /mount/point

Je ne suis pas tout à fait sûr que c'est la meilleure approche, mais c'est le seul que j'ai trouvé. Cependant, lorsque j'exécute cette commande, je reçois cette erreur:

ERROR: error during balancing '/blah/blah/blah' - No space left on device

Je reçois la même erreur avec:

$ Sudo btrfs fi balance start -dusage=1 /mount/point

Quelle est la bonne solution?

16
MountainX

Il existe des moyens d'obtenir balance pour courir dans cette situation.

Sudo btrfs fi show
Sudo btrfs fi df /mount/point
Sudo btrfs fi balance start -dusage=10 /mount/point

Si la commande de la balance se termine par "Terminé, devait déménager 0 sur xx morceaux", vous devez augmenter le paramètre de pourcentage "Dusage" jusqu'à ce que au moins un morceau soit déplacé.

si la commande de balance échoue avec:

ERROR: error during balancing '/blah/blah/blah' - No space left on device

Vous avez peut-être besoin de supprimer des fichiers de l'appareil pour faire une place. Puis exécutez la commande balance à nouveau.

Cependant, grâce à Blog de Marc: BTRFS - Fixer BTRFS FileSystem Problèmes complets Voici une autre option:

Un tour pour se déplacer est d'ajouter un périphérique (même une clé USB fera) à votre système de fichiers BTRFS. Cela devrait permettre un équilibre de démarrer, puis vous pouvez supprimer le périphérique avec le périphérique BTRFS supprimer lorsque la balance est terminée. Il a également été dit sur la liste que le noyau 3.14 peut résoudre certains problèmes d'équilibre que les noyaux plus âgés ne peuvent pas, alors donnez-lui un coup de feu si votre noyau est vieux.

15
MountainX

(( sudo apt-btrfs-instantané Supprimer - plus de 3D Supprime des instantanés de plus de 3 jours. Lorsque vous déplacez les données autour des données, les données d'instantané devient hors de lieu et les données réelles doivent être écrits dans plusieurs endroits sur le lecteur. Cela supprime les instantanés relatives aux anciennes données dans les anciens emplacements et libère ces secteurs à utiliser à nouveau. Je recommande également Duperemove de déduire des données et d'étendre sur le système de fichiers BTRFS.

0
D337z

J'ai tout essayé dans la réponse acceptée et le blog de Marc, y compris l'incrémentation de la -dusage Paramètre et ajout d'un autre dispositif de bloc, tout en vain. Même après avoir supprimé certains fichiers et libérer un peu d'espace sur le disque complet, balance n'a pas pu compléter. Pour une raison quelconque, il semblait toujours déplacer des données sur le disque presque complet. À la fin, qu'est-ce que le travail pour moi était restreint l'équilibre à l'appareil complet:

btrfs balance start -ddevid=<dev_id> <path>

où le dev_id peut être trouvé avec:

btrfs fi show 
0
z7sg