Kleiner Exkurs: Dateisysteme unter Linux

Einfach mal so, gerade weil mir danach ist, ein kleiner Exkurs zum Thema „Dateisysteme unter Linux.“ Das sind die Arbeitspferde, die im Hintergrund eines Betriebssystems hoffentlich unbeachtet ihren Dienst tun. Sollten sie mucken, dann ist es wie Zahnschmerz: besser, man hat ihn nicht.

Zunächst einmal: was ist ein Dateisystem? Das ist eine Ablageorganisation für Dateien auf einem Datenträger (Festplatte, Bandlaufwerk, CD-Rom, Diskette…) des Computers. Es ist eine Abstraktionsschicht zwischen der Hard- und der Software: Dateien/Ordner müssen angelegt, umbenannt und gelöscht werden können. Die Dateien können dabei von sehr klein (einige wenige Bytes) bis sehr groß (mehrere Gigabyte und mehr wie bei Videos) im selben Dateisystem schwanken. Für unterschiedliche Einsatzzwecke gibt es dabei unterschiedliche Systeme.

Linux als quelloffenes Betriebssystem kommt dabei, im Unterschied zu Windows das im Grunde nur mit NTFS arbeitet, von Hause aus mit einer Myriade an unterschiedlichen Systemen daher. Hier nun in einigermaßen chronologischer, kurzer Auflistung die Wichtigsten.

ext2

ext2, die Abkürzung für Extended Filesystem 2, war lange Zeit der Betriebssystemstandard von Linux. Der Vorgänger war ext, welches sich wiederum an UFS von BSD orientierte. Im Grunde ist es inzwischen veraltet, da es maximal 16 TB als Dateisystemgröße erlaubt, was heutzutage schnell erreicht ist und kein Journaling (dazu später mehr) erlaubt.

Aber es ist ein robustes System und wird für diverse Zwecke, wie Bootpartitionen, nach wie vor gerne benutzt.

ReiserFS

Dieses System wurde von Hans Reiser entwickelt und brach mit etlichen Dingen. Es verwendete intern Bäume und war das erste System, welches ein brauchbares Journaling benutzte. Journaling war und ist die Antwort auf das Problem eines Stromausfalls. Setzte dieser ein, so musste beim anschließenden Dateisystemcheck bei ext2 die komplette Festplatte überprüft werden. Anfangs war das kein Problem, als dann aber die Platten zu Gigabytegröße und mehr anschwellten, wurde es das, denn der Check konnte so schlimmstenfalls einen stundenlangen Ausfall bedeuten, den man sich nicht leisten konnte oder wollte.

Journaling bedeutet dabei, dass das Dateisystem jedwede Änderung zuerst in ein Journal, im Grunde ein Transaktionslogbuch, schreibt und dann auf die Platte. Kommt es also zu einem Stromausfall, dann muss man nur noch das Journal verifizieren und hat danach wieder ein Dateisystem in einem konsistentem Zustand. Das dauert im Vergleich zu Dateisystemen ohne Journal höchstens wenige Minuten, dazu recht unabhängig von der Größe des Dateisystems. Ein Schutz vor Datenverlust ist aber auch das nicht, den bietet nur ein anständiges Backup. Das Journal ist nur dafür da, den Check deutlich zu beschleunigen.

ReiserFS Version 3 ist inzwischen in die Jahre gekommen und Reiser arbeitete danach an der Mutter aller Dateisysteme, ReiserFS 4. Dazwischen kam ihm allerdings, dass er seine Frau ermordete und man ihn dafür ins Gefängnis warf. Ein ehemaliger Mitarbeiter übernahm die Entwicklung, und während das System noch immer einige, wenige lautstarke Fans hat, so ist im Grunde vom Produktiveinsatz aller Reiserdateisysteme inzwischen abzuraten.

ext3

Dies ist eine Weiterentwicklung von ext2. Die Dateisystemgröße wuchs auf 32 Terabyte an, man spendierte dem System ein Journal und einen schnelleren Mechanismus, Dateien in Verzeichnissen anzuzeigen. Aber auch dies ist in die Jahre gekommen, aber es ist zu ext2 vom On-Disk-Format her weitgehend kompatibel.

ext4

Die Weiterentwicklung von ext3 und der aktuelle Stand, was diese Systeme anbelangt. Dies wird von vielen Distributionen nach wie vor als Standarddateisystem eingesetzt. Das Journal wurde verbessert, die Geschwindigkeit erhöht und die Dateisystemgröße ordentlich aufgemotzt, so dass diese momentan bei einem Exabyte liegt. Auch wie hier gilt: ältere Partitionen von ext2 oder ext3 können von dem System eingehängt werden, nach unten ist es nicht wirklich kompatibel.

Es ist ein robustes Dateisystem und wenn man nichts falsch machen will, dann greift man dazu, so schnell wird dieses nicht mehr veraltet sein.

JFS

JFS ist ein Dateisytem, welches ursprünglich von IBM 1990 für AIX entwickelt worden ist und steht dabei ganz einfach für Journale File System. Von den Eigenschaften her mit ext4 vergleichbar, aber fristet im Einsatz mehr ein Schattendasein.

XFS

XFS wurde 1994 von Silicon Graphics Inc. für deren eigenes Unix-Derivat entwickelt und später auf den Linux-Kernel portiert. Auch dies ist von den Features her mit ext4 vergleichbar, aber es ist eines der wenigen Dateisysteme, welches beispielsweise unter Linux eine garantierte Lese/Schreibleitung liefern kann, was beispielsweise für Videostreamingserver wichtig ist. Das System wurde dabei auf höchstmögliche Leistung getrimmt. Es ist ein stabiles, ausgereiftes Dateisystem.

Btrfs

Btrfs ist ein noch in der Entwicklung befindliches Dateisystem, welches eines Tages das Standarddateisystem von Linux sein könnte. Es wurde ursprünglich von Chris Mason, damals angestellt bei Oracle, eingeführt und die Features lesen sich dabei wie eine Kopie von ZFS von damals Sun. Btrfs ist ein sog. Copy-on-Write-Dateisystem, was bedeutet, wenn Dateien geschrieben werden, werden die alten Blöcke nicht überschrieben, sondern freie Stellen dafür genutzt und erst dann die alten frei gegeben. Es versieht jede Datei mit einer Prüfsumme, man kann es im laufenden Betrieb vergrößern oder verkleinern, Platten ein- oder aushängen und vieles mehr. Inzwischen wurde Sun von Oracle aufgekauft und Mason ist nun bei einer anderen Firma namens Fusion IO angestellt.

Da es aber noch offiziell als experimentell gilt, ist die Performance in vielen Bereichen verbesserungsbedürftig und es ist nicht als fehlerfrei anzusehen. Ein Einsatz im Produktivbetrieb ist nicht empfehlenswert. Wer ein COW-Dateisystem im Serverbetrieb haben will, der sollte lieber zu ZFS wie mit FreeBSD oder ZFS on Linux greifen. Da ist man eben einfach weiter und ZFS ist eben schon längst stabil.

ext5?

Ein ext5 ist unwahrscheinlich, da der Autor der ext-Dateisysteme selbst bisher in der Sache nichts hat verlautbaren lassen und außerdem Btrfs als zukünftigen, möglichen Standard ansieht.

Mörderin für Brom gesucht!

Brom, der allseits bekannte Krieger mit dem berühmten Speer, will sterben (natürlich soll nur die Rolle sterben, keine Sorge).

Den Ideenwettbewerb für die verrückteste Weise des abrupten, fremdverschuldeten Ablebens habe ich gewonnen. Ich empfahl ihm es so zu tun, wie seinerzeit Xenia Onatopp in James Bond: Goldeneye. Die brachte ihre Liebhaber während des Geschlechtsverkehrs mit der Beinschere des Todes um, wie das genau aussieht, kann man hier gut erkennen:

http://www.youtube.com/watch?v=OI3-YslbFi4

Brom ist davon begeistert und will genau das so nun haben, also habe ich das Rennen in dem Ideenwettbewerb gemacht und er sucht nun Damen, die gewillt sind, dieses cineastische Vorbild im Rollenspiel an ihm in die Tat umzusetzen. Also, ihr Ladies – nur zu, meldet euch fleißig bei Brom und bringt es hinter euch!

Auswurf: „Work-Life-Balance“ my ass!

In den Medien gibt es momentan ein viel gerittenes Modewort, das mit einer gewissen Wollust gesprochen wird: Work-Life-Balance! Klingt gut, klingt toll und ist dabei ein total alter Hut. Glaubt ihr nicht? Dann schaut euch mal das Plakat hier an, was der DGB in den 50ern brachte:

DGB-Plakat

Ja, Samstags, da gehört der Vati mir! Das war eine Kampagne, die der DGB in den 50ern gegen den Umstand erfolgreich fuhr, dass für viele Arbeiter in den 50ern der Samstag noch ein ganz normaler Arbeitstag war. Wenigstens einen Tag neben dem Sonntag aber sollte der Vater mal völlig alleine dem Sohnemann gehören und nicht bis in die Puppen malochen müssen. 1950 betrug die durchschnittliche Arbeitszeit die Woche noch 48 Stunden, und da kann sich jeder ausrechnen, was das denn so für eine Familie bedeutet hat. 1956 erfolgte dann allmählich der Übergang zur 40-Stundenwoche.

Also war dieses ominöse „Work-Life-Balance“, das heute viele wie eine Art Gral vor sich hertragen, ein Thema, nämlich dass die Arbeitszeit im Vergleich zum Privatleben in einer gesunden Balance stehen muss. Für Selbständige natürlich ein Wunschtraum, aber für Angestellte, Beamte und Arbeiter ist das was anderes.

Nur, dass so ein eigentlich alter Hut, der dann auch Forderungen enthalten könnte wie früher von dem DGB die geforderte 35-Stundenwoche, wieder aktuell wird zeigt doch nur, dass da in unserer heutigen Gesellschaft deutlich etwas aus dem Ruder gelaufen ist. Es ist aus dem Gleichgewicht geraten, und viele sagen nun erstaunt „Ah!“ und „Oh!“, wenn denn da mit diesem Buzzword gewunken wird, dabei ist das ein uralter Hut, der nun wieder aktuell geworden ist.

Vielen Familien reicht ein dauerhaftes Einkommen heutzutage zum Bestreiten des Lebensunterhaltes nicht mehr aus. In vielen Familien müssen daher dauerhaft beide Elternteile arbeiten, um über die Runden zu kommen, nicht, weil sie daran Spaß haben, sondern weil sie es tun müssen. Dann kommt der Staat daher und schafft nun seit einigen Jahren Kindertagesstätten, um diese Familien und auch Alleinerziehende zu unterstützen. Im Prinzip eine sinnvolle Sache. Nur dank der CSU, die sich nicht den modernen Gegebenheiten anpassen will, sondern immer noch das alte und meist von der Realität überholte Familienbild im Kopf hat, gibt es dann auf einmal das Betreuungsgeld. Das bedeutet nichts anderes als: erziehst du deine Kinder zuhause, dann kriegst du Geld von uns. Tust du das aber nicht, dann eben nicht.

Und damit bekommen ohnehin die Leute, die es sich finanziell leisten können zuhause ihre Kinder zu erziehen (was übrigens ja generell für alle Familien wünschenswert wäre), dafür noch Geld in den Arsch geschoben, aber diejenigen, die das eben nicht können, die bekommen gar nichts. So etwas ist die gezielte, staatliche Förderung von sozialen Disparitäten; anstelle diese abzubauen, werden sie noch vergrößert. Das sollte und kann eigentlich nicht der Sinn einer gescheiten Familienpolitik sein, ist aber in diesem Lande bittere Realität.

Ja und zum Thema Work-Life-Balance: wieso ist das nun auf einmal wieder so aktuell geworden? Ganz einfach deshalb, weil das Regularium, welches früher dafür sorgte, dass diese zumindest ansatzweise existiert – die Gewerkschaften nämlich – inzwischen recht bedeutungslos und zu zahm geworden sind. Wer für seine Anliegen und Rechte aber keinen Druck macht, der wird irgendwann ausgenommen und so ist das eben.

Dazu kommt auch, dass die typische Ausgabenverteilung eines Privathaushaltes in den letzten Jahren sich deutlich verschoben hat: alles ist teurer geworden. Früher war grob gesagt 1/3 der Ausgaben für Wohnen, 1/3 für Mobilität und 1/3 für Nahrungsmittel und Konsum.

Das hat sich aber stark verschoben, in vielen Haushalten wird inzwischen bis zu 50% alleine fürs Wohnen ausgegeben, Mobilität auch nicht wirklich weniger und dann spart man an Nahrungsmitteln&Konsum, dazu kommt noch, man möge sich dafür bitte noch etwas fürs Alter zurücklegen, private Zusatzversicherungen abschließen und keine Ahnung was sonst noch. Dass das nicht gut gehen kann, dürfte dem letzten Volltrottel einleuchten.

Dazu kommt auch weiter, dass eben die Reallöhne in Deutschland seit mindestens einem Jahrzehnt gesunken sind, während sie im Rest der EU gestiegen sind. Auch das macht sich natürlich in der Situation der privaten Haushalte bemerkbar. Und da auch die guten Arbeitsstellen nicht beliebig auf Bäumen wachsen, müssen eben sehr viele auf einmal deutlich mehr arbeiten, um denselben Lebensstandard wie vor einigen Jahren noch halten zu können oder aber sie ziehen die Folgen und schränken diesen ein. Nur wer ein Haus auf dem Lande hat, der braucht ein Automobil. Der ist da gefangen. Vielleicht aber dann eben eines, das mit Erdgas fährt.

Oder manche sagen sich dann einfach: ich verdiene ohnehin weniger als der potentielle Mindestlohn, und wenn ich dann alle Kosten zum Leben davon abziehe, die ich so benötige, bleiben mir unter dem Strich monatlich vielleicht netto 100-150 Euro zur freien Verfügung. Dafür maloche ich dann aber wöchentlich 50 Stunden, und wenn ich nichts tue und ALG-II beantrage, ja dann sieht auf einmal der maximale Regelsatz sogar recht freundlich aus.

So oder so, um es abzuschließen, ist dieses Mediengewese um die „Work-Life-Balance“, die im Grunde ein alter Hut ist nur ein deutliches Warnsignal dafür, dass sie in dieser Gesellschaft massiv aus dem Ruder gelaufen ist und sich da mal langsam etwas tun muss. Und nicht nur da.

Static page generators considered evil

Es gibt ja seit einiger Zeit eine neue Bewegung in der Blogosphäre, weg von dynamischen Blogengines, die eine Datenbank und PHP/Perl/Python/Whatever benutzen wie MySQL, hin zu statischen Seiten. Die Idee dahinter ist einfach die folgende: statische Seiten werden viel schneller vom Webserver ausgeliefert (i.d.R. 1/10 der Zeit, die man für das Generieren einer Seite wie hier benötigt, daher nutzt dieses Blog auch einen Cache), was statisch ist, kann nicht gehackt werden und es ist viel einfacher zu sichern.

Also gibt es nun einen Haufen von Generatoren für statische Seiten wie Octopress, Jekyll, Pelican und viele, viele mehr. Meist ist diesen Generatoren gemein, dass die Seiten lokal auf dem Rechner des Benutzers gerendert und dann per FTP hoch geladen werden. Manche benutzen Git als Speichersystem, andere nur das Dateisystem und bei vielen dieser Programme werden die Artikel in striktem Markdown geschrieben. Im Prinzip also erst einmal eine schöne Sache.

Das Problem daran ist allerdings dann dies: ein Blog lebt auch und vor allem von Kommentaren. Nun sind statische Seiten aber eben genau das – statisch – und können also Kommentare nicht so einfach verarbeiten. 99% dieser Generatoren nutzen daher für das Abarbeiten von Kommentaren einen externen Dienstleister aus den USA namens Disqus, den man kostenlos und bequem per Javascript einbetten kann.

Und warum ist das ein Problem? Viele wechseln zu den statischen Generatoren, um ihre eigenen Daten selber unter Kontrolle zu haben und ausgerechnet die Kommentare haben sie dann eben nicht unter Kontrolle. Das ist dann an vielen dieser Generatoren der eingebaute Schönheitsfehler, solange man Kommentare out of the box haben will. Manch einer bastelt sich dann eigene Kommentarsysteme per Email oder aber nutzt Opensource dafür, das es auch gibt, aber das wird eben die Fähigkeiten vieler überschreiten, so etwas zu implementieren.

Und dann ist ein System wie selbst gehostetes WordPress auf einmal eben doch nicht so schlecht und verkehrt, zumal man auch dieses sehr flott bekommen kann, wenn man denn will.