Linux df-Befehl: Berichterstattung über den Festplattenspeicher

LinuxBeginner
Jetzt üben

Einführung

In diesem Lab werden Sie den df-Befehl erkunden, ein unverzichtbares Werkzeug zur Überwachung der Festplattenbelegung auf Linux-Systemen. Sie schlüpfen in die Rolle eines Systemadministrators, der einen vielbeschäftigten Webserver verwaltet. Dabei nutzen Sie df, um die Speichernutzung zu analysieren, potenzielle Speicherengpässe zu identifizieren und den reibungslosen Betrieb des Servers sicherzustellen. Dieses Lab ist für Anfänger konzipiert, also machen Sie sich keine Sorgen, falls Linux neu für Sie ist – wir führen Sie sorgfältig durch jeden Schritt.

Den grundlegenden df-Befehl verstehen

Als Systemadministrator besteht Ihre erste Aufgabe darin, sich einen Überblick über die Festplattenbelegung auf Ihrem Webserver zu verschaffen. Der Befehl df ohne zusätzliche Optionen liefert eine schnelle Momentaufnahme aller gemounteten Dateisysteme.

Navigieren wir zunächst in das Projektverzeichnis:

cd ~/project

Führen wir nun den einfachen df-Befehl aus:

df

Tipps: Aufgrund der dynamischen Änderungen im Speicher virtueller Maschinen kann die Ausgabe des df-Befehls variieren; dieser Umstand kann ignoriert werden.

Sie sollten eine Ausgabe sehen, die in etwa so aussieht:

Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         20971520  1314600  19656920   7% /
tmpfs              65536        0     65536   0% /dev
tmpfs            4068320        0   4068320   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
/dev/vdb       104806400 17442788  87363612  17% /etc/hosts
tmpfs             102400    51200     51200  50% /mnt/ramdisk

Lassen Sie uns diese Ausgabe aufschlüsseln:

  • Filesystem: Diese Spalte zeigt den Namen des Geräts oder der Partition.
  • 1K-blocks: Hier wird die Gesamtgröße des Dateisystems in 1-Kilobyte-Blöcken angezeigt.
  • Used: Gibt an, wie viele 1K-Blöcke belegt sind.
  • Available: Zeigt an, wie viele 1K-Blöcke noch frei sind.
  • Use%: Zeigt den prozentualen Anteil des belegten Dateisystems.
  • Mounted on: Gibt an, an welcher Stelle im Verzeichnisbaum das Dateisystem eingehängt (gemountet) ist.

Beachten Sie das overlay-Dateisystem, das häufig in Container-Umgebungen verwendet wird. Das Gerät /dev/vdb ist wahrscheinlich eine virtuelle Festplatte, und wir sehen ein unter /mnt/ramdisk gemountetes tmpfs-Dateisystem, bei dem es sich um ein RAM-basiertes Dateisystem handelt.

Die df-Ausgabe menschenlesbar machen

Die Standardausgabe von df zeigt Größen in 1K-Blöcken an, was auf die Schnelle schwer zu interpretieren sein kann. Stellen Sie sich vor, Sie müssten im Kopf ausrechnen, wie viele Gigabyte 20640796 1K-Blöcke sind! Glücklicherweise können wir die Option -h (steht für „human-readable“) verwenden, um die Ausgabe verständlicher zu machen.

Führen Sie den folgenden Befehl aus:

df -h

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk

Beachten Sie, dass die Größen nun in GB und MB angegeben werden. Das ist auf einen Blick viel einfacher zu erfassen. Zum Beispiel sehen wir sofort, dass unser Hauptdateisystem (overlay) 20G groß ist, wovon nur 1,3G belegt und 19G verfügbar sind.

Dateisystemtypen anzeigen

Für einen Systemadministrator ist es wichtig zu wissen, welche Arten von Dateisystemen auf dem Server laufen. Verschiedene Dateisystemtypen haben unterschiedliche Funktionen und Leistungsmerkmale. Die Option -T ermöglicht es Ihnen, diese Informationen einzusehen.

Führen Sie den folgenden Befehl aus:

df -T

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem     Type    1K-blocks     Used Available Use% Mounted on
overlay        overlay  20971520  1314600  19656920   7% /
tmpfs          tmpfs       65536        0     65536   0% /dev
tmpfs          tmpfs     4068320        0   4068320   0% /sys/fs/cgroup
shm            tmpfs       65536        0     65536   0% /dev/shm
/dev/vdb       xfs     104806400 17442728  87363672  17% /etc/hosts
tmpfs          tmpfs      102400    51200     51200  50% /mnt/ramdisk

Diese Ausgabe enthält eine neue Spalte namens Type, die den Dateisystemtyp für jedes gemountete Dateisystem anzeigt. Schauen wir uns die Typen an:

  • overlay: Ein Union-Dateisystem, das oft in Container-Umgebungen genutzt wird.
  • tmpfs: Ein temporäres Dateisystem, das im Arbeitsspeicher (RAM) oder in der Swap-Partition liegt.
  • xfs: Ein leistungsstarkes Journaling-Dateisystem, das hier für den Mount-Punkt /etc/hosts verwendet wird.

Das Verständnis der Dateisystemtypen kann Ihnen helfen, Probleme zu beheben und die Leistung Ihres Systems zu optimieren.

Inode-Belegung analysieren

Unter Linux sind Inodes Datenstrukturen, die wichtige Informationen über Dateien speichern, wie Berechtigungen, Eigentümerschaft und den Speicherort auf der Festplatte. Jede Datei auf Ihrem System verbraucht genau einen Inode. Interessanterweise ist es möglich, dass Ihnen die Inodes ausgehen, selbst wenn noch reichlich Festplattenspeicher verfügbar ist. In einem solchen Fall könnten Sie keine neuen Dateien mehr erstellen. Deshalb ist die Überwachung der Inode-Belegung entscheidend.

Prüfen wir die Inode-Nutzung mit der Option -i:

df -i

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
overlay        52428800 539001 51889799    2% /
tmpfs           1017080    206  1016874    1% /dev
tmpfs           1017080     17  1017063    1% /sys/fs/cgroup
shm             1017080      1  1017079    1% /dev/shm
/dev/vdb       52428800 539001 51889799    2% /etc/hosts
tmpfs           1017080      2  1017078    1% /mnt/ramdisk

Lassen Sie uns diese Ausgabe aufschlüsseln:

  • Inodes: Die Gesamtzahl der Inodes für das Dateisystem.
  • IUsed: Die Anzahl der aktuell belegten Inodes.
  • IFree: Die Anzahl der freien Inodes.
  • IUse%: Der prozentuale Anteil der belegten Inodes.

In diesem Beispiel sehen wir, dass unser Hauptdateisystem (overlay) nur 2% seiner verfügbaren Inodes nutzt. Das ist ein guter Wert – es bedeutet, dass wir weit davon entfernt sind, keine Inodes mehr zu haben, was das Erstellen neuer Dateien verhindern würde.

Optionen für eine umfassende Analyse kombinieren

Nachdem wir die einzelnen Optionen kennengelernt haben, kombinieren wir sie nun für eine umfassendere Sicht auf die Speichersituation unseres Servers. Wir können mehrere Optionen zusammen verwenden, um alle benötigten Informationen mit einem einzigen Befehl zu erhalten.

Führen Sie den folgenden Befehl aus:

df -hT

Dieser Befehl kombiniert die menschenlesbare Anzeige (-h) mit der Anzeige des Dateisystemtyps (-T).

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   20G  1.3G   19G   7% /
tmpfs          tmpfs     64M     0   64M   0% /dev
tmpfs          tmpfs    3.9G     0  3.9G   0% /sys/fs/cgroup
shm            tmpfs     64M     0   64M   0% /dev/shm
/dev/vdb       xfs      100G   17G   84G  17% /etc/hosts
tmpfs          tmpfs    100M   50M   50M  50% /mnt/ramdisk

Diese Ausgabe bietet einen umfassenden Überblick über Ihre Dateisysteme, einschließlich ihrer Typen und menschenlesbaren Größen. Es ist eine hervorragende Methode, um eine schnelle, aber detaillierte Momentaufnahme des Systemstatus zu erhalten.

Fokus auf ein spezifisches Dateisystem

Als Systemadministrator müssen Sie oft den Status eines ganz bestimmten Dateisystems überprüfen. Vielleicht möchten Sie zum Beispiel schnell den Platz auf dem Root-Dateisystem kontrollieren. Dies können wir tun, indem wir den Mount-Punkt direkt nach dem df-Befehl angeben.

Konzentrieren wir uns auf das Root-Dateisystem. Führen Sie den folgenden Befehl aus:

df -h /

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Dieser Befehl gibt Ihnen eine schnelle Übersicht über die Speicherbelegung des Root-Dateisystems. Das ist besonders nützlich, wenn Sie nur an einem bestimmten Bereich interessiert sind und keine Informationen über alle anderen Mount-Punkte benötigen.

Verfügbaren Speicher für Benutzer-Home-Verzeichnisse prüfen

Im Rahmen Ihrer Aufgaben in der Serververwaltung müssen Sie sicherstellen, dass die Benutzer genügend Platz in ihren Home-Verzeichnissen haben. Auf vielen Systemen befinden sich diese im Verzeichnis /home. Prüfen wir den verfügbaren Speicherplatz dort.

Führen Sie den folgenden Befehl aus:

df -h /home

Möglicherweise sehen Sie eine Ausgabe wie diese:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Dies zeigt, dass das Verzeichnis /home auf demselben Dateisystem liegt wie das Root-Verzeichnis (/). In diesem Fall sehen wir, dass noch reichlich Platz (19G) für die Home-Verzeichnisse der Benutzer vorhanden ist.

Sollten Sie feststellen, dass ein Dateisystem fast voll ist (ein hoher Use%-Wert), müssten Sie untersuchen, welche Benutzer den meisten Platz verbrauchen, oder eine Erweiterung der Speicherkapazität in Erwägung ziehen.

Bestimmte Dateisystemtypen ausschließen

Manchmal möchten Sie bestimmte Dateisystemtypen aus der df-Ausgabe ausschließen. Beispielsweise könnten Sie temporäre Dateisysteme ausblenden wollen, da diese im RAM gespeichert sind und keine physische Festplattenbelegung darstellen. Dies ist mit der Option -x möglich.

Führen Sie den folgenden Befehl aus, um tmpfs-Dateisysteme auszuschließen:

df -h -x tmpfs

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
/dev/vdb        100G   17G   84G  17% /etc/hosts

Beachten Sie, dass die tmpfs-Dateisysteme nicht mehr in der Liste erscheinen. Dies ist hilfreich, wenn Sie sich rein auf die physische Festplattennutzung konzentrieren und virtuelle Dateisysteme herausfiltern möchten.

Eine Gesamtzusammenfassung anzeigen

Als abschließenden Überblick lassen wir uns eine Gesamtzusammenfassung aller Dateisysteme anzeigen. Dies erreichen wir mit der Option --total. Das ist besonders nützlich, wenn Sie die gesamte Festplattenbelegung über alle Dateisysteme hinweg sehen möchten.

Führen Sie den folgenden Befehl aus:

df -h --total

Sie sollten eine Ausgabe ähnlich dieser sehen:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk
total           125G   18G  107G  15% -

Dies liefert eine Gesamtsumme der Festplattennutzung. Die letzte Zeile zeigt das Total über alle Dateisysteme an und gibt an, dass insgesamt 18G von 125G belegt sind, was etwa 15% des gesamten verfügbaren Speichers entspricht.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den df-Befehl verwenden, um die Festplattenbelegung auf einem Linux-System zu überwachen und zu analysieren. Sie haben verschiedene Optionen des df-Befehls erkundet, darunter:

  • Grundlegende Verwendung von df
  • Ausgabe menschenlesbar machen mit -h
  • Anzeige von Dateisystemtypen mit -T
  • Analyse der Inode-Belegung mit -i
  • Kombination von Optionen für eine umfassende Analyse
  • Fokus auf spezifische Dateisysteme
  • Ausschluss bestimmter Dateisystemtypen mit -x
  • Anzeige einer Gesamtzusammenfassung mit --total

Diese Fähigkeiten sind entscheidend für eine effektive Systemadministration und die Gewährleistung einer optimalen Leistung Ihrer Linux-Server. Auf Ihrem weiteren Weg in der Systemadministration wird sich der df-Befehl als unschätzbares Werkzeug in Ihrem Repertoire erweisen.

Zusätzliche df-Optionen, die in diesem Lab nicht behandelt wurden, sind:

  • -a: Zeigt alle Dateisysteme an, einschließlich Pseudo-, Duplikat- und unzugänglicher Dateisysteme.
  • -k: Zeigt Größen in Kilobyte an (Standard).
  • -m: Zeigt Größen in Megabyte an.
  • -P: Verwendet das POSIX-Ausgabeformat.
  • --sync: Ruft sync auf, bevor Nutzungsinformationen abgerufen werden.
  • -t: Beschränkt die Auflistung auf Dateisysteme eines bestimmten Typs.

Denken Sie daran: Obwohl df mächtig ist, ist es nur eines von vielen Werkzeugen zur Überwachung der Festplattennutzung. Wenn Sie Ihre Linux-Kenntnisse vertiefen, sollten Sie auch andere Befehle wie du (disk usage), ncdu (NCurses Disk Usage) und verschiedene System-Monitoring-Tools erkunden.