Linux: Kein Speicherplatz mehr auf dem Gerät Fehler mit 50% freiem Speicherplatz
Nachdem ich einen Tag damit verbracht hatte, meinen Kopf auf dem Schreibtisch zu zerquetschen, würde ich mich über Hilfe freuen.
Ich betreibe einen Squid-Proxy auf Fedora 14. Selbst wenn ich versuche, touch /tmp/foo
zu touch /tmp/foo
, wird der Fehler" Kein Platz mehr auf dem Gerät " angezeigt. Ich habe bereits fsck
ausgeführt. Wenn ich eine Datei mit beispielsweise 1 MB lösche, kann ich 1 MB Daten erneut speichern, aber nicht mehr. Bemerkenswert ist, dass ich viel freien Speicherplatz habe:
df
ausgabe:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 16311208 7614872 7867768 50% /
tmpfs 1028548 0 1028548 0% /dev/shm
/dev/sda1 198337 55345 132752 30% /boot
/dev/sdb1 25803036 19407324 5084996 80% /mnt/squid-cache
Jemand eine Idee was ich versuchen kann zu "reclaim" - die freie raum?
3 answers
Bei einer Vermutung haben Sie keine Inodes mehr als Festplattenblöcke mehr - das heißt, Sie haben die Begrenzung der Anzahl der Dateien, die das Dateisystem enthalten kann, und nicht die Begrenzung der Gesamtdatenmenge.
Sie können dies mit df -i
überprüfen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-13 13:38:38
Linux reserviert einen Prozentsatz der Blöcke für den Superuser. Es ist normalerweise auf 5%. 50% ist ungewöhnlich hoch. Mit tune2fs -m
können Sie das ändern.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-13 13:39:50
Dies kann passieren, wenn Sie btrfs verwenden, und in diesem Fall funktionieren diese Mittel nicht.
Nachdem ich vielen falschen Spuren gefolgt war, war ich endlich auf dem richtigen Weg, nachdem ich die Suche mit
Btrfs keine
Und bekam
Btrfs kein Platz mehr auf dem Gerät
Als erste Vervollständigung. Das führte zu das BTRFS-problem wiki. Es ist anscheinend ein häufiges Problem.
Aber selbst von dort war es nicht so einfach zu lösen mein problem. Ich konnte die richtigen Dienstprogramme ausführen, indem ich in den Wiederherstellungsmodus bootete, die Auswahl traf, die meine Dateisysteme mountet, und dann auf root fiel.
Der Wiki-Artikel sagte run btrfs balance, aber das würde nicht für alle Dateisysteme laufen, und schließlich fand ich meinen Weg hier (was auch das zweite Suchergebnis ist.)
Wenn Ihr Dateisystem wirklich voll ist, wird auch Balance nicht ausgeführt. Oder es wird nur für kleine Werte von-dusage ausgeführt.
Das Rezept in dies ist es am unteren Rand des Pfostens. Ich fand es verwirrend und lehnte es zunächst als Lösung ab, da das Poster Schnappschüsse entfernt, von denen ich annahm, dass sie unerlässlich sind, und da ich keine Schnappschüsse machte, dachte ich, dass es nicht zutrifft. Aber es tat. Der erste Schritt kann für einige wichtig sein, aber es war nicht für mich.
Das Mittel im Überblick lautet:
- Erstellen Sie eine große Datei
- Machen Sie es zu einer Schleife.
- Schließen Sie das Gerät an das fs an, das dies nicht kann balance
- Balance ausführen
- Trennen Sie das Gerät
- Nuke die Datei, um diesen Raum zurück zu bekommen
Der referenzierte Beitrag gibt die Befehlszeilenschritte an.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-08-02 15:53:05