Ext3

ext3 oder Drittel erweitert filesystem, ist ein journaled Dateisystem, das durch den Kern von Linux allgemein verwendet wird. Es ist das Verzug-Dateisystem für vielen populären Vertrieb von Linux einschließlich Debian. Stephen Tweedie hat zuerst offenbart, dass er am Verlängern ext2 in Journaling Linux ext2fs Filesystem in einer 1998-Zeitung, und später in einer Kernadressenliste-Versetzung im Februar 1999 arbeitete. Der filesystem wurde mit der Hauptstrecke Kern von Linux im November 2001 von 2.4.15 vorwärts verschmolzen. Sein Hauptvorteil gegenüber ext2 ist journaling, der Zuverlässigkeit verbessert und das Bedürfnis beseitigt, das Dateisystem nach einer unreinen Stilllegung zu überprüfen. Sein Nachfolger ist ext4.

Vorteile

Die Leistung (Geschwindigkeit) von ext3 ist weniger attraktiv als konkurrierender Linux filesystems, wie ext4, JFS, ReiserFS und XFS. Aber ext3 hat einen bedeutenden Vorteil, in dem er Steigungen im Platz von ext2 erlaubt, ohne unterstützen und Daten wieder herstellen zu müssen. Abrisspunkte weisen darauf hin, dass ext3 auch weniger Zentraleinheitsmacht verwendet als ReiserFS und XFS. Es wird auch sicherer betrachtet als die anderen Dateisysteme von Linux, wegen seiner Verhältniseinfachheit und breiterer Probebasis.

ext3 fügt die folgenden Eigenschaften zu ext2 hinzu:

  • Eine Zeitschrift.
  • Online-Dateisystemwachstum.
  • Das Indexieren von Htree für größere Verzeichnisse.

Ohne diese Eigenschaften ist jedes ext3 Dateisystem auch ein gültiges ext2 Dateisystem. Diese Situation hat gut geprüfte und reife Dateisystemwartungsdienstprogramme erlaubt, um ext2 Dateisysteme aufrechtzuerhalten und zu reparieren, die auch mit ext3 ohne Hauptänderungen zu verwenden sind. Der ext2 und die ext3 Dateisysteme teilen denselben Standardsatz von Dienstprogrammen, e2fsprogs, der ein fsck Werkzeug einschließt. Die nahe Beziehung macht auch Konvertierung zwischen den zwei Dateisystemen (sowohl schicken zu ext3 als auch rückwärts zu ext2 nach), aufrichtig.

ext3 hat "an modernen" Filesystem-Eigenschaften, wie dynamische inode Zuteilung und Ausmaße Mangel. Diese Situation könnte manchmal ein Nachteil sein, aber für die Werthaltigkeit ist es ein bedeutender Vorteil. Das Dateisystem metadata ist alles in festen, wohl bekannten Positionen, und Datenstrukturen haben etwas Überfülle. In der bedeutenden Datenbestechung kann ext2 oder ext3 wiedergutzumachend sein, während ein baumbasiertes Dateisystem nicht kann.

Größe-Grenzen

Die max Zahl von Blöcken für ext3 ist 2. Die Größe eines Blocks kann sich ändern, die max Zahl von Dateien und die max Größe des Dateisystems betreffend:

Niveaus von Journaling

Es gibt drei Niveaus von in der Durchführung von Linux von ext3 verfügbarem journaling:

Zeitschrift (niedrigste Gefahr): Sowohl metadata als auch Dateiinhalt werden der Zeitschrift vor dem Einsetzen für das Hauptdateisystem geschrieben. Weil die Zeitschrift auf der Platte relativ dauernd ist, kann das Leistung verbessern, wenn die Zeitschrift genug Raum hat. In anderen Fällen wird Leistung schlechter, weil die Daten zweimal — einmal zur Zeitschrift, und einmal zur Hauptrolle des filesystem geschrieben werden müssen.

Bestellt (mittlere Gefahr): Nur metadata ist journaled; Dateiinhalt ist nicht, aber es wird versichert, dass Dateiinhalt der Platte, bevor vereinigt, metadata geschrieben wird, wird wie begangen, in der Zeitschrift gekennzeichnet. Das ist der Verzug auf vielem Vertrieb von Linux. Wenn es einen Macht-Ausfall oder Kernpanik gibt, während eine Datei geschrieben oder daran angehangen wird, wird die Zeitschrift anzeigen, dass die neue Datei oder angehangenen Daten nicht "begangen" worden sind, so wird es durch den Reinigungsprozess gereinigt. (So hängt an, und neue Dateien haben dasselbe Niveau des Integritätsschutzes wie das "journaled" Niveau.) Jedoch können Dateien, die überschreiben werden, verdorben werden, weil die ursprüngliche Version der Datei nicht versorgt wird. So ist es möglich, mit einer Datei in einem Zwischenstaat zwischen neuem und altem zu enden, ohne genug Information, um entweder ein oder der andere wieder herzustellen (haben die neuen Daten es nie zur Platte völlig gemacht, und die alten Daten werden nirgends versorgt). Noch schlechter könnte der Zwischenstaat alte und neue Daten einstreuen, weil die Ordnung des Schreibens bis zur Hardware der Platte verlassen wird. XFS verwendet diese Form von journaling.

Writeback (höchste Gefahr): Nur metadata ist journaled; Dateiinhalt ist nicht. Der Inhalt könnte geschrieben werden vorher oder nachdem die Zeitschrift aktualisiert wird. Infolgedessen haben Dateien direkt modifiziert, bevor ein Unfall verdorben werden kann. Zum Beispiel kann eine Datei, die daran wird anhängt, in der Zeitschrift als größer seiend gekennzeichnet werden, als es wirklich ist, Müll am Ende verursachend. Ältere Versionen von Dateien konnten auch unerwartet nach einer Zeitschriftenwiederherstellung erscheinen. Der Mangel an der Synchronisation zwischen Daten und Zeitschrift ist in vielen Fällen schneller. JFS verwendet dieses Niveau von journaling, aber stellt sicher, dass jeder "Müll" wegen ungeschriebener Daten zeroed auf dem Neustart ist.

In allen drei Weisen wird die innere Struktur des Dateisystems gesichert, um sogar nach einem Unfall zu entsprechen. Jedenfalls wird nur der Dateninhalt von Dateien oder Verzeichnissen, die modifiziert wurden, als das System abgestürzt ist, betroffen; der Rest wird nach der Wiederherstellung intakt sein.

Nachteile

Funktionalität

Da ext3 zum Ziel hat, umgekehrt mit früher ext2 vereinbar zu sein, sind viele der Strukturen auf der Platte denjenigen von ext2 ähnlich. Folglich hat ext3 an neuen Eigenschaften, wie Ausmaße, dynamische Verteilung von inodes und Block-Subzuteilung Mangel. Ein Verzeichnis kann höchstens 31998 Unterverzeichnisse haben, weil ein inode höchstens 32000 Verbindungen haben kann.

ext3, wie aktuellster Linux filesystems, kann nicht Fsck-Hrsg. sein, während der filesystem für das Schreiben bestiegen wird. Der Versuch, ein Dateisystem zu überprüfen, das bereits bestiegen wird, kann gefälschte Fehler entdecken, wo geänderte Daten die Platte noch nicht erreicht haben, und das Dateisystem in einem Versuch verderben, diese Fehler "zu befestigen".

Defragmentierung

Es gibt nicht ext3 Online-Defragmentierungswerkzeug, das auf dem filesystem Niveau arbeitet. Es gibt einen Off-Lineext2 defragmenter, aber er verlangt, dass die ext3 filesystem zurück zu ext2 zuerst umgewandelt werden. Aber kann Daten zerstören, je nachdem sich die Eigenschaft-Bit im filesystem gedreht haben; es weiß nicht, wie man viele der neueren Ext3-Eigenschaften behandelt.

Es gibt userspace Defragmentierungswerkzeuge, wie Schütteln und defrag. Schütteln arbeitet durch das Zuteilen des Raums für die ganze Datei als eine Operation, die allgemein den Verteiler veranlassen wird, aneinander grenzenden Speicherplatz zu finden. Wenn es Dateien gibt, die zur gleichen Zeit verwendet werden, wird Schütteln versuchen, ihnen neben einander zu schreiben. Defrag arbeitet durch das Kopieren jeder Datei über sich. Jedoch arbeitet diese Strategie nur, wenn das Dateisystem genug freien Raum hat. Ein wahres Defragmentierungswerkzeug besteht für ext3 nicht.

Jedoch, wie der Linux Systemverwalter-Führer feststellt, "Behalten moderne Linux filesystem (s) Zersplitterung an einem Minimum durch das Halten aller Blöcke in einer Datei eng miteinander, selbst wenn sie in Konsekutivsektoren nicht versorgt werden können. Einige filesystems, wie ext3, teilen effektiv den freien Block zu, der zu anderen Blöcken in einer Datei am nächsten ist. Deshalb ist es nicht notwendig, sich über die Zersplitterung in einem System von Linux zu sorgen."

Während ext3 gegen die Dateizersplitterung widerstandsfähiger ist, als das FETT filesystem, ext3 mit der Zeit oder für spezifische Gebrauch-Muster wie langsam schreibende große Dateien gebrochen werden kann. Folglich wird ext4, der Nachfolger von ext3, geplant, um schließlich ein filesystem Online-Defragmentierungsdienstprogramm einzuschließen, und unterstützt zurzeit Ausmaße (aneinander grenzende Dateigebiete).

Wiederherstellung

ext3 unterstützt die Wiederherstellung von gelöschten Dateien nicht. Der ext3 Fahrer löscht aktiv Dateien, indem er Datei inodes aus Unfall-Sicherheitsgründen wischt.

Es gibt noch mehrere Techniken und eine freie und kommerzielle Software für die Wiederherstellung von gelöschten oder verlorenen Dateien mit der Dateisystemzeitschriftenanalyse; jedoch versichern sie keine spezifische Dateiwiederherstellung.

Kompression

e3compr ist ein inoffizieller Fleck für ext3, der durchsichtige Kompression tut. Es ist ein direkter Hafen von e2compr und braucht noch weitere Entwicklung. Es kompiliert und startet gut mit stromaufwärts Kernen, aber journaling wird noch nicht durchgeführt.

Fehlen Sie von der Schnellschuss-Unterstützung

Verschieden von mehreren modernen Dateisystemen hat ext3 heimische Unterstützung für Schnellschüsse — die Fähigkeit nicht, den Staat des filesystem in willkürlichen Zeiten schnell zu gewinnen. Statt dessen verlässt es sich auf "weniger Raum effizient", Schnellschüsse des Volumen-Niveaus, die durch den Linux LVM zur Verfügung gestellt sind. Das Next3 Dateisystem ist eine modifizierte Version von ext3, der Schnellschuss-Unterstützung anbietet, noch behält Vereinbarkeit mit dem ext3 auf der Platte formatieren.

Kein checksumming in der Zeitschrift

ext3 tut checksumming nicht, wenn er der Zeitschrift schreibt. Wenn barrier=1 als eine Gestell-Auswahl (in/etc/fstab) nicht ermöglicht wird, und wenn die Hardware tut, in Unordnung schreiben das Verstecken, man läuft die Gefahr der strengen filesystem Bestechung während eines Unfalls.

Denken Sie das folgende Drehbuch: Wenn Festplatte schreibt, werden in Unordnung getan (wegen des modernen Festplatte-Versteckens schreibt, um zu amortisieren, schreiben Geschwindigkeiten), es ist wahrscheinlich, dass man einen begehen Block einer Transaktion schreiben wird, bevor die anderen relevanten Blöcke geschrieben werden. Wenn ein Macht-Misserfolg oder unwiedergutzumachender Unfall vorkommen sollten, bevor die anderen Blöcke geschrieben werden, wird das System neu gestartet werden müssen. Auf den Neustart wird das Dateisystem Wiederholungsspiel der Klotz als normal, und Wiederholungsspiel die "Sieger" (Transaktionen mit einem begehen Block, einschließlich der ungültigen Transaktion oben, der zufällig mit einem gültigen markiert wurde, begehen Block). Die unfertige Platte schreibt oben wird so weitergehen, aber korrupte Zeitschriftendaten verwendend. Das Dateisystem wird so normale Daten mit korrupten Daten irrtümlicherweise überschreiben, während es die Zeitschrift wiederspielen wird. Es gibt ein Testprogramm, das verfügbar ist, um das problematische Verhalten auszulösen. Wenn Kontrollsummen verwendet worden waren, wo die Blöcke des "unechten Siegers" Transaktion mit einer gegenseitigen Kontrollsumme markiert wurden, könnte das Dateisystem besser gewusst haben und die korrupten Daten auf die Platte nicht wiedergespielt haben. Zeitschrift checksumming ist zu ext4 hinzugefügt worden.

Filesystems, der das Gerät mapper Schnittstelle (einschließlich des Software-ÜBERFALLS und der LVM Durchführungen) durchgeht, kann Barrieren nicht unterstützen, und wird eine Warnung ausgeben, wenn diese Gestell-Auswahl verwendet wird. Es gibt auch einige Platten, die die schreiben Spülungserweiterung des geheimen Lagers nicht richtig durchführen, die für Barrieren für die Arbeit notwendig ist, die eine ähnliche Warnung verursacht. In diesen Situationen, wo Barrieren nicht unterstützt oder, zuverlässige praktisch werden, schreiben, dass Einrichtung durch das Abdrehen der Platte möglich ist, schreiben geheimes Lager und das Verwenden der Data=journal-Gestell-Auswahl. Das Abdrehen der Platte schreibt, dass geheimes Lager erforderlich sein kann, selbst wenn Barrieren verfügbar sind. Anwendungen wie Datenbanken erwarten, dass ein Anruf fsync während erröten wird, schreibt der Platte, und die Barriere-Durchführung klärt sich nicht immer der Laufwerk schreiben geheimes Lager als Antwort auf diesen Anruf. Es gibt auch ein potenzielles Problem mit der Barriere-Durchführung, die mit dem Fehler verbunden ist, der während Ereignisse wie ein Laufwerk-Misserfolg behandelt. Es ist auch bekannt, dass manchmal einige Virtualisierungstechnologien Erröten-Befehl zu den zu Grunde liegenden Geräten (Dateien, Volumina, Platte) von einem Gast Betriebssystem nicht richtig nachschicken. Ähnlich führen einige Festplatten oder Kontrolleure geheimes Lager durch, das falsch oder überhaupt nicht errötet, aber kündigen noch das an es wird unterstützt, und geben Sie keinen Fehler zurück, wenn es verwendet wird. Deshalb ist es sicherer anzunehmen, dass Spülung des geheimen Lagers nicht arbeitet, oder es umfassend mit mehr - zuverlässige und geprüfte Bestandteile (wie SCSI Platten) zu prüfen.

ext4

Am 28. Juni 2006 hat Theodore Ts'o, der Hauptentwickler von ext3, eine erhöhte Version, genannt ext4 bekannt gegeben. Am 11. Oktober 2008 wurden die Flecke, die ext4 als stabiler Code kennzeichnen, mit Linux 2.6.28 Quellcodebehältnisse verschmolzen, das Ende der Entwicklungsphase kennzeichnend und seine Adoption empfehlend.

2008 hat Ts'o festgestellt, dass, obwohl ext4 Eigenschaften verbessert hat, es nicht ein Hauptfortschritt ist, verwendet es alte Technologie, und ist eine Notlösung; Ts'o glaubt, dass Btrfs die bessere Richtung ist, weil "es Verbesserungen in der Skalierbarkeit, Zuverlässigkeit und Bequemlichkeit des Managements anbietet". Btrfs hat auch "mehrere dieselben Designideen, dass reiser3/4 hatte".

Siehe auch

  • Liste von Dateisystemen
  • Vergleich von Dateisystemen
  • Verlängerte Datei schreibt zu

Links


Ext2 / Korporativer Hafen
Impressum & Datenschutz