Es gibt viele Werkzeuge zur Verwaltung von Speicherplatz in Linux. Allerdings werden nur einige wenige für die tägliche Wartung und Administration verwendet. In diesem Leitfaden werden einige der am häufigsten verwendeten Dienstprogramme zur Verwaltung von Einhängepunkten, Speichergeräten und Dateisystemen vorgestellt.
Weitere Ressourcen
In diesem Leitfaden wird nicht erläutert, wie Speichergeräte für ihre erstmalige Verwendung in einem Linux-System vorbereitet werden. Dieser Leitfaden zur Partitionierung und Formatierung von Blockgeräten in Linux hilft Ihnen dabei, Ihr Rohspeichergerät vorzubereiten, wenn Sie Ihren Speicherplatz noch nicht eingerichtet haben.
Weitere Informationen zu einigen der in der Speicherplatzdiskussion verwendeten Begriffe finden Sie in diesem Artikel über Speicherplatzterminologie.
Ermitteln von Speicherkapazität und -nutzung mit df
Häufig benötigen Sie die wichtigsten Informationen über den Speicher auf Ihrem System, nämlich die Kapazität und die aktuelle Nutzung der angeschlossenen Speichergeräte.
Um zu überprüfen, wie viel Speicherplatz insgesamt verfügbar ist und um die aktuelle Nutzung Ihrer Laufwerke zu sehen, verwenden Sie das Dienstprogramm df. Standardmäßig gibt dies die Messungen in 1K-Blöcken aus, was nicht immer nützlich ist. Fügen Sie die -h
-Flag hinzu, um die Ausgabe in menschenlesbaren Einheiten zu erhalten:
- df -h
OutputFilesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
/dev/sda1 99G 60M 94G 1% /mnt/data
Die Partition /dev/vda1
, die unter /
eingebunden ist, ist zu 6% voll und verfügt über 18G verfügbaren Speicherplatz, während die Partition /dev/sda1
, die unter /mnt/data
eingebunden ist, leer ist und über 94G verfügbaren Speicherplatz verfügt. Die anderen Einträge verwenden tmpfs
– oder devtmpfs
-Dateisysteme, die als flüchtiger Speicher verwendet werden, als ob es sich um permanenten Speicher handeln würde. Sie können diese Einträge ausschließen, indem Sie eingeben:
- df -h -x tmpfs -x devtmpfs
OutputFilesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/sda1 99G 60M 94G 1% /mnt/data
Diese Ausgabe bietet eine konzentriertere Anzeige der aktuellen Datenträgernutzung, indem einige Pseudo-Geräte und spezielle Geräte entfernt werden.
Informationen über Blockgeräte mit lsblk finden
A block device is a generic term for a storage device that reads or writes in blocks of a specific size. This term applies to almost every type of non-volatile storage, including hard disk drives (HDDs), solid state drives (SSDs), and so on. The block device is the physical device where the filesystem is written. The filesystem, in turn, dictates how data and files are stored.
Das Dienstprogramm lsblk kann verwendet werden, um Informationen über Blockgeräte anzuzeigen. Die spezifischen Funktionen des Dienstprogramms hängen von der installierten Version ab, aber im Allgemeinen kann der Befehl lsblk
verwendet werden, um Informationen über das Laufwerk selbst, sowie die Partitionierungsinformationen und das Dateisystem, das darauf geschrieben wurde, anzuzeigen.
Ohne Argumente zeigt lsblk
Gerätenamen, die Haupt- und Nebennummern, die einem Gerät zugeordnet sind (vom Linux-Kernel verwendet, um Treiber und Geräte zu verfolgen), ob das Laufwerk entfernt werden kann, seine Größe, ob es schreibgeschützt montiert ist, seinen Typ (Festplatte oder Partition) und seinen Einhängepunkt an. Einige Systeme erfordern sudo
, damit dies korrekt angezeigt wird:
- sudo lsblk
OutputNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
vda 253:0 0 20G 0 disk
└─vda1 253:1 0 20G 0 part /
Die wichtigsten Teile der angezeigten Ausgabe sind normalerweise der Name, der sich auf den Gerätenamen unter /dev
bezieht, die Größe, der Typ und der Einhängepunkt. Hier sehen Sie, dass Sie eine Festplatte (/dev/vda
) mit einer einzelnen Partition (/dev/vda1
) haben, die als /
-Partition verwendet wird, und eine weitere Festplatte (/dev/sda
), die nicht partitioniert wurde.
Um Informationen zu erhalten, die für die Verwaltung von Festplatten und Partitionen relevanter sind, können Sie auf einigen Versionen die --fs
-Flag übergeben:
- sudo lsblk --fs
OutputNAME FSTYPE LABEL UUID MOUNTPOINT
sda
vda
└─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /
Wenn die --fs
-Flag auf Ihrem System nicht verfügbar ist, können Sie die Ausgabe manuell replizieren, indem Sie die -o
-Flag verwenden, um spezifische Ausgaben anzufordern. Sie können -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
verwenden, um dieselben Informationen zu erhalten.
Um Informationen über die Festplattentopologie zu erhalten, geben Sie ein:
- sudo lsblk -t
OutputNAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sda 0 512 0 512 512 1 deadline 128 128 2G
vda 0 512 0 512 512 1 128 128 0B
└─vda1 0 512 0 512 512 1 128 128 0B
Es gibt viele andere Verknüpfungen, um verwandte Merkmale Ihrer Festplatten und Partitionen anzuzeigen. Sie können alle verfügbaren Spalten mit dem -O
-Flag ausgeben oder die anzuzeigenden Felder anpassen, indem Sie die Spaltennamen mit dem -o
-Flag angeben. Das -h
-Flag kann verwendet werden, um die verfügbaren Spalten aufzulisten:
- lsblk -h
Output. . .
Available columns (for --output):
NAME device name
KNAME internal kernel device name
. . .
SUBSYSTEMS de-duplicated chain of subsystems
REV device revision
VENDOR device vendor
For more details see lsblk(8).
Arbeiten mit Dateisystem-Mounts
Bevor Sie eine neue Festplatte verwenden können, müssen Sie sie in der Regel partitionieren, mit einem Dateisystem formatieren und dann das Laufwerk oder die Partitionen einhängen. Partitionieren und Formatieren sind in der Regel einmalige Vorgänge. Weitere Informationen zum Partitionieren und Formatieren einer Festplatte unter Linux finden Sie in Wie man Speichergeräte unter Linux partitioniert und formatiert.
Das Einhängen ist etwas, das Sie möglicherweise häufiger tun. Das Einhängen des Dateisystems macht es am ausgewählten Einhängepunkt für den Server verfügbar. Ein Einhängepunkt ist ein Verzeichnis, unter dem auf das neue Dateisystem zugegriffen werden kann.
Zwei ergänzende Befehle werden hauptsächlich zur Verwaltung von Mounts verwendet: mount
und umount
. Der Befehl mount
wird verwendet, um ein Dateisystem an den aktuellen Dateibaum anzuhängen. In einem Linux-System wird eine einzige vereinheitlichte Dateihierarchie für das gesamte System verwendet, unabhängig davon, aus wie vielen physischen Geräten es besteht. Der Befehl umount
(Hinweis: dies ist umount
, nicht unmount
) wird verwendet, um ein Dateisystem zu demontieren. Zusätzlich ist der Befehl findmnt
hilfreich, um Informationen über den aktuellen Zustand der eingehängten Dateisysteme zu sammeln.
Verwendung des mount-Befehls
Der einfachste Weg, mount
zu verwenden, besteht darin, ein formatiertes Gerät oder eine Partition und den Einhängepunkt anzugeben, an dem es angebracht werden soll:
- sudo mount /dev/sda1 /mnt
Der Einhängepunkt, der letzte Parameter, der angibt, wo im Dateisystem der neue Dateisystem eingehängt werden soll, sollte fast immer ein leerer Ordner sein.
In der Regel möchten Sie beim Einhängen spezifischere Optionen auswählen. Obwohl mount
versuchen kann, den Dateisystemtyp zu erraten, ist es fast immer eine bessere Idee, den Dateisystemtyp mit der Option -t
anzugeben. Für ein Ext4-Dateisystem wäre dies:
- sudo mount -t ext4 /dev/sda1 /mnt
Es gibt viele andere Optionen, die sich darauf auswirken werden, wie das Dateisystem eingebunden wird. Es gibt generische Einhängeoptionen, die im Abschnitt FILESYSTEM UNABHÄNGIGE EINHÄNGEOPTIONEN des mount Handbuchs zu finden sind.
Übergeben Sie andere Optionen mit der -o
Flagge. Zum Beispiel können Sie eine Partition mit den Standardoptionen einhängen (das steht für rw,suid,dev,exec,auto,nouser,async
), indem Sie -o defaults
angeben. Wenn Sie die Lese-Schreib-Berechtigungen überschreiben müssen und als schreibgeschützt einhängen möchten, können Sie ro
als spätere Option hinzufügen, was die rw
Option aus den defaults
überschreiben wird:
- sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt
Um alle im /etc/fstab
aufgeführten Dateisysteme einzuhängen, können Sie die Option -a
übergeben:
- sudo mount -a
Auflisten der Einhängeoptionen für Dateisysteme
Um die Einhängeoptionen für einen bestimmten Einhängepunkt anzuzeigen, verwenden Sie den Befehl findmnt
. Wenn Sie zum Beispiel den schreibgeschützten Einhängepunkt aus dem obigen Beispiel mit findmnt
betrachten, würde es ungefähr so aussehen:
- findmnt /mnt
OutputTARGET SOURCE FSTYPE OPTIONS
/mnt /dev/sda1 ext4 ro,relatime,data=ordered
Dies kann nützlich sein, wenn Sie mit mehreren Optionen experimentiert haben und schließlich einen Satz gefunden haben, den Sie mögen. Sie können die verwendeten Optionen mit findmnt
herausfinden, um zu wissen, welche für das Hinzufügen zur Datei /etc/fstab
für zukünftiges Einhängen geeignet sind.
Aushängen eines Dateisystems
Der Befehl umount
wird verwendet, um ein bestimmtes Dateisystem auszuhängen. Nochmals, dies ist umount
und nicht unmount
.
Die allgemeine Form des Befehls besteht darin, den Einhängepunkt oder das Gerät eines aktuell eingehängten Dateisystems anzugeben. Stellen Sie sicher, dass Sie keine Dateien im Einhängepunkt verwenden und dass keine Anwendungen (einschließlich Ihrer aktuellen Shell) im Einhängepunkt ausgeführt werden:
- cd ~
- sudo umount /mnt
Normalerweise gibt es keine Optionen, die dem Standard-Aushängeverhalten hinzugefügt werden können.
Zusammenfassung
Obwohl diese Liste keineswegs erschöpfend ist, sollten diese Dienstprogramme die meisten Ihrer täglichen Systemverwaltungsaufgaben abdecken. Durch das Erlernen einiger Werkzeuge können Sie Speichergeräte auf Ihrem Server verwalten.