btrfs no space left on device - Metadata

 

Ich hab es übersehen und mein BTRFS Volume komplett angefüllt. Nachdem ich einige Dateien gelöscht habe und jede Menge freier Speicherplatz angezeigt wurde, konnte ich aber immer noch nicht schreiben: no space left

Mein BTRFS Volume besteht aus 2 physischen Festplatten, von denen jeweils eine 1,4TB Partition gespiegelt ist. Das Volume ist unter /daten eingehängt. Unter anderem verwende ich Snapshots. Nähere Infos zu BTRFS siehe: ZFS oder BTRFS: Filesystem Deduplizierung und Snapshots.

Nun aber zurück zum Schreibproblem:

Damit ich den Platz wieder frei bekomme, hab ich Daten in einem Subvolume ohne Snapshots gelöscht, es waren laut Dateiverwaltung wieder 600GB frei. (was in BTRFS ja ca. 300GB für Raid1 bedeutet.) 

Metadata

sudo btrfs fi df /daten lieferte folgende Ausgabe:

Wie ich im Internet recherchiert habe, liegt das Problem an den Metadaten:

Ich bin auf folgende Schlussfolgerung gekommen:

BTRFS benötigt intern 500MB für sich, beim Erreichen dieser Grenze: "total" ist nur 500MB grösser als "used", muss der Metadata Bereich erweitert werden. Kann in den Bereich Data oder Metadata in dieser Phase nicht mehr geschrieben werden, kann der Bereich nicht mehr erweitert werden, das Volume lässte keine Schreiboperationen mehr zu.

Entgegen so mancher Artikel im Internet konnte der Befehl: btrfs balance start -v -dusage=1 /daten auch nichts daran ändern.

(siehe auch: http://www.spinics.net/lists/linux-btrfs/msg32660.html, http://nathantypanski.com/blog/2014-07-14-no-space-left.html, http://unix.stackexchange.com/questions/174446/btrfs-error-error-during-balancing-no-space-left-on-device)

die Lösung: temporären Platz hinzufügen

Eine mögliche Lösung für das Problem, ist das Hinzufügen von zusätzlichem Speicherplatz. Ich hab an dieser Stelle einige Snapshots gelöscht und den zusätzlichen Platz wieder entfernt.

Folgende Befehle haben mich zum Ziel geführt:

 

dd if=/dev/zero of=/var/tmp/btrfs bs=1G count=5

sudo losetup -v -f /var/tmp/btrfs

sudo btrfs device add /dev/loop0/daten

sudo btrfs subvolume delete /daten/.snapshot/quarter_??? hier, bei Verwendung von Snapshots je nach Dateisystem ...

sudo btrfs device delete /dev/loop0 /daten

 

am Ende hab ich dann noch ein Balance ausgeführt: 

sudo btrfs balance /daten

 

Nach einigen Stunden Laufzeit schaut jetzt wieder alles sauber aus

Der Bereich Metadata ist sogar wieder geschrumpft ... 

 

Die Lösung hab ich auf folgender Seite gefunden:  http://marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Aktualisiert: 21.12.2015 von Bernhard |🔔 | Kommentare:0

Composer Update failed | Troubleshooting

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details