Ext3

Ext3

Das ext3 (third extended filesystem) ist ein Journaling-Dateisystem, das für den Linux-Kernel entwickelt wurde. Bei vielen Linux-Distributionen ist es das Standard-Dateisystem.

ext3
Hersteller Open-Source-Gemeinschaft
Vollständige Bezeichnung Third extended file system
Erstveröffentlichung November 2001 (Linux 2.4.15)
Partitionskennung 0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Technische Umsetzung
Verzeichnisse Tabelle, optional H-Baum
Dateien bitmap (free space), Tabelle (metadata)
Defektblockliste Table
Maximalwerte
Größe einer Datei 16 GB–2 TB
Anzahl aller Dateien Variabel[1]
Länge des Dateinamens 255 Byte
Größe des Dateisystems 2 TB–32 TB
Erlaubte Zeichen im Dateinamen Alle Bytes außer NUL und '/'
Eigenschaften
Datumsangaben einer Datei geändert (modification, mtime),
Änderung der Metadaten (ctime),
letzter Zugriff (atime)
Datumsbereich 1901-12-13 20:45:52 bis 2038-01-19 03:14:07 (UTC+0)
(vgl. Jahr-2038-Problem)
Forks unterstützt
Dateiattribute No-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directory), allow-undelete
Dateirechte-Verwaltung Unix Dateirechte, ACLs und arbitrary security attributes
(ab Linux-Kernel 2.6)
Transparente Komprimierung nein
Transparente Verschlüsselung nein
Unterstützende Betriebssysteme Linux, BSD, Windows (durch Tools/Treiber)

Inhaltsverzeichnis

Hintergrund

Die von Stephen Tweedie entwickelte Journaling-Erweiterung für ext2 sorgt dafür, dass Metadaten nicht mehr beschädigt werden können und somit auf einen kompletten Durchlauf der Integritätsprüfung e2fsck nach einem Rechnerabsturz verzichtet werden kann. Die Kombination von ext2 mit der Journal-Erweiterung wird als ext3 bezeichnet.

Dabei ändert sich das Datenformat des Datenträgers bei der Verwendung eines Journals nicht. Die Daten können deshalb auch mit einem ext2-Dateisystemtreiber gelesen werden. Das Journal ist eine reguläre Datei, in die die Metadaten (optional auch die Nutzdaten) geschrieben werden, bevor sie auf das tatsächliche Dateisystem geschrieben werden. Aus einem ext2- kann man daher ein ext3-Dateisystem machen, ohne irgendwelche Daten konvertieren zu müssen.

Als direkter Nachfolger existiert ext4.

Technische Eigenschaften

ext3 fügt dem ext2-System folgende Fähigkeiten hinzu:

  • ein Journal
  • H-Baum-Verzeichnisindizes
  • Online-Veränderung der Dateisystemgröße

Wenn eine Änderung am Dateisystem (z. B. die Umbenennung einer Datei) durchgeführt wird, wird sie als Transaktion im Journal vermerkt und kann dann im Fall eines Absturzes entweder abgeschlossen oder noch nicht abgeschlossen sein. Wenn eine Transaktion zum Absturzzeitpunkt abgeschlossen war, ist garantiert, dass alle an dieser Transaktion beteiligten Blöcke einen gültigen Dateisystemstatus repräsentieren. Diese Blöcke werden dann ins Dateisystem kopiert. Wenn eine Transaktion zum Absturzzeitpunkt nicht abgeschlossen war, kann nicht garantiert werden, dass die beteiligten Blöcke konsistent sind, daher wird eine solche Transaktion verworfen (das bedeutet, dass die Dateisystemänderung, die diese Transaktion repräsentierte, verlorengeht).

Bei abgebrochenen Schreiboperationen kann es passieren, dass ein Teil einer Datei bereits aus den neuen Daten besteht und ein Teil noch aus den alten, was manchmal noch schlimmer sein kann als ein inkonsistentes Dateisystem. ext3 bietet daher einen besonderen Modus, in dem auch Daten zunächst im Journal abgelegt werden. ext3 schützt nicht davor, dass Daten verlorengehen, die zum Absturzzeitpunkt zwar eigentlich bereits auf die Platte geschrieben sein sollten, vom Kernel jedoch noch in sogenannten schmutzigen Puffern gehalten wurden, um sie später zurückzuschreiben. Nach dem Abspielen des Journals ist nur garantiert, dass man mit einem konsistenten Datenbestand zu einem gegebenen Zeitpunkt weiterarbeiten kann.

Journaling-Stufen

Die Linux-Implementierung von ext3 bietet drei Journaling-Stufen:

  • Full (Option data=journal), wobei sowohl Metadaten als auch Dateiinhalte erst ins Journal geschrieben werden, bevor sie ins Dateisystem geschrieben werden. Dies erhöht die Zuverlässigkeit, ist aber recht langsam beim Schreiben, da alle Daten zweimal auf den Datenträger geschrieben werden müssen. Lesevorgänge werden beschleunigt.
  • Writeback (Option data=writeback), wobei nur Metadaten ins Journal geschrieben werden. Das Aktualisieren der Dateiinhalte wird dem normalen sync-Prozess überlassen. Dies ist wesentlich schneller, birgt aber die Gefahr von Datenverlust durch abgebrochene Out-of-Order-Schreibvorgänge im Absturzfall. Dateien, die sich zu diesem Zeitpunkt im Schreibzugriff befanden, können beim nächsten Einhängen des Dateisystems an ihrem Ende Datenmüll enthalten.
  • Ordered (Option data=ordered) funktioniert wie Writeback. Allerdings werden Dateiinhalte direkt ins Dateisystem geschrieben, erst danach werden die Metadaten im Journal aktualisiert. Dies gilt als akzeptabler Kompromiss zwischen Zuverlässigkeit und Geschwindigkeit und ist daher die Standardeinstellung.

Kompatibilität zu nicht nativen Betriebssystemen

Es gibt verschiedene Treiber, Programme und Plugins, die einen Zugriff auf Ext3 (und durch die Abwärtskompatibilität auch auf Ext2) unter anderen Betriebssystemen außer den Nativen zulassen. Diese sind insbesondere dann von Nutzen, wenn man Laufwerke unter mehreren Betriebssystemen verwenden möchte, z. B. ein USB-Laufwerk in einer gemischten Linux/Windows-Umgebung. Sie stellen eine Alternative zu den Ansätzen dar, in solchen gemischten Linux/Windows-Umgebungen das in seinen Fähigkeiten sehr limitierte Dateisystem FAT/FAT32 zu verwenden, bzw. das proprietäre NTFS von Microsoft durch Reverse-Engineering Linux-basierten Betriebssystemen zugänglich zu machen (siehe z. B. NTFS-3G).

Kritik

ext3 ist langsamer als andere moderne Journaling-Dateisysteme, wie zum Beispiel XFS oder JFS, dafür aber relativ robust.

Weiterhin überschreibt ext3 bei Löschvorgängen die Block-Pointer der Inodes mit Nullen. Dies erschwert ein Wiederherstellen gelöschter Dateien und verbessert die Wahrscheinlichkeit, dass die Integrität des Dateisystems nach einem Programmfehler oder Systemausfall ohne Datenverlust wiederhergestellt werden kann. Ein Wiederherstellen der Daten ist mitunter dennoch möglich.[2]

Quellen

  1. Die maximale Zahl von Inodes (und damit die maximale Anzahl von Dateien und Verzeichnissen) wird bei der Erzeugung des Dateisystems festgelegt. Sei V die Größe des Dateisystems in Bytes, so ergibt sich der voreingestellte Wert von Inodes durch \tfrac{V}{2^{13}} (oder die Anzahl von Datenblöcken, es wird der niedrigere Wert genommen), und dem Minimum von \tfrac{V}{2^{23}}. Der voreingestellte Wert ist für die meisten Anwendungsszenarien ausreichend.
  2. Anleitung zum Wiederherstellen von Dateien

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Ext3 — Saltar a navegación, búsqueda ext3 Desarrollador Stephen Tweedie Nombre completo Third extended file system Introducido noviembre de 2001 (Linux 2.4.15) Identificador de la partición 0x83 (MBR) E …   Wikipedia Español

  • ext3 — Desarrollador(a) Stephen Tweedie Nombre completo Third extended file system Introducido noviembre de 2001 (Linux 2.4.15) Identificador de la partición 0x83 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) …   Wikipedia Español

  • ext3 — Hersteller Open Source Gemeinschaft Vollständige Bezeichnung Third extended file system Erstveröffentlichung November 2001 (Linux 2.4.15) Partitionskennung 0x83 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) …   Deutsch Wikipedia

  • ext3 — Développeur Stephen Tweedie Nom anglais Extended file system 3 Introduction novembre 2001 (Linux 2.4.15) Identificateur de partition 0x83 (MBR) Structure Contenu des répertoires …   Wikipédia en Français

  • Ext3 — Diffuseur de logiciel Stephen Tweedie Nom anglais Extended file system 3 Introduction novembre 2001 (Linux 2.4.15) Identificateur de partition 0x83 …   Wikipédia en Français

  • ext3 — Файловая система Third extended file system Дата представления Ноябрь 2001 (Linux 2.4.15) Структура Размещение файлов битовая карта (свободное пространство), table (метаданные) Сбойные сектора Table …   Википедия

  • Ext3 — или 3 я расширенная файловая система журналируемая файловая система, используемая в операционных системах на ядре Linux, является файловой системой по умолчанию во многих дистрибутивах. Основана на ФС ext2, начало разработки которой положил… …   Википедия

  • EXT3 — (third extended filesystem o tercer sistema de archivos extendido ) es un sistema de archivos con registro por diario (en inglés journaling) por el solo hecho de tener un espacio apartado para el buffer de journaling . Este sistema, el cual se… …   Enciclopedia Universal

  • Ext3 — infobox filesystem name = ext3 full name = Third extended file system developer = Stephen Tweedie introduction os = Linux 2.4.15 introduction date = November 2001 partition id = 0x83 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) directory… …   Wikipedia

  • ext3 — noun A type of Linux file system aimed at improving on the ext and ext2 file systems, and including journaling See Also: ext, ext1, ext2 …   Wiktionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”