Startseite
Bild

napp-it-zfs

Bestandteile von ZFS

Um ZFS zu verstehen sollten Sie wissen, aus welchen Komponenten ZFS aufgebaut ist,
wie die Bestandteile benannt werden und welche Eigenschaften damit verknüpft sind.


Pool


Alle Daten liegen in einem Pool. Ein Pool besteht aus einem oder mehreren vdevs (virtuelle devices). Der Pool kann in der Größe durch Hinzufügen von vdevs praktisch unbegrenzt wachsen.  Der englische Begriff "tank" als oft genutzter default-Name für einen Pool ist da selbsterklärend.

Pool Optionen

  • Single vdev  (Pool besteht aus einem vdev) . Das entspricht einem "konventionellem" Raid Array.
    z.B. 11 Platten als Raid-Z3). Ideal für Storage bis ca 48 TB (11 x 6TB) und Backup/ Home oder Mediaanwendung

    oder z.B. Single 3-way Mirror. Ideal bei Kapazitäten bis 6 TB (3 x 6TB) bei allerhöchster Datensicherheit.
  • Mehrere Vdevs
    Für große Speicherkapazitäten bis in den Petabyte Bereich oder wenn hohe IOPS Leistung benötigt wird, werden weitere vdevs dem Pool hinzugefügt. Die Daten werden über alle vdevs in der Art eines Raid-0 gestriped um die Performance zu erhöhen. Die IOPS (Performance bei gleichzeitigen wahlfreiem Lesen/Schreiben) skaliert daher mit der Anzahl der vdevs

    z.B. Multiple Mirror vdevs (ähnlich Raid-10) für höchste IPOS für Datenbanken oder ESXi Storage oder
    Multiple Raid-Z2/3 als typische High Capacity Filer Option bis in den Petabyte Bereich.
  • Hot Spare Reserveplatten arbeiten auf Pool Ebene und ersetzen eine ausgefallene Platte automatisch
  • SSDs können als L2ARC LeseCache einem Pool hinzugefügt werden. Sie vergrößern den RAM Lesecache
  • DRAM oder SSD disks können als ZIL Logdevices einem Pool hinzugefügt werden um die Geschwindigkeit bei sicherem syncronem Schreiben zu verbessern.  Ein ZIL wird nur bei syncronem Schreiben benötigt und benutzt.


Vdev


Sie erstellen einen Pool aus einem oder mehreren vdevs (virtuelle devices). Ein vdev ist eine einzelne Platte oder Datei oder ein Raid aus mehreren Platten oder Dateien. Vdevs können nicht durch Hinzufügen von Platten wachsen, man kann aber kleine Platten durch größere ersetzen. Die Größe des vdevs wächst entsprechend.

Vdev Optionen

  • Basic (einzelne Platte oder Datei). Ein Pool mit einem oder mehreren Basic-Vdevs arbeitet als Raid-0 ohne Redundanz!
  • Mirror  (2way oder n-way) . Bei Lesen wird von allen Platten gleichzeitig gelesen. Ideal für High-IOPS Anwendungen bei normalen Festplatten. Bei vdevs nur aus SSD ist Raid-Z ökonomischer.
  • Raid-Z1 (eine Paritätsdisk, ähnlich wie Raid-5 aber ohne dessen Write-hole Probleme. Alle Raid-Z benötigen daher keine Batterien auf dem Controller). Ideal für 3 Platten. Sollte bei großen Platten oder mehr als 3 Platten vermieden werden (Ausfall von zwei Platten= Totalverlust aller Daten)
  • Raid-Z2 (zwei Paritätsdisks, ähnlich wie Raid-6 aber ohne dessen Write-hole Probleme). Die ideale Anzahl von Platten per Z2 vdev ist 4, 6 oder 10. Mehr Platten pro vdev sollten vermieden werden (hohe Rebuild-Zeit)
  • Raid-Z3 (drei Paritätsdisks, drei Platten dürfen ohne Datenverluist ausfallen). Die ideale Anzahl von Platten hinsichtlich Nutzkapazität per Z3 vdev ist  7 oder 11. Mehr Platten pro vdev sollten vermieden werden (hohe Rebuild-Zeit). 


Dateisystem


Auf einem Pool lassen sich Dateisysteme anlegen. Das ist sowas wie eine Partition allerdings ohne festgelegte Größe. Die Verwaltung der nutzbaren Größe erfolgt mit Reservierungen und Quotas - nennt sich auch Speichervirtualisierung. Diese Dateisysteme werden als Ordner gemounted oder als Shares (NFS/CIFS oder andere) freigegeben. Sie können problemlos mehrere Tausend Dateisysteme auf einem Pool anlegen.


Zvol


Ein zvol ist ein Blockdevice (eine virtuelle Festplatte). Die wird auf einem Dateisystem angelegt und verwendet wie eine Festplatte z.B. als Comstar Target  für FC/ IB/ iSCSI. Die Größe ist dynamisch änderbar.

napp-it 21.02.2024