I-Nodes und Superblöcke

Festplatten und Dateisysteme

01.09.2003
Wer heute mit einem handelsüblichen Computer arbeitet, verwendet automatisch auch eine Festplatte. Wie die Dateien dort gespeichert werden und welche Möglichkeiten dabei geboten werden, weiß hingegen kaum jemand. Dieser Artikel will etwas Licht ins Dunkel bringen.

Ein Dateisystem speichert neben den eigentlichen Informationen auch zahlreiche Informationen über sich selbst. Zustand, Zugriffszeiten und Struktur sind wichtige Parameter, die Betriebssystem und Programme aus dem Dateisystem extrahieren und verarbeiten können.

Der Superblock

Zahlreiche Metainformationen sind im so genannten Superblock abgelegt. Da dieser Block für die Benutzung des Dateisystems extrem wichtig ist, werden automatisch Kopien von ihm an mehreren Stellen im Dateisystem angelegt.

Abbildung 1: Genereller Aufbau eines Superblocks

Sollte der erste Superblock einmal zerstört oder überschrieben sein, lässt sich das Dateisystem anhand einer Kopie restaurieren. Der Superblock liegt normalerweise an Position 0, eine Kopie an 8193 (oder 32768, je nach Erstellung).

Mittels e2fsck -b 8193 kann beispielsweise ein Dateisystem auf Fehler überprüft werden, selbst wenn der erste Superblock zerstört ist. Ist das betreffende System im schreibbaren Zustand gemountet, restauriert das Programm nach dem Check den ersten Superblock.

Im Superblock wird beispielsweise festgelegt, um welches Dateisystem es sich handelt und wie oft selbiges bereits ungeprüft gemountet wurde. Die wichtigsten Felder des Superblocks werden im Folgenden aufgeschlüsselt und sind in Abbildung 1 illustriert.

I-Node Count und Blocks Count enthalten die gesamte Anzahl der I-Nodes und Blöcke in diesem Dateisystem. Analog dazu bezeichnen Free Blocks und Free I-Nodes die Anzahl der noch freien Blöcke. Beim Erzeugen eines Dateisystems wird üblicherweise ein bestimmter Prozentsatz der Blöcke für den Administrator root reserviert. Die daraus resultierende Anzahl Blöcke wird im Feld Reserved-Blocks Count gespeichert.

Beim Booten sind die nächsten Felder in der Grafik von großem Interesse. Mount Count bezeichnet, wie oft dieses Dateisystem bereits ungeprüft gemountet wurde. Max Mount Count legt den maximalen Wert fest. Wird er überschritten, führt das Betriebssystem beim Booten auf jeden Fall den Dateisystem-Check durch – auch wenn das Dateisystem "sauber" ist (siehe Feld State) und ordentlich aus dem System entfernt wurde.

Ähnlich arbeiten die Felder lastcheck und checkinterval: Im ersten Feld ist das Datum des letzten Dateisystem-Checks gespeichert, und das zweite gibt an, wann spätestens wieder ein solcher Check durchgeführt wird. Beides sind Sicherheitseinstellungen, die dafür sorgen, dass Dateisysteme nach langem Gebrauch generalüberholt werden, damit potentielle Fehler (beispielsweise durch Bit-Kipper) korrigiert werden, vergleichbar mit der Jahresinspektion beim Auto.

Das letzte wichtige Feld ist mit First I-Node beschriftet. Dieses beinhaltet den I-Node, der das Root-Verzeichnis (/) in diesem Dateisystem enthält. Damit ist dieser I-Node der Einstiegspunkt in das Dateisystem, den man als Anwender des Linux-Systems sieht.

Dieser I-Node verweist auf einen Datenblock, in dem Verbindungen zwischen Namen und weiteren I-Nodes in diesem Verzeichnis beschrieben werden. Oftmals verweisen die Einträge auf I-Nodes, die selbst wieder ein Verzeichnis repräsentieren. Auf diese Weise lassen sich alle im Dateisystem enthaltenen Dateien nach und nach lokalisieren.

Journaling Filesystems

Das Dateisystem Ext2 (Second Extended Filesystem) arbeitet hervorragend und wurde speziell für Linux entwickelt. Festplatten wurden im Laufe der letzten Jahre immer größer konstruiert, und viele Anwender betreiben heute große Partitionen unter Linux. Dadurch hat sich ein Problem immer deutlicher heraus kristallisiert: Wird der Rechner einmal ausgeschaltet, ohne dass das Dateisystem sauber aus dem System entfernt wurde, dauert der Dateisystem-Check beim nächsten Booten extrem lange.

Das mag auf einem heimischen Rechner, der viele Musikdateien oder Filme speichert, vielleicht gerade noch akzeptabel sein, auf einem Produktions-Server ist es das jedoch nicht. Wird ein so genanntes Journal geschrieben, dann muss in einer solchen Situation im Prinzip nur das Journal abgearbeitet werden, um das Dateisystem zu restaurieren und wieder auf den aktuellen Stand zu bringen.

Abbildung 2: Interner Aufbau eines Unix-Dateisystems

Viele Leute glauben, dass ein regulärer Dateisystemcheck bei einem Journaling Filesystem nicht mehr erforderlich ist, da ja in ein Log-Buch (Journal) geschrieben wird. Nach einem Crash ist tatsächlich erheblich weniger Aufwand nötig, wenn Ext3, JFS, XFS oder ReiserFS verwendet werden. Allerdings schützt das nicht vor zufälligen Bit-Kippern oder anderweitig hervorgerufene Inkonsistenzen im Dateisystem.

Daher werden beim Third Extended Filesystem (Ext3), einer Erweiterung von Ext2, weiterhin Dateisystemchecks durchgeführt. Die Frequenz wird bei der Erstellung festgelegt und – so wie oben beschrieben – im Superblock festgehalten. Linux überprüft das Dateisystem jedoch nicht bei jedem Boot-Vorgang nach einem Problem, sondern nur wenn Max Mount Count überschritten ist oder lastcheck und checkinterval anzeigen, dass eine Überprüfung wieder an der Zeit ist.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl
    Mit einem schnellen Internetzugang steigt bei vielen Anwendern die Download-Rate und damit zwangsläufig der Speicherverbrauch auf der eigenen Harddisk. Auch auf der Kommandozeile gibt es Programme, mit denen Sie Ihren Festplattenplatz schnell und sicher verwalten können. In dieser "Zu Befehl"-Folge geht es um Dateisysteme, um Dateien und ihre Anordnung und Eigenschaften – und um die Programme df und du. Begeben Sie sich in die Tiefen des Filesystems und finden Sie heraus, welche Dateien den Speicher vertilgen!
  • Inode in Not
    Mit den richtigen Werkzeugen fühlen Sie Ihrem Dateisystem auf den Zahn, beseitigen Inkonsistenzen und restaurieren beschädigte Dateien.
  • Zu Befehl: df, du
    Programme wie df ("disk free") und du ("disk usage") geben Auskunft über die Auslastung des Dateisystems. Dabei verrät df, wieviel Platz auf den Partitionen verfügbar ist, und du gibt an, wieviele Blöcke tatsächlich belegt sind. Wir zeigen, wie Sie mit diesen beiden Tools "Speicherfressern" auf die Schliche kommen.
  • Wie funktionieren Festplatten und Dateisysteme?
    Wer heutzutage mit einem handelsüblichen Computer arbeitet, verwendet meistens automatisch auch eine Festplatte. Wie die Dateien auf der Festplatte gespeichert werden, und welche Möglichkeiten dabei geboten werden, weiß hingegen kaum jemand. Dieser Artikel will etwas Licht ins Dunkel bringen.
  • Dr. Linux
    Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...