Mein Kubuntu 12.04-System verfügt nicht über genügend Speicherplatz auf der Root-Partition und bootet nicht. Der Befehl df -h
zeigt viel verfügbaren Speicherplatz an (wobei nur 37% verwendet werden):
/dev/sda2 45G 17G 29G 37%
Auf der folgenden Seite wird angegeben, dass der Befehl balance ausgeführt werden soll:
$ sudo btrfs fi balance start -dusage=5 /mount/point
Ich bin nicht ganz sicher, dass dies der beste Ansatz ist, aber es ist der einzige, den ich gefunden habe. Wenn ich diesen Befehl ausführe, erhalte ich jedoch den folgenden Fehler:
ERROR: error during balancing '/blah/blah/blah' - No space left on device
Ich bekomme den gleichen Fehler mit:
$ sudo btrfs fi balance start -dusage=1 /mount/point
Was ist die richtige Lösung?
quelle
mount -oremount,clear_cache /mountpoint
die Freiraumberechnungen korrigieren musste. (Sie werden korrumpiert ...)Ich habe alles in der akzeptierten Antwort und in Marc's Blog versucht, einschließlich Inkrementieren des
-dusage
Parameters und Hinzufügen eines weiteren Block-Geräts, alles ohne Erfolg. Auch nach dem Löschen einiger Dateien und dem Freigeben eines kleinen Speicherplatzes auf der Festplatte, der voll war,balance
konnte nicht abgeschlossen werden. Aus irgendeinem Grund schien es immer so, als würde es Daten auf die fast volle Festplatte verschieben. Am Ende funktionierte es für mich, den Ausgleich auf das gesamte Gerät zu beschränken:wo die
dev_id
zu finden sind mit:quelle
sudo apt-btrfs-snapshot delete-older-than 3d Löscht Snapshots, die älter als 3 Tage sind. Beim Verschieben von Daten werden Momentaufnahmedaten nicht mehr richtig platziert und die tatsächlichen Daten müssen an mehreren Stellen auf das Laufwerk geschrieben werden. Dadurch werden Snapshots zu alten Daten an alten Standorten entfernt und diese Sektoren für die erneute Verwendung freigegeben. Ich empfehle duperemove auch, um Daten und Speicherbereiche im btrfs-Dateisystem zu deduplizieren.
quelle