Einführung in ZFS, Teil 2

Author: | Posted in Solaris 1 Comment

Im zweiten Teil geht es um das Konzept von zfs, welches sich von den traditionellen Filesystem und Volume Manager Konzepten unterscheidet, was ich bereits im ersten Teil meiner ZFS Einführung erwähnt habe. In der Vergangenheit wurde einer Disk ein Filesystem erstellt und ins System eingebunden in dem man in der /etc/vfstab einen Eintrag machte. Da irgendwann der Bedarf nach mehr Platz und Performance kam, wurden die Volume Manager erfunden. Mehrere Disks wurden mit Volume Managern zu einem Volume zusammen gefasst und dem OS als eine virtuelle Disk präsentiert, auf das wiederum ein Filesystem kam.

Eine ganze Industrie entwickelte sich und bot die verschiedensten Lösungen auf dem Markt an. Die vermeintlich flexiblen und performanten Lösungen entpupten sich dann aber doch nicht so flexibel. Nicht alle Filesysteme verfügen über alle Disks, was sich negativ auf die Performance auswirkt und das vergrössern bzw. verkleinern von Filesystemen ist nur manuell möglich.

ZFS ist da anders…

… die verfügbaren Disks werden in einem Pool zusammen gefasst und die gesammte Kapazität und Performance wird alles Filesystemen zur verfügung gestellt. In diesen Pool werden dann die einzellnen Filesysteme erstellt, welche dann alle die gesammte grösse des Pools sehen. Den einzellnen Filesystemen kann man dann je nach Bedarf eine Grössenlimite geben oder bestimmten Speicher reservieren.

Auch die Konfiguration ist grundlegend anders. Es gibt keine Konfigurationsdateien mehr, welche unter /etc verstreut sind. Die gesammte Konfiguration wird auf den Disk gespeichert. Mountpoints oder NFS shares werden auf der Disk gespeichert. Das mag auf den ersten Blick unkomfortabel erscheinen, hat aber den grossen Vorteil das Pools sehr einfach und komfortabel von einem System zum anderen gezügelt werden können.

Zu erwähnen ist noch, dass alle Parameter sowie das erstellen neuer Filesysteme dynamisch und ohne Ausfall des Betriebes geändert werden können. Das heisst, wenn man eine neuen Storage Pool oder ein neues Filesystem erstellt, ist der Storage Pool bzw. das neue Filesystem sofort da.

ZFS versieht alles mit Prüfsummen. Ein klassischer Volume Manager kann nicht sagen, ob die Daten durch Ãœbertragungsfehler oder Treiberprobleme beschädigt wurden oder nicht. Durch die Integration des Volume Managers und des Filesystems in ein Produkt ist ZFS in der Lage, die gelesenen Daten zu verifizieren. Das heisst, dass man wirklich das gelesen hat, was man lesen möchte –> silent data corruption ist mit ZFS nicht möglich. Das geht so weit, dass in einem Fehlerfall ZFS genau sagen kann, welche Files beschädigt sind und welche nicht.

ZFS skaliert: ZFS bietet als 128-Bit Filesystem eine immense Kapazität und bietet 100% dynamische Metadaten an. Es gibt keine Limitation an Files oder Verzeichnissen, keine Inodes. Nebst dem pre-fetching können alle Operationen parallel ausgeführt werden. Blocksizes werden per File automatisch ausgewählt.

Comments
  1. Posted by Lukas Beeler

Add Your Comment

Your email address will not be published. Required fields are marked *