Konfigurations-Empfehlungen
- 1GB RAM pro 1TB Kapazität
- 5GB RAM pro 1TB Kapazität für ZFS deduplication
- zusätzliche 2GB RAM als Cache bei Active Directory Nutzung mit FreeNAS®
- Installation auf internem USB Stick oder SATA DOM (AHCI) empfehlenswert
ZFS Basics
ZFS steht für Zettabyte File System und stellt als hochmodernen Software-Defined-Storage (SDS) ein next generation Dateisystem dar. Machen Sie sich vertraut mit den zahlreichen Funktionen dieser effizienten und innovativen Lösung und verwalten Ihre Daten auf eine simple, hochskalierbare, vielseitige und wirtschaftlich erschwingliche Art und Weise.
Caching: "ARC" = Adaptive Replacement Cache ist im System RAM implementiert und sorgt primär für das Read Caching. "L2ARC" = Second Level Adaptive Replacement Cache setzt auf schnelle Flash-basierte Speicher (SSDs) und kommt bei häufig genutzten Datenmengen zum Zuge, welche nicht in den "ARC" passen. "ZIL" = ZFS Intent Log befindet sich standardmäßig auf den Hard-Disk Drive Storage Pools und sorgt bei synchronen Schreibvorgängen (d.h. der Schreibvorgang erfolgt aus Sicherheitsgründen ohne RAM-Buffering direkt auf die Storage Pools) für eine Datenredundanz (die Datei wird doppelt geschrieben, einmal in den kurzzeitigen ZIL und anschließend auf den langfristigen Storage Pool). Dieser synchrone Schreibvorgang ist datensicher, aber nicht schnell. Aus diesem Grund kann der ZIL in den sog. "SLOG" = Separate ZFS Intent Log (SSD oder NVMe Card) ausgelagert werden und das System erreicht eine sehr schnelle Write Performance auf dem Niveau eines All-Flash Array während die hohe Kapazität eines traditionellen HDD-basierten Arrays bereitgestellt wird.
ZFS RAID: ZFS befreit Sie von einem starren Hardware-Korsett und der damit verbundenen Abhängigkeit von bestimmten Hardware-Komponenten. Der Verzicht auf einen dedizierten Hardware-RAID Controller ermöglicht eine flexible Migration aller Daten von einem System zu einem anderen unabhängig von seiner Hardware-Ausstattung bzw. Version. Durch seine Export- und Importfunktion ist
sogar ein Wechsel des Betriebssystems möglich, sofern ZFS unterstützt wird.
Storage-Pool & RAID-Z: Zpool (ZFS pool) als die höchste Datenebene besteht aus einem oder mehreren vdevs (virtual devices), welche in einem RAID-0 (Stripe) zusammengefasst sind. Jedes vdev kann eine einzelne Disk, ein Mirror (RAID-1), RAID-Z1 (RAID 5), RAID-Z2 (RAID 6) oder RAID-Z3 darstellen. Eine RAID-Z3 Implementierung erfordert mind. fünf HDDs/SSDs und verkraftet den Verlust von bis zu drei storage drives. Ein Mirror oder eines der RAID-Z Level ist obligatorisch, denn der Verlust eines einzigen vdevs würde zum vollständigen Datenverlust führen. ZFS ist in der Lage zwei Arten von Dateistrukturen bereitzustellen: Datasets (reguläre Dateisysteme) oder die als zvols bezeichneten Volumes, welche als block devices den Einsatzzweck als iSCSI targets für Datenbanken erweitern. Das Datenmanagement und damit Partitionierungs- und Formatierungsaufgaben erfolgen durch das ZFS System.
Datenintegrität & selbstheilender Mechanismus: ZFS Systeme sind mit mächtigen Funktionen ausgestattet um Daten gegen Paritätsfehler, versehentliches Überschreiben oder Treiberfehler bzw. Firmware Bugs zu schützen. Während jedes Schreibvorgangs wird eine Checksumme kalkuliert und gemeinsam mit den Daten festgeschrieben. Sobald dieser Datenblock einmal gelesen wird erfolgt eine erneute Berechnung der Checksumme. Für den Fall, dass die Checksummen dabei nicht übereinstimmen, übernimmt ZFS den als "self-healing" bekannten Versuch die Daten aus einer Spiegelkopie heraus zu reparieren. Sofern weitere beschädigte Datenkopien existieren berechnet ZFS eine erneute Checksumme um den erwarteten Wert wiederzuerzeugen.
Copy-on-write: Der als "copy-on-write" bezeichnete Mechanismus schützt Daten, indem neue Informationen auf einen anderen Block geschrieben werden. Daraus resultiert, dass infolge eines schädigenden Ereignisses, wie z.B. einem Systemabsturz alte Daten nicht überschrieben, sondern aufbewahrt werden.
Snapshots: "Snapshots" sind "read-only" Kopien des Dateisystems und helfen Ihnen ein schnelles Rollback zu einem früheren Zeitpunkt einzuleiten und somit einen fehlerhaften Zustand rückgängig zu machen.
Resilvering & Scrubbing: Um Daten in bestmöglicher Form zu halten lautet eine wichtige Empfehlung das regelmäßige Scrubbing - vergleichbar mit Checkdisk oder Konsistenzcheck - durchzuführen. Während dieser Operation überprüft ZFS alle Daten gründlich und repariert diese. Scrubbing belastet die Diskperformance und erfordert je nach Datenstruktur viel Zeit. Resilvering - vergleichbar mit einem Rebuild - übernimmt bei Ausfall einer Disk das Einbinden und Schreiben fehlender Daten auf eine neue Disk.
Exkurs: NAS oder SAN?
Einer der wesentlichen Unterschiede zwischen NAS (Netword-attached Storage) und SAN (Storage Area Networks) Architekturen ist die Art und Weise wie Daten gespeichert werden. SAN speichert Daten in Blöcken während NAS diese als Dateien addressiert. SAN besteht als eigenes separates Netzwerk von Speichergeräten und erscheint als Disk während NAS als File-Server oder Netzlaufwerksfreigabe fungiert. In einer NAS Umgebung können mehrere User oder Geräte gleichzeitig auf den selben Datenbestand zugreifen und effektiv miteinander komminizieren. Netzwerkprotokolle sind unabhängig vom Betriebssystem des Users und erlauben somit den simplen Betrieb in einer heterogenen Netzwerk-Infrastruktur (Linux, Windows, MacOS). SAN dagegen speichert Daten in Blöcken in sog. LUNs. Diese LUNs als "targets" werden einem initiator (host) angezeigt und gehen dabei eine eins-zu-eins Verbindung ein. Der Einsatz von Datenblöcken eröffnet SAN Architekturen den Vorteil, dass diese mit bestimmten Applikationen, wie z.B. Oracle oder MS Exchange Datenbank-Support genutzt werden können.
Konfigurations-Empfehlung & Hinweise