Festplatte voll? So findest du die Ursache – und löst das Problem dauerhaft

Eine volle Festplatte ist kein Schönheitsfehler, sondern ein akutes Betriebsrisiko.
Sobald / oder /var auf 100 % laufen, beginnen Dienste zu spinnen, Logs reißen ab, Datenbanken stoppen, SSH-Logins schlagen fehl. Die gute Nachricht: Linux lügt nicht – man muss nur wissen, wo man hinschaut. Dieser Artikel zeigt ein bewährtes Vorgehen, mit dem du in wenigen Minuten:

  • den Platzfresser findest
  • die Ursache verstehst
  • und verhinderst, dass es wieder passiert

1. Erste Bestandsaufnahme: Welche Partition ist voll?

df -h

Wichtig ist nicht die Gesamtkapazität, sondern:

  • Welche Partition
  • Welcher Mountpoint
  • Wie viel „Avail“ wirklich noch da ist

Typischer Notfall:

/dev/nvme0n1p3  1,7T  1,6T  0 100% /

Ab hier gilt: Nicht raten – messen.

2. Wo liegt der Platz? Grober Überblick auf Root-Ebene

sudo du -xh --max-depth=1 / | sort -h

Das zeigt dir sofort, welche Verzeichnisse relevant sind.

Unkritisch:

  • /bin, /sbin, /lib, /etc

Verdächtig:

  • /var
  • /home
  • /root
  • /mnt
  • /opt
  • /usr (nur bei ungewöhnlich großen Werten)

👉 Alles, was zweistellig in GB oder gar TB geht, ist ein Kandidat.

3. Der Klassiker: /mnt ist kein Mountpoint (mehr)

Wenn du so etwas siehst:

1,2T /mnt

… dann ist fast sicher Folgendes passiert:

Ein Ziel-Laufwerk war nicht gemountet, aber Prozesse haben fröhlich weitergeschrieben.

Linux schreibt stumpf ins Verzeichnis, egal ob dort eigentlich ein Mount geplant war.

Prüfen:

mount | grep mnt
lsblk -f

Wenn dort kein Device auftaucht → Ursache gefunden.

Lehre:

  • /mnt ohne aktiven Mount ist gefährlich
  • Skripte müssen Mounts prüfen, bevor sie schreiben
  • systemd-Mounts oder nofail + Checks verwenden

4. Tiefenanalyse: Der Übeltäter im Detail

Beispiel /mnt:

sudo du -xh --max-depth=1 /mnt | sort -h

Oder gezielt große Dateien:

sudo find /mnt -type f -size +10G -exec ls -lh {} \;

Typische Inhalte:

  • Backups
  • Datenbank-Dumps
  • VM-Images
  • Docker-Volumes
  • Log-Exporte
  • KI-Datasets (ja, die fressen brutal)

5. /root größer als ein paar GB? Alarmstufe Gelb

sudo du -xh --max-depth=1 /root | sort -h

Root wird oft versehentlich als Ablage missbraucht durch:

  • scp als root
  • rsync mit falschem Ziel
  • Cronjobs
  • Testdaten
  • Docker Builds

/root > 10 GB ist fast nie normal.

6. Logs: Wenn Fehler sich selbst vervielfältigen

sudo du -xh /var/log | sort -h

Journal prüfen:

journalctl --disk-usage

Aufräumen:

sudo journalctl --vacuum-size=1G

Oder zeitlich:

sudo journalctl --vacuum-time=7d

Dauerhafte Lösung:

/etc/systemd/journald.conf

SystemMaxUse=1G

7. Docker – der leise Killer

Docker belegt Platz, auch wenn keine Container laufen.

docker system df

Aufräumen:

docker system prune -a
docker volume prune

Pfad:

/var/lib/docker

Wenn das zweistellig GB hat → völlig normal, aber muss gemanagt werden.

8. Der fieseste Fall: Gelöschte Dateien, die noch offen sind

du zeigt sie nicht. df schon.

sudo lsof | grep deleted

Wenn dort große Dateien stehen:

  • Prozess hält File-Handle offen
  • Platz wird erst nach Prozessende freigegeben

Lösung: Dienst neu starten oder Prozess beenden.

9. Komfortabler Überblick mit ncdu (empfohlen)

sudo apt install ncdu
sudo ncdu /

ncdu ist:

  • schnell
  • ehrlich
  • gnadenlos klar

Ideal für Post-Mortem-Analysen.

10. Erst löschen, wenn die Ursache klar ist

Regel Nr. 1:

Lösche nichts, solange du nicht weißt, warum es da ist.

Fragen vor dem Löschen:

  • Sollte das auf ein anderes Laufwerk?
  • Gehört das zu einem Service?
  • Ist das ein Backup?
  • Läuft ein Cronjob dahinter?

11. Dauerhafte Prävention (der wichtigste Teil)

✔ Mounts absichern

  • systemd .mount Units
  • Skripte mit mountpoint -q /mnt || exit 1

✔ Logging begrenzen

  • journald Limits
  • logrotate prüfen

✔ Monitoring

  • df -h via Cron
  • Alert bei >80 %

✔ Root disziplinieren

  • Keine Datenablage
  • Kein „mal eben scp nach /root“

Fazit

Eine volle Festplatte ist kein Zufall.
Sie ist immer das Ergebnis von:

  • fehlenden Checks
  • stillen Annahmen
  • oder vergessenen Mounts

Linux gibt dir alle Werkzeuge an die Hand –
du musst sie nur konsequent nutzen.

Wenn du systematisch vorgehst, ist das Problem:

  • schnell gefunden
  • sauber gelöst
  • dauerhaft verhindert