Zum Inhalt springen
Startseite » Systemfestplatte voll bei OpenMediaVault

Systemfestplatte voll bei OpenMediaVault

Symptome

Ein Anzeichen dafür, dass dein Root-Dateisystem voll ist, kann sein, dass du dich nicht mehr in die grafische Benutzeroberfläche (GUI) von OMV einloggen kannst. Statt einer erfolgreichen Anmeldung wird die Login-Seite erneut angezeigt.

Überprüfen, ob ein volles Root-Dateisystem das Problem ist

Um festzustellen, ob das Root-Dateisystem voll ist, kannst du dich per SSH in deinen Server einloggen (siehe die Anleitung für neue Benutzer, wie man per SSH auf den Server zugreift) und folgenden Befehl ausführen:

df

Dieser Befehl zeigt die Nutzung jedes Dateisystems an. Die Ausgabe von df könnte folgendermaßen aussehen:

15:01:03 root@server:~# df
Filesystem      1K-blocks       Used  Available Use% Mounted on
udev              8033820          0    8033820   0% /dev
tmpfs             1610128      27588    1582540   2% /run
/dev/sda1         39108608   39108608          0 100% /
tmpfs             8050632          0    8050632   0% /dev/shm
tmpfs                5120          0       5120   0% /run/lock
tmpfs             8050632          0    8050632   0% /sys/fs/cgroup
tmpfs             8050632          0    8050632   0% /tmp
folder2ram        8050632      75248    7975384   1% /var/log
folder2ram        8050632          4    8050628   1% /var/tmp
folder2ram        8050632        624    8050008   1% /var/lib/openmediavault/rrd
folder2ram        8050632        996    8049636   1% /var/spool
/dev/sda2        76360744    9428044   63010780  14% /srv/dev-disk-by-label-dataos
folder2ram        8050632      11648    8038984   1% /var/lib/rrdcached
/dev/md127     2884009464 1680001056 1203992024  59% /srv/dev-disk-by-label-pool
folder2ram        8050632          4    8050628   1% /var/lib/monit
folder2ram        8050632       1604    8049028   1% /var/cache/samba
/dev/sdb1      2930265540 1627081640 1300996536  56% /srv/dev-disk-by-label-internalbackup

Das Dateisystem /dev/sda1, das auf / gemountet ist, ist das Betriebssystem-Dateisystem. Wenn die Auslastung dieses Dateisystems 100% beträgt, bedeutet das, dass das Betriebssystem-Dateisystem voll ist.

Ermitteln, welches Verzeichnis das Dateisystem füllt

Um herauszufinden, welches Verzeichnis das Dateisystem füllt, führe in der Kommandozeile die folgenden Schritte aus:

  1. Wechsel ins Root-Verzeichnis des Betriebssystem-Dateisystems:
   cd /
  1. Verwende du, um die Größe jedes Verzeichnisses im Root-Verzeichnis zu ermitteln:
   du -xhd1

Dieser Befehl zeigt die Größe jedes Verzeichnisses im Root-Verzeichnis an (x: nicht in andere Dateisysteme absteigen; h: Ausgabe in lesbarem Format anzeigen; d1: nur die erste Ebene der Verzeichnisse anzeigen). Die Ausgabe könnte wie folgt aussehen:

   15:08:05 root@hawk:/# du -xhd1
   9.8M    ./etc
   0       ./media
   2.2G    ./var
   2.3G    ./usr
   1.4G    ./boot
   20K     ./home
   5.7M    ./root
   0       ./mnt
   20.2G   ./srv
   0       ./opt
   0       ./export
   4.0M    ./tmp_urbackup
   16K     ./.config
   0       ./sharedfolders
   25.8G   .

(Um nur die 10 größten Ordner/Dateien in der richtigen Reihenfolge zu erhalten, benutze du -ahxd1 | sort -hr | head -n 10)

  1. Identifiziere das größte Verzeichnis und wechsle in dieses Verzeichnis:
   cd ordnername

Ersetze ordnername durch den Namen des größten Verzeichnisses.

  1. Wiederhole diese Schritte, bis du das „tiefste“ Verzeichnis gefunden hast, das dein Root-Dateisystem füllt.
  2. Wechsel in dieses Verzeichnis und prüfe mit ls -al, was sich darin befindet. Der Befehl ls listet den Verzeichnisinhalt auf (a: zeigt auch versteckte Einträge, l: zeigt die Liste im Langformat).
   ls -al

Weitere Schritte zur Speicherplatzfreigabe

Die weiteren Schritte hängen von den Gründen ab, warum der Speicherplatz belegt ist. Wenn zum Beispiel große Log-Dateien oder veraltete Backups den Speicherplatz füllen, kannst du diese gezielt löschen oder verschieben.

Tooltipp: ncdu verwenden

Ein nützliches Tool, um den Ordner zu identifizieren, der das Betriebssystem-Dateisystem füllt, ist ncdu. Es bietet eine benutzerfreundliche, interaktive Ansicht des Speicherplatzverbrauchs.

Installation und Nutzung:

  1. Installiere ncdu mit folgendem Befehl:
   apt-get install ncdu
  1. Wechsel erneut ins Root-Verzeichnis:
   cd /
  1. Starte ncdu mit der Option -x, um zu verhindern, dass es in andere Dateisysteme (z.B. deine Datenträger) hinabsteigt, was viel Zeit in Anspruch nehmen könnte:
   ncdu -x

Mit ncdu kannst du leicht herausfinden, welche Verzeichnisse am meisten Platz beanspruchen und entsprechende Maßnahmen ergreifen.

Lösung

Bereinige den APT-Cache, um zusätzlichen Speicherplatz freizugeben.
Führe dazu folgenden Befehl aus:

sudo omv -aptclean

Dieser Befehl entfernt überflüssige APT-Cache-Dateien und kann helfen, wertvollen Speicherplatz freizugeben.

Jetzt sollte so viel Speicherplatz frei sein dass du dich in einem Privaten Fenster wieder auf der GUI einloggen kannst.

Überprüfen ob statt der Mount-Points auf die Systemplatte gespeichert wurde.

Schritt 1:

Zuerst müssen wir feststellen, welche Verzeichnisse auf deinem System den meisten Speicherplatz belegen. Dazu erstellen wir ein zusätzliches Mount-Point für das Root-Dateisystem und binden das /srv-Verzeichnis dorthin ein.

mkdir -p /mnt/rootfs                  # Erstelle einen zusätzlichen Mount-Point für dein Root-Dateisystem
mount --bind /srv /mnt/rootfs         # Binde das /srv-Verzeichnis an den neuen Mount-Point
cd /mnt/rootfs                        # Wechsle in das Verzeichnis, wo der echte Inhalt von /srv sichtbar ist
du -hxd1 /mnt/rootfs | sort -hr       # Überprüfe den Speicherplatzverbrauch im Mount-Point

Schritt 2: Speicherplatzverbrauch analysieren

Nachdem du die oben genannten Befehle ausgeführt hast, siehst du eine Liste von Verzeichnissen, die nach ihrer Größe sortiert sind:

root@omv:/mnt/rootfs# du -hxd 1 /mnt/rootfs | sort -hr
6,5G    /mnt/rootfs
4,5G    /mnt/rootfs/docker
2,0G    /mnt/rootfs/docker-apps
1,7M    /mnt/rootfs/salt
32K     /mnt/rootfs/zfs
32K     /mnt/rootfs/pillar
8,0K    /mnt/rootfs/ftp
4,0K    /mnt/rootfs/dev-disk-by-uuid-e887f188-f1ac-4126-9238-32963bb8dced
4,0K    /mnt/rootfs/dev-disk-by-label-docker
root@omv:/mnt/rootfs#

Schritt 3: Speicherplatz freigeben

In dieser Liste sollten alle Verzeichnisse, die mit dev-disk-by- beginnen, ganz unten stehen und leer sein. Wenn das nicht der Fall ist, hast du den Grund gefunden, warum dein Betriebssystem-Laufwerk voll ist. Lösche den Inhalt dieser Verzeichnisse, um den belegten Speicherplatz zurückzugewinnen:

Achtung: Lösche nur Inhalte in Verzeichnissen, die mit dev-disk-by- beginnen. Andere Verzeichnisse oder Symlinks enthalten möglicherweise echte Daten, die weiterhin unter /srv/ genutzt werden. Verändere diese nicht!

Schritt 4: Änderungen rückgängig machen

Nachdem du den nicht benötigten Speicherplatz gelöscht hast, musst du das Root-Dateisystem wieder aushängen und den Mount-Point entfernen:

umount /mnt/rootfs        # Hänge das /srv-Verzeichnis von /mnt/rootfs aus
rmdir /mnt/rootfs         # Entferne den zuvor erstellten Mount-Point

Fazit

Mit diesen Schritten solltest du in der Lage sein, den Speicherplatz auf deinem OMV-System wiederherzustellen und zu verhindern, dass das Root-Dateisystem unerwartet voll wird. Denk daran, regelmäßig den Speicherplatz zu überprüfen, um zukünftige Probleme zu vermeiden.