VMware ESXi and vSphere Cluster Management
Dateisysteme unter Linux mit mkfs erzeugen
So erzeugen Sie mit mkfs ein Linux-Dateisystem auf einer Partition: Zielgerät sicher prüfen, Dateisystem auswählen, formatieren und Ergebnis kontrollieren.
Mit mkfs erzeugen Sie unter Linux ein neues Dateisystem auf einer Partition oder einem anderen Blockgerät. Dieser Vorgang ist destruktiv: Vorhandene Daten im Zielbereich werden überschrieben oder anschließend unzugänglich. Prüfen Sie deshalb das Zielgerät besonders sorgfältig, bevor Sie den Befehl ausführen.
Was ist ein Dateisystem?
Ein Dateisystem stellt Regeln und Datenstrukturen bereit, mit denen Linux Dateien und Verzeichnisse speichern, benennen und verwalten kann. Es legt unter anderem fest, wie Datenblöcke, Dateinamen, Rechte und Metadaten organisiert werden.
Die beteiligten Ebenen sollten Sie unterscheiden:
- Physischer Datenträger: zum Beispiel eine SSD, HDD oder ein virtueller Datenträger.
- Partition: ein abgegrenzter Bereich eines Datenträgers. Eine Partition kann als eigenes Blockgerät verwendet werden.
- Blockgerät: eine Gerätedatei unter
/dev, über die blockweise lesbarer und beschreibbarer Speicher angesprochen wird. - Dateisystem: die Struktur innerhalb einer Partition oder eines anderen Blockgeräts, in der Dateien und Verzeichnisse organisiert werden.
- Einhängepunkt: ein Verzeichnis, in das Linux das Dateisystem einbindet, beispielsweise
/mnt/daten.
Partitionieren und Formatieren sind daher unterschiedliche Vorgänge: Beim Partitionieren werden Speicherbereiche festgelegt. Beim Formatieren beziehungsweise Erzeugen eines Dateisystems wird eine solche Partition für die Dateiverwaltung vorbereitet.
Grundprinzip von mkfs
mkfs steht für „make filesystem“ und ist ein allgemeines Frontend zum Anlegen von Dateisystemen. Abhängig vom gewählten Typ verwendet es ein dateisystemspezifisches Werkzeug, etwa mkfs.ext4, mkfs.xfs oder mkfs.vfat.
Die allgemeine Form lautet:
sudo mkfs -t <dateisystemtyp> <zielgerät>
Statt der allgemeinen Form können Sie auch direkt das passende Werkzeug aufrufen:
sudo mkfs.ext4 <zielgerät>
In der Regel wird eine einzelne Partition formatiert, nicht das komplette Laufwerk. Der Unterschied zwischen /dev/sda und /dev/sda3 ist deshalb entscheidend.
Linux-Gerätenamen richtig lesen
| Gerätename | Bedeutung | Typisches Beispiel |
|---|---|---|
/dev/sda | Erstes klassisches SCSI-/SATA-Laufwerk | Gesamter Datenträger, nicht automatisch eine einzelne Partition |
/dev/sda3 | Dritte Partition auf /dev/sda | Ziel für ein Beispiel mit ext3 |
/dev/nvme0n1 | Erstes NVMe-Laufwerk | Gesamter NVMe-Datenträger |
/dev/nvme0n1p1 | Erste Partition auf dem NVMe-Laufwerk | Partition mit dem zusätzlichen p |
/dev/vdb1 | Erste Partition eines virtuellen Laufwerks /dev/vdb | Häufig in virtuellen Maschinen |
Eine Gerätedatei ist ein Pfad wie /dev/sda3, über den Programme auf ein Gerät oder eine Partition zugreifen. Die Namen können sich je nach Hardware, Bootreihenfolge und Umgebung unterscheiden. Verlassen Sie sich deshalb nicht ausschließlich auf den Namen, sondern vergleichen Sie Größe, Modell, Partitionen, Dateisystem und Einhängepunkt.
Zielgerät sicher identifizieren
Beginnen Sie mit einer Übersicht aller Blockgeräte:
lsblk -f
Die Ausgabe zeigt typischerweise Laufwerke und Partitionen sowie Dateisystemtyp, Label, UUID und Einhängepunkt. Eine beispielhafte gedankliche Zuordnung kann so aussehen:
NAME FSTYPE LABEL UUID MOUNTPOINTS
sda
├─sda1 ext4 ... /
└─sda3
sdb
└─sdb1 ext4 daten ... /mnt/alt
Kontrollieren Sie vor dem Formatieren:
- Ist es tatsächlich der gewünschte physische oder virtuelle Datenträger?
- Ist es die richtige Partition und nicht das gesamte Laufwerk?
- Enthält die Partition noch benötigte Daten?
- Ist sie eingehängt oder wird sie von einem Dienst verwendet?
- Haben Sie eine Sicherung der relevanten Daten?
Mit findmnt prüfen Sie eine konkrete Partition:
findmnt /dev/sdb1
Wenn eine Ausgabe mit einem Einhängepunkt erscheint, hängen Sie die Partition zunächst aus:
sudo umount /dev/sdb1
Alternativ kann der Einhängepunkt angegeben werden. Eine Meldung über belegte Ressourcen bedeutet meist, dass ein Prozess noch auf Dateien zugreift. Ermitteln Sie solche Zugriffe beispielsweise mit lsof oder fuser, beenden Sie die betreffenden Anwendungen und versuchen Sie das Aushängen erneut.
Passenden Dateisystemtyp auswählen
| Dateisystem | Typischer Einsatzzweck | Vorteile oder Eigenschaften | Zu beachten |
|---|---|---|---|
| ext3 | Ältere Linux-Systeme oder Kompatibilitätsfälle | Journaling-Dateisystem der ext-Familie | Historisch verbreitet; für neue Linux-Installationen wird häufig ext4 bevorzugt |
| ext4 | Allgemeine Linux-Partitionen | Weit verbreitet, robust und typischer Standard für neue Linux-Dateisysteme | Für spezielle Anforderungen können andere Typen geeigneter sein |
| XFS | Große oder leistungsorientierte Dateisysteme | Auf bestimmte große Datenbestände und Arbeitslasten ausgelegt | Werkzeuge und Eigenschaften unterscheiden sich von ext-Dateisystemen |
| vfat/FAT32 | Austauschmedien und plattformübergreifende Nutzung | Von vielen Betriebssystemen und Geräten unterstützt | FAT32 hat unter anderem eine Begrenzung der maximalen Dateigröße |
| exFAT | Größere Austauschmedien zwischen Linux, Windows und anderen Systemen | Geeignet für große Dateien und moderne Wechselmedien | Passende Werkzeuge müssen installiert sein; Eigenschaften unterscheiden sich von Linux-Dateisystemen |
Welche Typen verfügbar sind, hängt vom installierten Paketbestand und der Distribution ab. Prüfen Sie bei Bedarf, ob ein Werkzeug vorhanden ist:
command -v mkfs.ext4
command -v mkfs.xfs
command -v mkfs.vfat
Ein Dateisystem auf einer Partition erzeugen
Grundablauf
- Partition und Zielgerät mit
lsblk -feindeutig bestimmen. - Mit
findmntprüfen, ob die Partition eingehängt ist. - Die Partition mit
umountaushängen und aktive Zugriffe beenden. mkfsmit dem gewünschten Typ und dem Partitionsgerät ausführen.- Typ, Label und UUID mit
lsblkoderblkidkontrollieren. - Das neue Dateisystem anschließend bei Bedarf einhängen.
Beispiel: ext3 auf der dritten Partition von /dev/sda
Das folgende Beispiel legt ein ext3-Dateisystem auf der dritten Partition des ersten klassischen SCSI-/SATA-Geräts an:
sudo umount /dev/sda3
sudo mkfs -t ext3 /dev/sda3
Der zweite Befehl formatiert ausschließlich /dev/sda3, sofern dieses Gerät korrekt identifiziert wurde. Alle dort vorhandenen Daten werden verworfen. Die Partition muss vor dem Befehl ausgehängt sein.
Beispiel: modernes ext4-Dateisystem mit Label
sudo umount /dev/sdb1
sudo mkfs.ext4 -L daten /dev/sdb1
mkfs.ext4 ist die direkte Variante zu mkfs -t ext4. Die Option -L daten vergibt das lesbare Label daten.
Weitere Gerätetypen
Auf einem NVMe-System könnte eine Partition beispielsweise /dev/nvme0n1p1 heißen. In einer virtuellen Maschine kann das Ziel /dev/vdb1 sein. Das Prinzip bleibt gleich: Erst das konkrete Blockgerät prüfen, dann aushängen und erst danach das passende Dateisystem erzeugen.
Wichtige Optionen und typische Ausgaben
| Aufruf oder Option | Bedeutung | Beispiel | Hinweis |
|---|---|---|---|
mkfs -t <typ> <gerät> | Erzeugt den angegebenen Dateisystemtyp | sudo mkfs -t ext3 /dev/sda3 | Allgemeine, explizite Schreibweise |
mkfs.ext4 <gerät> | Ruft direkt das ext4-Werkzeug auf | sudo mkfs.ext4 /dev/sdb1 | Eine klare Alternative zu mkfs -t ext4 |
-t <typ> | Wählt den Dateisystemtyp | -t xfs | Das passende Werkzeug muss vorhanden sein |
-c | Prüft vor dem Anlegen auf fehlerhafte Blöcke | sudo mkfs -t ext3 -c /dev/sda3 | Kann bei großen Datenträgern sehr lange dauern; bei modernen SSDs nicht immer sinnvoll |
-L <label> | Vergibt einen lesbaren Namen | sudo mkfs.ext4 -L daten /dev/sdb1 | Erleichtert die spätere Erkennung |
Bei einem ext-Dateisystem kann die Ausgabe unter anderem folgende Informationen enthalten:
- Blöcke: Verwaltungseinheiten, in denen Nutzdaten und Metadaten gespeichert werden.
- Inodes: Metadatenstrukturen mit Informationen wie Eigentümer, Rechten, Zeitstempeln und Verweisen auf Datenblöcke. Die Anzahl der Inodes beeinflusst, wie viele Dateien angelegt werden können.
- Blockgröße: Größe der einzelnen Verwaltungseinheit des Dateisystems.
- Blockgruppen: Gruppen aus Daten- und Metadatenblöcken, die ext-Dateisysteme zur Organisation verwenden.
- Superblock-Sicherungen: zusätzliche Kopien wichtiger Dateisysteminformationen.
- UUID: eine eindeutige Kennung des Dateisystems, die sich später beispielsweise für
/etc/fstabverwenden lässt.
Die Option -c startet eine Prüfung auf Bad Blocks. Ein Bad Block ist ein nicht zuverlässig nutzbarer Speicherbereich. Die Prüfung kann bei großen klassischen Festplatten lange dauern. Bei SSDs ist eine vollständige Prüfung vor jeder Neuformatierung meist nicht erforderlich; bei konkretem Hardwareverdacht sind SMART- oder herstellerspezifische Diagnosen geeigneter.
Ergebnis nach dem Erzeugen überprüfen
Kontrollieren Sie unmittelbar nach dem erfolgreichen Befehl, ob Typ, UUID und Label wie erwartet angelegt wurden:
lsblk -f
sudo blkid /dev/sdb1
sudo file -s /dev/sdb1
blkid zeigt üblicherweise Einträge wie TYPE, UUID und gegebenenfalls LABEL. file -s untersucht den erkannten Inhalt eines Blockgeräts. Prüfen Sie immer genau dieselbe Partition, die Sie formatiert haben.
Bei ext-Dateisystemen können Sie das Dateisystem mit fsck beziehungsweise dem spezifischen Werkzeug e2fsck prüfen. Das Ziel darf dabei nicht eingehängt sein:
sudo umount /dev/sdb1
sudo e2fsck -f /dev/sdb1
Eine Prüfung und Reparatur sollte nur mit einem passenden Verständnis der gemeldeten Fehler erfolgen. Für andere Dateisysteme gelten andere Prüfwerkzeuge.
Das neue Dateisystem testweise mounten
Mounten bedeutet, ein Dateisystem in den Linux-Verzeichnisbaum einzuhängen. Nach der Kontrolle können Sie beispielsweise einen Einhängepunkt anlegen und das Dateisystem testen:
sudo mkdir -p /mnt/daten
sudo mount /dev/sdb1 /mnt/daten
lsblk -f
findmnt /dev/sdb1
Für dauerhafte Einhängungen kann die UUID in /etc/fstab verwendet werden. Dadurch bleibt die Konfiguration unabhängig davon, unter welchem Gerätenamen Linux den Datenträger erkennt.
Sicherheits- und Betriebswarnungen
- Führen Sie vor dem Formatieren eine Datensicherung durch.
- Vergleichen Sie Gerätename, Größe, Modell, Partition und Einhängepunkt mehrfach.
- Formatieren Sie keine eingehängte oder aktiv verwendete Partition.
- Verwenden Sie nicht versehentlich
/dev/sda, wenn eigentlich/dev/sda3gemeint ist. - Beachten Sie, dass auch ein scheinbar leeres Gerät wichtige Strukturen enthalten kann.
- Auf LVM, RAID, verschlüsselten Containern und virtuellen Datenträgern wird häufig ein logisches oder virtuelles Blockgerät formatiert. Prüfen Sie die Schichten darunter, bevor Sie den Befehl ausführen.
Fehlerbehebung
Das falsche Gerät könnte ausgewählt sein
Wenn mehrere ähnlich große Datenträger vorhanden sind, führen Sie lsblk -f aus und vergleichen Sie Größe, Modell, vorhandene Dateisysteme und Einhängepunkte. Bei verbleibender Unsicherheit dürfen Sie nicht fortfahren. Verwenden Sie nur die eindeutig identifizierte Zielpartition.
Das Ziel ist noch eingehängt
Prüfen Sie mit findmnt /dev/sdb1 oder lsblk -f, ob die Partition verwendet wird. Hängen Sie sie mit sudo umount /dev/sdb1 aus. Bei belegten Ressourcen untersuchen Sie offene Zugriffe mit lsof oder fuser und beenden die verantwortlichen Anwendungen oder Dienste.
Das gewünschte mkfs-Werkzeug fehlt
Eine Meldung über ein fehlendes dateisystemspezifisches Programm bedeutet meist, dass das passende Paket nicht installiert ist. Prüfen Sie beispielsweise:
command -v mkfs.ext4
command -v mkfs.xfs
Installieren Sie das benötigte Werkzeug über die Paketverwaltung Ihrer Distribution oder wählen Sie einen verfügbaren, für den Einsatzzweck geeigneten Dateisystemtyp.
Die Bad-Block-Prüfung dauert sehr lange
Eine vollständige Prüfung großer Datenträger kann lange dauern. Bewerten Sie Datenträgerart und Anlass: Für eine normale Neuformatierung ohne konkreten Defektverdacht können Sie auf -c verzichten. Bei einem Hardwareverdacht sollten Sie zusätzlich SMART- oder herstellerspezifische Diagnosen durchführen.
Der erwartete Dateisystemtyp wird nicht angezeigt
Prüfen Sie, ob der mkfs-Befehl erfolgreich beendet wurde und ob Sie anschließend dasselbe Gerät untersuchen:
sudo blkid /dev/sdb1
sudo file -s /dev/sdb1
Wenn weiterhin kein oder ein falscher Typ erscheint, werten Sie die Fehlermeldung des dateisystemspezifischen Werkzeugs aus. Führen Sie nicht vorschnell einen weiteren destruktiven Formatierungsversuch aus.
Prüfungsrelevante Merksätze
mkfsbedeutet „make filesystem“ und erzeugt ein Dateisystem auf einem Blockgerät.-twählt den Dateisystemtyp;-cfordert eine Bad-Block-Prüfung an;-Lsetzt ein Label.- Ein Gerätename mit Partitionsnummer, etwa
/dev/sda3, bezeichnet eine Partition. Ohne Partitionsnummer, etwa/dev/sda, bezeichnet er normalerweise den gesamten Datenträger. - Vor
mkfsstehen immer Zielprüfung, Datensicherung und Aushängen. - UUID und Label können nach dem Erzeugen mit
blkidoderlsblk -fkontrolliert und später für dauerhafte Einhängungen verwendet werden.
Eine passende Ergänzung ist die Anleitung Dateisysteme erzeugen, insbesondere wenn Sie den Ablauf anschließend mit Partitionierung, Mountpoints und dauerhaften Einhängungen verbinden möchten.