Zum Inhalt springen
Fehlerbehebung

VPS-Festplatte voll: Speicher und Inodes prüfen

Vollen VPS-Speicher sicher untersuchen: Dateisystem, Bytes, Inodes und offene gelöschte Dateien prüfen und einen kontrollierten Wiederanlauf planen.

ServerQ Redaktion7 Min. Lesezeit

Bei „No space left on device“ prüfen Sie zuerst das betroffene Dateisystem und anschließend sowohl freie Bytes als auch Inodes. Ein Datenträger kann keine neuen Dateien mehr anlegen, obwohl noch viele Gigabyte verfügbar sind. Ebenso kann eine bereits gelöschte Datei weiterhin Platz belegen, solange ein Prozess sie geöffnet hält.

Beginnen Sie mit den lesenden Prüfungen dieses Ratgebers. Ermitteln Sie den Verursacher, bevor Sie über eine Bereinigung oder Erweiterung entscheiden. Besonders Datenbankdateien, aktive Protokolle und Container-Volumes sind keine austauschbaren Platzreserven. Ein voller Datenträger verlangt einen kontrollierten Wiederanlauf und eine Korrektur der Ursache, damit die Störung nicht unmittelbar zurückkehrt.

Was Ihnen dieser Ratgeber ermöglicht

  • Platzmangel, Inode-Mangel und die Belegung des falschen Dateisystems unterscheiden.
  • Große Verzeichnisse sowie gelöschte, noch geöffnete Dateien lesend eingrenzen.
  • Einen sicheren Ablauf für Platzgewinn, Anwendungsprüfung und Vorbeugung festlegen.
Für wen dieser Ratgeber gedacht ist

Betreiber eines Linux-VPS mit fehlgeschlagenen Schreibvorgängen oder knappem Speicherplatz. Die Beispiele verwenden GNU-Werkzeuge; lsof und systemd müssen für ihre jeweiligen Abfragen vorhanden sein.

Bevor Sie beginnen
  • Der Pfad, an dem ein Schreibvorgang scheitert, und die genaue Fehlermeldung.
  • Kenntnis der laufenden Dienste und der aktuellen Sicherungen.
  • Ausreichende Leserechte; eingeschränkte Sicht auf Verzeichnisse und Prozesse ausdrücklich berücksichtigen.

1. Das tatsächlich betroffene Dateisystem bestimmen

Belegung und Einhängepunkt lesend prüfen
df -hT / /var /var/lib
df -i / /var /var/lib
findmnt -T /var/lib -o TARGET,SOURCE,FSTYPE,OPTIONS

Ersetzen Sie die Beispielpfade durch den Speicherort der betroffenen Anwendung. Mehrere Pfade können dasselbe Dateisystem anzeigen; ihre Werte dürfen dann nicht addiert werden. Ein separates Datenvolume kann voll sein, während das Root-Dateisystem noch Platz hat. findmnt ordnet einen Pfad dem zuständigen Einhängepunkt zu.

Prüfen Sie außerdem die genaue Fehlermeldung. „Read-only file system“ oder wiederholte I/O-Fehler erfordern eine andere Untersuchung als gewöhnlicher Platzmangel. Wenn das Dateisystem wegen eines Fehlers nur noch lesbar ist, hilft das wahllose Entfernen von Dateien nicht. Dokumentieren Sie den Zustand und stimmen Sie weitere Eingriffe mit der zuständigen Administration ab.

2. Bytes, Inodes und weitere Grenzen auseinanderhalten

Den ersten Befund einordnen
BeobachtungMögliche ErklärungNächster Schritt
Wenig verfügbare BytesDateien und Dateisystemdaten belegen den Speicher.Verzeichnisse auf genau diesem Dateisystem eingrenzen.
Inodes fast vollständig belegtSehr viele Dateien oder Verzeichnisse.Dateianzahl und deren Erzeuger untersuchen.
df hoch, du deutlich niedrigerEtwa offene gelöschte Dateien, fehlende Rechte oder unterschiedliche Messbereiche.Gleiche Pfade und Leserechte prüfen, danach offene Dateien.
df unauffällig, Schreiben scheitertEtwa Quota, Containergrenze, anderes Volume oder Berechtigungsfehler.Fehlertext und tatsächlichen Zielpfad kontrollieren.

Inodes verwalten Dateisystemobjekte. Viele winzige Cache- oder Sitzungsdateien können diese Ressource erschöpfen, ohne viel Inhalt zu speichern. Die verfügbaren Statistiken hängen vom Dateisystem ab. Auch reservierte Bereiche, Metadaten, Snapshots und Zugriffsbeschränkungen können Unterschiede erklären; erwarten Sie deshalb keine exakte Gleichheit jeder df- und du-Zahl.

3. Den verursachenden Bereich gezielt eingrenzen

Wählen Sie nach dem ersten Befund eine passende Verzeichnisabfrage. Das Beispiel /var ist nur sinnvoll, wenn der betroffene Pfad dort liegt. -x verhindert das Absteigen in andere Dateisysteme. Gehen Sie anschließend höchstens im auffälligen Unterverzeichnis weiter, statt wiederholt den gesamten Server zu durchsuchen.

Bei belegten Bytes: Verzeichnisgrößen anzeigen
du -x -h --max-depth=1 /var
Bei Inode-Mangel: Verzeichnisobjekte zählen
du -x --inodes --max-depth=1 /var

Diese Befehle löschen nichts, können aber viele Dateien lesen und einen bereits belasteten Datenträger zusätzlich beschäftigen. --max-depth begrenzt die ausgegebene Tiefe, nicht die vollständige Arbeit unterhalb der Verzeichnisse. Führen Sie die passende Abfrage gezielt aus und berücksichtigen Sie die aktuelle I/O-Last. Fehlende Rechte machen die Ergebnisse unvollständig.

Ordnen Sie einen großen Bereich einem Dienst zu: Datenbank, Uploads, Anwendungsprotokolle, Paketcache oder temporäre Exporte. Ein unbekanntes großes Verzeichnis ist kein Beleg dafür, dass sein Inhalt entbehrlich ist. Vermeiden Sie zusätzliche Archive auf demselben vollen Dateisystem, um eine vermeintliche Sicherung anzulegen.

4. Gelöschte, noch geöffnete Dateien erkennen

Offene Dateien ohne verbleibenden Verzeichnislink anzeigen
lsof -nP +L1

Mit +L1 sucht lsof nach geöffneten Dateien mit einer Link-Anzahl unter eins. Ein Dienst kann beispielsweise eine alte Protokolldatei weiter geöffnet halten, obwohl ihr Name aus dem Verzeichnis entfernt wurde. Der Speicher wird dann erst frei, wenn die verbleibenden offenen Referenzen geschlossen sind. Die Sicht auf Prozesse anderer Benutzer hängt von Ihren Rechten ab.

Prüfen Sie Prozess, Dateityp und Dateisystem. Wiederholte Einträge können dieselbe Datei betreffen; addieren Sie die angezeigten Größen nicht ungeprüft. Ein dienstspezifisches Wiederöffnen der Protokolle oder ein kontrollierter Neustart kann offene Referenzen schließen, ist aber ein eigener Betriebseingriff. Planen Sie ihn anhand der Dienstdokumentation und möglicher Unterbrechungen. Das bloße erneute Löschen eines Dateinamens löst diese Ursache nicht.

5. Platz mit einem abgestimmten Verfahren zurückgewinnen

Priorisieren Sie zunächst den Schutz neuer Daten. Bei einer kritischen Anwendung kann eine abgestimmte Schreibpause oder das Pausieren eines nicht notwendigen Erzeugers verhindern, dass weitere Vorgänge scheitern. Bestimmen Sie den benötigten Arbeitsraum für den Wiederanlauf und prüfen Sie, welche unabhängige Sicherung verfügbar ist. Ändern Sie nicht mehrere unbekannte Bereiche gleichzeitig.

Bereich und passender Wiederherstellungsweg
BereichKontrolliertes Vorgehen
AnwendungsprotokolleEigentümer und Aufbewahrung klären; die dokumentierte Rotation des Dienstes verwenden.
Temporäre Exporte oder CachesAbschluss und Entbehrlichkeit bestätigen; zuständiges Werkzeug und Freigabe nutzen.
Datenbank oder Container-VolumeKeine internen Dateien pauschal entfernen; anwendungsgerechte Wartung planen.
Dauerhaft gewachsene NutzdatenGeeignete Erweiterung oder Verlagerung mit Sicherung und Rückweg vorbereiten.

Eine größere virtuelle Disk vergrößert nicht bei jeder Konfiguration automatisch Partition und Dateisystem. Klären Sie die gesamte Kette vor der Änderung. Wenn Journald auffällig ist, zeigt die folgende Abfrage zunächst nur seine Belegung einschließlich aktiver und archivierter Journaldateien; sie führt keine Bereinigung aus.

Speicherbelegung des systemd-Journals lesen
journalctl --disk-usage

6. Speicher und Anwendung gemeinsam kontrollieren

Prüfen Sie nach dem abgestimmten Eingriff erneut freie Bytes und Inodes auf demselben Dateisystem. Beobachten Sie, ob der verfügbare Platz stabil bleibt oder sofort wieder schrumpft. Wenn eine offene Datei die Ursache war, kontrollieren Sie zusätzlich den betreffenden Prozess und seine aktuelle Protokollierung.

Freier Platz allein bestätigt noch keinen gesunden Anwendungszustand. Prüfen Sie Datenbankstatus, Fehlerprotokolle und Warteschlangen mit den vorgesehenen Werkzeugen. Fehlgeschlagene Uploads oder teilweise abgeschlossene Geschäftsabläufe müssen gegebenenfalls gesondert behandelt werden. Geben Sie Schreibzugriffe kontrolliert wieder frei und wiederholen Sie keine Zahlungen oder Aufträge blind.

7. Wiederholung durch Wachstumsregeln verhindern

  • Freie Bytes und Inodes getrennt überwachen und Warnungen einer Person zuordnen.
  • Wachstumsrate, Arbeitsraum für Updates und vorübergehende Exporte berücksichtigen.
  • Aufbewahrung und Rotation für Protokolle, Caches und temporäre Daten festlegen.
  • Unabhängige Sicherungen sowie Platz für eine Wiederherstellungsprobe einplanen.

Wählen Sie Warnschwellen nach Wachstum und Reaktionszeit, nicht nach einer universellen Prozentzahl. Ein langsam wachsendes Archiv und ein plötzlich fehlerhaft protokollierender Dienst brauchen unterschiedliche Aufmerksamkeit. Halten Sie Ursache, freigegebenen Eingriff und Messwerte fest, damit die nächste Kapazitätsentscheidung auf dem tatsächlichen Datenwachstum beruht.

Umfang der Prüfung

Die verlinkten Primärquellen und die beschriebenen Optionen wurden am 1. Oktober 2026 geprüft. Die Shell-Beispiele wurden auf Syntax geprüft, aber nicht auf einem Produktionsserver ausgeführt. Eine vollständige Migration oder Fehlerbehebung auf einem VPS wurde nicht getestet. Prüfen Sie den Ablauf mit Ihren Softwareversionen, Berechtigungen und Daten in einer getrennten Umgebung.

Offizielle Quellen

Prüfen Sie Versions- und Konfigurationsdetails in der aktuellen Dokumentation des jeweiligen Projekts.