Einführung in ZFS, Teil 1
Seit Solaris 11 6/06 (Update 2) liefert Sun das Zettabyte Filesystem, kurz ZFS, aus. ZFS ist im Moment das modernste auf dem Markt und stellt vieles, was bisher auf dem Markt war in den Schatten. Insbesondere Symantec (Veritas) dürfte langsam Mühe haben, ihr VxFS und VxVM zu verkaufen, da es bald keinen Grund mehr geben wird, das überteuerte Veritas Produkt zu kaufen.
Der Hintergrund warum Sun ZFS entwickelt hat, ist relativ einfach: UFS wurde in den vergangenen 20 Jahren immer wieder erweitert, zuletzt mit Multiterabyte, und stosst langsam an seine Grenzen. In Verbindung mit den bestehenden Volume Managern, SDS oder VxVM, bekommt mein ein komplexes und langsames Konstrukt, welches zwar redundant ist, aber immer noch nicht richtig flexibel ist. Sun hat sich die frage gestellt, warum bis vor ZFS immer Volume Manager und Filesystem getrennt wurden. ZFS ist ein Volume Manager und ein Filesystem in einem. Mit ZFS wurde so ziemlich alles über Bord geworfen, an das man sich in den vergangenen 20 Jahren gewöhnt hat. Sun geht einen völlig neuen Weg, der auf eine Art revolutionär ist.
Datenintegrität: Bis jetzt wusste man nie, ob die Daten die man von der Disk gelesen hat, auch wirklich die Daten sind die man haben möchte. Wenn Beispielsweise auf einem Submirror die Daten beschädigt sind (verursacht z.B. durch ein defektes Kabel, Controller), wird man das mit einem konventionellen Volume Manager nie herausfinden können, da Volume Manager wie VxVM oder SDS ziemlich doof sind und die Datenintegrität nicht überprüfen. ZFS überprüft die Daten mit einer 256-Bit Prüfsumme. Somit ist sichergestellt, dass defekte Devices früher erkannt werden können.
Gross: ZFS ist das erste 128-Bit Filesystem der Welt und ist so mit das richtige Filesystem für den Speicherplatzhunger der Welt.
Geschwindigkeit: Neben der hervorragenden Performance, intelligentem Prefetching, gehören die Wartezeiten beim kreieren von Filesystemen oder Spiegeln nun zur Vergangenheit an. Volume Manager wissen nicht, was das darüber liegende Filesystem alles geschrieben hat und kopieren deshalb nach beim erstellen von Volumes sinnlos Nullen von einer Disk auf die anderen. Da bei ZFS der Volume Manager integriert ist, werden nur die notwendigen Bereiche kopiert und spart, inbesondere bei grösseren Filesystemen, sehr viel Zeit.
Einfach: Mit zpool(1m) zum Managen der Storage Pools und zfs(1M) Managen von Filesystemen gibt es nur zwei einfach zu bediende Kommandos.
Transaktionen: Neben dem performance Gewinn den transactional I/O bietet, wird auch ein immer konsistentes Filesystem garantiert. Ein Performance fressenden Journaling wird nicht benötigt.
Kein fsck: Log replay oder fsck sind jetzt endültig vorbei. Dank copy-on-write werden nie Daten überschrieben.
Endianness: Während VxVM auf einer anderen endian Architektur die Byte Reihenfolge on-the-fly konvertiert, bietet ZFS ein richtiges endianness.
Das sind im groben die Features von ZFS. Im nächsten Blog Eintrag werde ich das Konzept hinter ZFS vorstellen.
Das schaut doch sehr cool aus.
Interessant finde ich dabei, das einen Grossteil dieser funktionalität in i5/OS schon seit Jahren enthalten ist.
@Lukas Beeler
“Grossteil” schreibt man mit ß, “funktionalität” schreibt man groß – schon klar, dass es bei Euch Kühlschrank-Administratoren auf solche Dinge nicht ankommt und dass sämtliche Funktionalitäten der Welt schon längst in OS/400 usw. in irgendeiner Form abgebildet waren. Das will aber hier im Blog “Einführung in ZFS” eigentlich keiner wissen. Auch wenn es die Hosties in Ihrer 5-Farben-Welt immernoch nicht wahrhaben wollen: Jede Firma, die sich heute noch von IBM einwickeln lässt und Großrechner kauft, hat entweder zu viel Geld oder korrupte Manager, die gegen Bakshish die Aufträge vergeben. Der Host ist tot und wenn er irgendwo noch läuft, dann höchstens im Rollstuhl und mit künstlicher Beatmung. Nichts als Sand im Getriebe…
KW