Zum Inhalt springen

Voller Datenträger auf dem Linux-Server: So geben Sie Speicher frei

Mittel 20 Min. Aktualisiert:

Kurze Antwort

Wenn der Datenträger voll ist, prüfen Sie zuerst die Belegung mit `df -h` und finden Sie große Dateien und Ordner mit `du`. Bereinigen Sie dann nicht benötigte Protokolle, Paketcaches und temporäre Dateien, achten Sie jedoch darauf, aktive Protokolle nicht ohne Rotation zu löschen. Richten Sie abschließend logrotate ein und entfernen Sie alte Archive, um ein erneutes Volllaufen zu verhindern.

So erkennen Sie das Problem

  • Dienste können keine Daten in die Datenbank oder in Dateien schreiben
  • Die Anwendung meldet den Fehler „No space left on device“
  • Sie können sich nicht per SSH am Server anmelden
  • Die Website gibt einen Fehler 500 zurück oder lädt nicht
  • Systemprotokolle werden nicht mehr geschrieben

Häufigste Ursachen

Unkontrollierte Protokolle

Protokolldateien von Anwendungen oder des Systems wachsen ohne Rotation und können den gesamten freien Speicher belegen.

Paketcaches und Aktualisierungen

Heruntergeladene Pakete und Caches der Paketmanager (APT, DNF) sammeln sich mit der Zeit an.

Temporäre Dateien und Sitzungen

Dateien in `/tmp` und Benutzersitzungen können dauerhaft bestehen bleiben, wenn sie nicht bereinigt werden.

Große Datenbankdateien

Sicherungsdateien, Datenbank-Dumps oder Archive können groß und in Vergessenheit geraten sein.

Falsch eingebundene Datenträger

Wenn eine Partition nicht korrekt eingebunden wird, werden Daten auf die Root-Partition geschrieben und füllen diese.

Lösung Schritt für Schritt

  1. 1

    Prüfen Sie die Datenträgerbelegung

    Führen Sie df -h aus, um zu sehen, welche Partition voll ist. Achten Sie auf die Spalte Use% und auf die Partition, die zu 100 % belegt ist. Wenn die Root-Partition (/) voll ist, fahren Sie mit der Prüfung großer Ordner fort.

  2. 2

    Finden Sie die größten Ordner

    Verwenden Sie als root du -h --max-depth=1 /, um die Belegung nach Verzeichnissen zu sehen. Wechseln Sie dann in den größten Ordner und wiederholen Sie den Befehl. So lokalisieren Sie schnell die Stelle, an der Speicher verbraucht wird.

  3. 3

    Finden Sie große Dateien

    Führen Sie als root find / -type f -size +100M -exec ls -lh {} \; aus, um Dateien größer als 100 MB zu finden. Löschen oder verschieben Sie nicht benötigte Dateien, prüfen Sie jedoch zuerst ihren Zweck und erstellen Sie eine Sicherung, wenn die Daten wichtig sind.

  4. 4

    Bereinigen Sie Protokolle

    Protokolle befinden sich normalerweise in /var/log. Erstellen Sie vor der Bereinigung eine Sicherung der Protokolle, wenn Sie diese für die Diagnose benötigen. Sie können alte archivierte Protokolle (*.gz, *.1) löschen oder sie als root mit dem Befehl truncate -s 0 /var/log/name.log kürzen. Löschen Sie keine aktiven Protokolle, sondern kürzen oder rotieren Sie sie.

  5. 5

    Leeren Sie den Paketcache

    Führen Sie auf Debian/Ubuntu-Systemen als root oder mit sudo aus: apt clean und apt autoremove. Verwenden Sie auf RHEL/CentOS/Fedora-Systemen als root oder mit sudo: dnf clean all und dnf autoremove. Dadurch geben Sie den Speicher frei, den heruntergeladene Pakete belegen.

  6. 6

    Bereinigen Sie temporäre Dateien

    Überprüfen Sie /tmp und /var/tmp und löschen Sie Dateien, die älter als einige Tage sind. Seien Sie vorsichtig mit Dateien, die derzeit von aktiven Prozessen verwendet werden.

  7. 7

    Richten Sie logrotate ein

    Prüfen Sie die Konfiguration in /etc/logrotate.conf und /etc/logrotate.d/. Stellen Sie sicher, dass Protokolle rotiert und ältere Versionen gelöscht werden. Sie können rotate 7 und daily für wichtige Protokolle hinzufügen.

  8. 8

    Prüfen Sie die Einbindung der Datenträger

    Führen Sie mount und df -h aus, um zu sehen, ob alle Partitionen korrekt eingebunden sind. Wenn eine Partition nicht eingebunden ist, werden Daten auf die Root-Partition geschrieben und können diese füllen.

Wenn nichts hilft

Wenn Sie weiterhin nicht genügend Speicher haben, prüfen Sie, ob gelöschte Dateien von aktiven Prozessen gehalten werden. Der als root ausgeführte Befehl lsof +L1 zeigt solche Dateien an; starten Sie den Prozess, der sie hält, sicher neu. Erwägen Sie, einen neuen Datenträger hinzuzufügen oder die Partition zu erweitern. Erstellen Sie für Datenbanken und Anwendungen mit großen Datenmengen regelmäßig Sicherungen und bereinigen Sie alte Dumps. Wenn der Datenträger physisch klein ist, planen Sie abschließend die Migration auf einen größeren Datenträger oder Cloud-Speicher.

So beugen Sie vor

  • Prüfen Sie regelmäßig die Datenträgerbelegung mit `df -h` und `du`
  • Richten Sie logrotate für alle Anwendungen ein, die Protokolle schreiben
  • Bereinigen Sie monatlich den Paketcache und temporäre Dateien
  • Verwenden Sie Monitoring-Tools, die Sie warnen, wenn der Datenträger 80 % erreicht

Wann Sie einen Profi rufen sollten

Wenn Sie nicht auf den Server zugreifen können oder nicht wissen, welche Dateien sicher gelöscht werden können, wenden Sie sich an den IT-Support. Wenn der Datenträger physisch defekt ist oder der Verdacht auf einen Hardwarefehler besteht, sollte dies ebenfalls von einem Fachmann geprüft werden.

IT-Infrastruktur-Wartung · Server, Netzwerke, Backup, Sicherheit und Helpdesk

Häufige Fragen

Wie gebe ich schnell Speicher auf der Root-Partition frei?

Prüfen Sie zuerst mit `df -h`, wie viel Speicher übrig ist. Finden Sie dann große Dateien und Ordner mit `du` und `find` und löschen Sie nicht benötigte Protokolle und Caches. Wenn es dringend ist, können Sie vorübergehend alte Protokollarchive löschen, erstellen Sie jedoch vorher eine Sicherung, wenn Sie diese benötigen.

Kann ich Dateien in /tmp bedenkenlos löschen?

Sie können Dateien löschen, die älter als einige Tage sind, prüfen Sie jedoch zuerst, ob sie von einem aktiven Prozess verwendet werden. Am besten verwenden Sie `tmpwatch` oder `systemd-tmpfiles` mit einem entsprechenden Timer, der `/tmp` automatisch bereinigt.

Warum füllt sich der Datenträger nach der Bereinigung erneut?

Die häufigste Ursache ist das Fehlen einer Protokollrotation oder eine Anwendung, die große temporäre Dateien erstellt. Prüfen Sie die logrotate-Konfiguration und legen Sie Beschränkungen für Anwendungen fest, die viele Daten schreiben.

Teilen
Keine Lösung gefunden?Der KI-IT-Assistent ist rund um die Uhr erreichbar. Beschreiben Sie das Problem oder senden Sie einen Screenshot und erhalten Sie eine Anleitung für Ihren Fall.KI-IT-Assistent fragen