GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erklärte Linux-Dateisystemtypen, welche Sie verwenden sollten

Linux unterstützt verschiedene Dateisysteme wie ext4, ZFS, XFS, Btrfs, Reiser4 und so weiter. Unterschiedliche Arten von Dateisystemen lösen unterschiedliche Probleme und ihre Verwendung ist anwendungsspezifisch.

Die Wahl eines Linux-Dateisystems für Ihre Anwendung ist eine wichtige Entscheidung. Dieses Tutorial beschreibt einige der wichtigsten Linux-Dateisysteme und gibt Empfehlungen zum richtigen Dateisystem für Ihre Anwendung.

Was ist ein Linux-Dateisystem

Nahezu alle Daten und Programmierungen, die zum Booten eines Linux-Systems und zum Betrieb erforderlich sind, werden im Dateisystem gespeichert. Beispielsweise das Betriebssystem selbst, Compiler, Anwendungsprogramme, gemeinsam genutzte Bibliotheken, Konfigurationsdateien, Protokolldateien, Medieneinhängepunkte usw.

Dateisysteme arbeiten im Hintergrund. Wie der Rest des Kernels eines Betriebssystems sind sie im täglichen Gebrauch weitgehend unsichtbar.

Das Linux-Dateisystem ist im Allgemeinen eine integrierte Schicht eines Linux-Betriebssystems, das zur Verwaltung der Speicherdaten verwendet wird. Es steuert, wie Daten gespeichert und abgerufen werden.

Außerdem verwaltet es den Dateinamen, die Dateigröße, das Erstellungsdatum und viele weitere Informationen zu einer Datei.

Ext4-Dateisystem

1992 wurde das Extended File System oder ext speziell für das Linux-Betriebssystem eingeführt. Es hat seine Wurzeln im Minix-Betriebssystem. 1993 wurde ein Update namens Extended File System 2 oder ext2 veröffentlicht, das viele Jahre lang das Standarddateisystem in vielen Linux-Distributionen war.

Bis 2001 wurde ext2 auf ext3 aktualisiert, wodurch Journaling zum Schutz vor Beschädigung bei Abstürzen oder Stromausfällen eingeführt wurde.

Ext4 (Fourth Extended Filesystem) wurde 2008 eingeführt und ist seit 2010 das standardmäßige Linux-Dateisystem. Es wurde als progressive Überarbeitung des ext3-Dateisystems konzipiert und überwand einige Einschränkungen in ext3.

Infolgedessen hat ext4 gegenüber seinem Vorgänger erhebliche Vorteile, wie verbessertes Design, bessere Leistung, Zuverlässigkeit und neue Funktionen.

Heutzutage ist ext4 das Standarddateisystem auf den meisten Linux-Distributionen. Es kann große Dateien und Dateisysteme von bis zu 16 Terabyte unterstützen.

Es unterstützt auch eine unbegrenzte Anzahl von Unterverzeichnissen (das ext3-Dateisystem unterstützt nur bis zu 32.000). Außerdem ist ext4 abwärtskompatibel mit ext3 und ext2, sodass diese älteren Versionen mit dem ext4-Treiber gemountet werden können.

Es gibt einen Grund, warum ext4 die Standardauswahl für die meisten Linux-Distributionen ist. Es ist erprobt, getestet, stabil, funktioniert hervorragend und wird weitgehend unterstützt. Wenn Sie also nach Stabilität suchen, ist ext4 das beste Linux-Dateisystem für Sie.

Trotz seiner Funktionen unterstützt ext4 keine transparente Komprimierung, transparente Verschlüsselung oder Datendeduplizierung.

XFS-Dateisystem

XFS ist ein hochskalierbares Dateisystem, das von Silicon Graphics entwickelt und erstmals 1994 im Unix-basierten IRIX Betriebssystem ausgeführt wurde. Es ist ein Journaling-Dateisystem und verfolgt als solches Änderungen in einem Protokoll, bevor die Änderungen an den Hauptspeicher übertragen werden Dateisystem.

Der Vorteil ist eine garantierte Konsistenz des Dateisystems und eine beschleunigte Wiederherstellung bei Stromausfällen oder Systemabstürzen.

Ursprünglich wurde XFS entwickelt, um extrem große Dateisysteme zu unterstützen mit Größen von bis zu 16 Exabyte und Dateigrößen von bis zu 8 Exabyte. Daher wird es seit langem auf großen Servern und Speicher-Arrays ausgeführt.

Eine bemerkenswerte Funktion von XFS ist Guaranteed Rate IO. Dadurch können Anwendungen Bandbreite reservieren. Das Dateisystem berechnet die verfügbare Leistung und passt seinen Betrieb an die bestehenden Reservierungen an.

XFS ist für den Betrieb in Umgebungen bekannt, die eine hohe Leistung und Skalierbarkeit erfordern, und wird daher routinemäßig als eines der leistungsstärksten Dateisysteme auf großen Systemen mit Unternehmens-Workloads gemessen.

Heute wird XFS von den meisten Linux-Distributionen unterstützt und ist zum Standarddateisystem auf Red Hat Enterprise Linux, Oracle Linux, CentOS und vielen anderen Distributionen geworden.

Beste Anwendungsfälle für das XFS-Dateisystem

Haben Sie also einen großen Server? Haben Sie große Speicheranforderungen oder ein lokales, langsames SATA-Laufwerk?

Wenn sowohl Ihr Server als auch Ihr Speichergerät groß sind und die Dateisystemgröße nicht reduziert werden muss, ist XFS wahrscheinlich die beste Wahl.

XFS ist ein hervorragendes Dateisystem, das sich gut für große Server skalieren lässt. Aber selbst bei kleineren Speicherarrays funktioniert XFS sehr gut, wenn die durchschnittliche Dateigröße groß ist, beispielsweise Hunderte von Megabyte groß ist.

Btrfs-Dateisystem

Btrfs ist das Allzweck-Linux-Dateisystem der nächsten Generation, das einzigartige Funktionen wie erweiterte integrierte Geräteverwaltung, Skalierbarkeit und Zuverlässigkeit bietet. Es ist unter der GPL lizenziert und für Beiträge von allen offen. Für das Dateisystem werden verschiedene Namen verwendet, darunter „Butter FS“, „B-Tree FS“ und „Better FS.“

Die Entwicklung von Btrfs begann 2007 bei Oracle. Es wurde 2009 in den Mainline-Linux-Kernel integriert und debütierte in der Linux-Version 2.6.29.

Btrfs ist kein Nachfolger des standardmäßigen ext4-Dateisystems, das in den meisten Linux-Distributionen verwendet wird, bietet jedoch eine bessere Skalierbarkeit und Zuverlässigkeit. Stattdessen ist Btrfs ein Copy-on-Write (CoW)-Dateisystem, das verschiedene Schwachstellen in aktuellen Linux-Dateisystemen beheben soll.

Btrfs konzentriert sich hauptsächlich auf auf Fehlertoleranz, Selbstheilungseigenschaften und einfache Verwaltung.

Btrfs kann bis zu 16 Exbibyte-Partitionen und eine Datei derselben Größe unterstützen. Wenn Sie also die Zahlen verwirren, müssen Sie nur wissen, dass Btrfs bis zu sechzehn Mal mehr Daten als Ext4 unterstützen kann.

Wie funktioniert Copy-on-Write und warum sollten Sie es wollen

Auf einem herkömmlichen Dateisystem würden beim Ändern einer Datei die Daten gelesen, geändert und dann an dieselbe Stelle zurückgeschrieben. In einem Copy-on-Write-Dateisystem liest es die Daten, ändert sie und schreibt sie an einen neuen Speicherort. Dadurch wird ein Datenverlust während der Lese-Änderungs-Schreib-Transaktion verhindert, da sich die Daten immer auf einer Festplatte befinden.

Da Sie nicht „neu verweisen“, bis der neue Block vollständig ausgeschrieben ist, erhalten Sie bei einem Stromausfall oder einem Absturz mitten im Schreibvorgang entweder den alten oder den neuen Block, aber keinen halb geschriebenen beschädigten Block. Sie müssen also nicht fsck Dateisysteme beim Start, und Sie verringern das Risiko einer Datenbeschädigung.

Sie können jederzeit einen Snapshot des Dateisystems erstellen, indem Sie einen Snapshot-Eintrag in den Metadaten mit dem aktuellen Satz von Zeigern erstellen.

Dies schützt alte Blöcke vor späterer Garbage Collection und ermöglicht dem Dateisystem, ein Volume so darzustellen, wie es während des Snapshots war. Mit anderen Worten, Sie haben sofortige Rollback-Funktionen. Sie können dieses Volume sogar klonen, um es basierend auf dem Snapshot zu einem beschreibbaren Volume zu machen.

Ihre andere Wahl ist ZFS unter Linux, das möglicherweise stabiler ist, aber einige weitere Schritte zur Installation auf typischen Linux-Distributionen erfordert.

Btrfs-Funktionen

  • Copy on Write (CoW) und Snapshots – Machen Sie inkrementelle Backups problemlos selbst von einem „heißen“ Dateisystem oder einer virtuellen Maschine (VM).
  • Prüfsummen auf Dateiebene – Metadaten für jede Datei enthalten eine Prüfsumme, die zum Erkennen und Beheben von Fehlern verwendet wird.
  • Komprimierung – Dateien können spontan komprimiert und dekomprimiert werden, was die Leseleistung beschleunigt.
  • Automatische Defragmentierung – Ein Hintergrund-Thread optimiert die Dateisysteme, während sie verwendet werden.
  • Subvolumes – Dateisysteme können sich einen einzigen Speicherplatzpool teilen, anstatt in ihre Partitionen gesteckt zu werden.
  • RAID – Btrfs führt seine RAID-Implementierungen durch, daher müssen LVM oder mdadm kein RAID haben. Derzeit werden RAID 0, 1 und 10 unterstützt. RAID 5 und 6 gelten als instabil.
  • Partitionen sind optional – Während Btrfs mit Partitionen arbeiten kann, hat es das Potenzial, Raw-Geräte (/dev/) direkt zu verwenden.
  • Datendeduplizierung – Es gibt begrenzte Unterstützung für Datendeduplizierung; Die Deduplizierung wird jedoch irgendwann zu einer Standardfunktion in Btrfs werden. Dadurch kann Btrfs Platz sparen, indem es Dateien über binäre Diffs vergleicht.

Btrfs ist ein Dateisystem, das nach der Implementierung keine Verwaltung benötigt. Daher sollten Sie niemals fsck ausführen müssen Befehl darauf. Wann immer irgendwelche Fehler oder Inkonsistenzen auftreten, sollte es sie einfach behandeln und sich auf den Weg machen.

Zwar gilt Btrfs immer noch als experimentell und befindet sich derzeit in aktiver Entwicklung, aber die Zeit, in der Btrfs zum Standard-Dateisystem für Linux-Systeme wird, rückt immer näher. Einige Linux-Distributionen haben bereits begonnen, mit ihren aktuellen Releases darauf umzustellen.

Wenn Sie keine Angst vor dem Umgang mit einem etwas weniger ausgereiften Ökosystem haben, ist Btrfs möglicherweise die bessere Option für Sie.

ZFS-Dateisystem

ZFS (Zettabyte File System) ist seit seinem Erscheinen im Oktober 2005 nach wie vor eines der technisch fortschrittlichsten Dateisysteme mit den umfassendsten Funktionen /P>

ZFS wurde unter einer Open-Source-Lizenz veröffentlicht, bis Oracle Sun Microsystems kaufte und die Lizenz beendete.

Sie können sich ZFS als Volume-Manager und RAID-Array in einem vorstellen , wodurch zusätzliche Festplatten zu Ihrem ZFS-Volume hinzugefügt werden können, wodurch zusätzlicher Speicherplatz zu Ihrem Dateisystem hinzugefügt werden kann. Darüber hinaus verfügt ZFS über einige andere Funktionen, die herkömmliches RAID nicht hat.

ZFS hängt stark vom Speicher ab, daher benötigen Sie zum Starten mindestens 8 GB. Verwenden Sie in der Praxis so viel wie möglich für Ihre Hardware/Ihr Budget.

ZFS wird häufig von Datenhortern, NAS-Benutzern und anderen Geeks verwendet, die lieber auf ein eigenes redundantes Speichersystem als auf die Cloud vertrauen. Es ist ein fantastisches Dateisystem, um mehrere Datenträger mit Daten zu verwalten, und konkurriert mit einigen der hervorragenden RAID-Setups.

ZFS ähnelt anderen Speicherverwaltungsansätzen, unterscheidet sich jedoch in mancher Hinsicht grundlegend. Beispielsweise verwendet ZFS normalerweise nicht den Linux Logical Volume Manager (LVM) oder Festplattenpartitionen, und es ist im Allgemeinen bequem, Partitionen und LVM-Strukturen zu löschen, bevor Medien für einen Zpool vorbereitet werden.

Der zpool ist das Analogon des LVM. Ein Zpool umfasst ein oder mehrere Speichergeräte, und Mitglieder eines Zpools können unterschiedlicher Art sein. Die grundlegenden Speicherelemente sind einzelne Geräte, Spiegel und raidz. Alle diese Speicherelemente werden vdevs genannt.

ZFS kann die Speicherintegrität viel besser durchsetzen als jeder RAID-Controller, da es über genaue Kenntnisse der Dateisystemstruktur verfügt. Daher ist die Datensicherheit ein wichtiges Designmerkmal von ZFS. Alle Blöcke, die in einen Zpool geschrieben werden, werden aggressiv mit Prüfsummen versehen, um die Konsistenz und Korrektheit der Daten sicherzustellen.

Für die Verwendung von Servern, bei denen Sie fast alle Möglichkeiten von Datenverlusten ausschließen möchten und Stabilität der Name des Spiels ist, sollten Sie sich ZFS ansehen.

ZFS-Funktionen

Unendliche Skalierbarkeit . Nun, es ist technisch gesehen nicht endlos, aber es ist ein 128-Bit-Dateisystem, das in der Lage ist, Zettabytes (eine Milliarde Terabytes) an Daten zu verwalten. Daher ist ZFS für die Verwaltung geeignet, egal wie viel Festplattenspeicher Sie haben.

Maximale Integrität . Alles, was Sie innerhalb von ZFS tun, verwendet eine Prüfsumme, um die Dateiintegrität sicherzustellen. Als Ergebnis können Sie sicher sein, dass Ihre Dateien und ihre redundanten Kopien keiner stillen Datenbeschädigung ausgesetzt sind. Während ZFS Ihre Daten stillschweigend auf Integrität überprüft, führt es automatische Reparaturen durch, wann immer es kann.

Laufwerkpooling . Die Macher von ZFS möchten, dass Sie es sich so vorstellen, wie Ihr Computer RAM verwendet. Wenn Sie mehr Speicher in Ihrem Computer benötigen, stecken Sie einen weiteren Stick ein und fertig.

Ähnlich verhält es sich mit ZFS, wenn Sie mehr Festplattenspeicher benötigen, stecken Sie eine weitere Festplatte ein, und Sie sind fertig. Es besteht keine Notwendigkeit, Zeit mit dem Partitionieren, Formatieren, Initialisieren oder irgendetwas anderem an Ihren Festplatten zu verbringen. Wenn Sie einen größeren Speicherpool benötigen, fügen Sie einfach Festplatten hinzu.

RAID . ZFS ist für viele verschiedene RAID-Stufen geeignet und bietet gleichzeitig eine Leistung, die mit der von Hardware-RAID-Controllern vergleichbar ist. Dadurch können Sie Geld sparen, die Einrichtung vereinfachen und auf überlegene RAID-Level zugreifen, die ZFS verbessert hat.

Reiser4-Dateisystem

ReiserFS ist ein Allzweck-Journaled-Computerdateisystem, das ursprünglich von einem Team bei Namesys unter der Leitung von Hans Reiser entworfen und implementiert wurde. Eingeführt in Version 2.4.1 des Linux-Kernels, war es das erste Journaling-Dateisystem, das im Standard-Kernel enthalten war.

Mit Ausnahme von Sicherheitsupdates und kritischen Fehlerbehebungen hat Namesys die Entwicklung von ReiserFS eingestellt. Reiser4 ist das Nachfolgedateisystem für ReiserFS. Es hat Verschlüsselung, verbesserte Leistung und vieles mehr hinzugefügt.

Reiser4 benötigt einen gepatchten Kernel. Leider ist es immer noch nicht im offiziellen Linux-Kernel enthalten, aber Patches für Linux-5.x sind bereits verfügbar. Die Gründe, warum Reiser4 heute nicht im Linux-Kernel enthalten ist, können als Behauptungen zusammengefasst werden, dass weitere Tests erforderlich sind.

Reiser4 bietet die effizienteste Speicherplatznutzung unter allen Dateisystemen in allen Szenarien und Arbeitslasten. ReiserFS bietet Vorteile gegenüber anderen Dateisystemen, insbesondere bei der Handhabung einer großen Anzahl kleiner Dateien.

Es unterstützt Journaling für eine schnelle Wiederherstellung bei Problemen. Die Struktur des Dateisystems basiert auf Bäumen. Außerdem verbraucht Reiser4 etwas mehr CPU als andere Dateisysteme.

Reiser4 hat eine einzigartige Fähigkeit, den von kleinen Dateien belegten Speicherplatz (weniger als ein Block) zu optimieren. Dies liegt daran, dass sie vollständig in ihrem Inode gespeichert werden, ohne Blöcke im Datenbereich zuzuweisen.

Neben der Implementierung der traditionellen Linux-Dateisystemfunktionen bietet Reiser4 Benutzern einige zusätzliche Funktionen:transparente Komprimierung und Verschlüsselung von Dateien, vollständiges Datenjournal und nahezu unbegrenzte (mit Hilfe der Plug-in-Architektur) Erweiterbarkeit.

Es gibt jedoch keine Unterstützung für direktes IO (die Arbeit an der Implementierung hat begonnen), Kontingente und POSIX-ACL.

Schlussfolgerung

Die Auswahl des Dateisystems, das Ihre spezifischen Anwendungsanforderungen erfüllt, erfordert Beratung und Recherche verschiedener Parameter.

Dieser Artikel beschreibt die Vorteile der Dateisystemoptionen ext4, ZFS, XFS, Btrfs und Reiser4, um Sie bei der Entscheidung für das richtige Dateisystem für Ihre Anwendungsumgebungen zu unterstützen.

Vielen Dank, dass Sie sich hier Zeit genommen haben.


Linux
  1. Welche Open-Source-Backup-Lösung verwenden Sie?

  2. Welchen Linux-Terminalbefehl verwenden Sie am häufigsten?

  3. Visual Studio Code oder Atom? Welchen Code-Editor sollten Sie verwenden?

  4. Für welche Workload haben Sie zuerst Linux-Container verwendet?

  5. Drei Linux-Befehle, die Sie niemals verwenden sollten

Fedora vs. Red Hat:Welche Linux-Distribution sollten Sie verwenden und warum?

Alles, was Sie über das Linux-Dateisystem wissen müssen

Apt vs. Apt-get-Befehle erklärt:Welchen verwenden?

Terraform vs. Ansible:Was ist der Unterschied und welches sollten Sie verwenden?

Linux Mint vs. Ubuntu – Welches ist das Beste für Sie?

Die 5 wichtigsten Linux-Apps, die Sie heute brauchen