Anbieter zum Thema
Der zweite Pfeiler ist das „Level 2 ARC“ (L2ARC), das aus SSDs besteht. Ohne L2ARC müssten alle Daten, die im ARC keinen Platz finden, von langsamen Festplatten gelesen werden. SSDs überbrücken den Geschwindigkeitsunterschied zwischen DRAM und HDDs, der mehrere Millisekunden beträgt. SSDs sind teurer als HDDs; es ist aber deutlich günstiger, Hunderte Gigabyte Flash-Speicher in Form von SSDs anzuschaffen, als die gleiche Menge in DRAM. Die I/Os auf SSDs sind zwar langsamer als bei DRAM, der Durchsatz ist jedoch bekanntermaßen deutlich höher als bei Festplatten.
Der dritte Pfeiler des Hybrid Storage Pools sind schließlich HDDs. Welche Daten auf der zweiten Cache-Ebene gespeichert werden, entscheiden wiederum intelligente Algorithmen innerhalb von ZFS. Auf den HDDs schließlich befinden sich alle Daten, auch die gecachten. Das ist ein entscheidender Unterschied zu Tiered Storage, bei dem die Originaldaten zwischen schnelleren und langsameren Daten verschoben werden müssen.
Latenzzeiten senken und dabei Datenintegrität garantieren
Der Hybrid Storage Pool funktioniert beim Schreiben ähnlich wie beim Lesen. ZFS handhabt mit Caching die synchronen Schreibvorgänge verschiedener Protokolle wie beispielsweise NFS oder SMB/CIFS. Die Schreibvorgänge werden im „ZFS Intent Log“ (ZIL) protokolliert, bis sie an nicht-volatilen Stellen im Speicher abgelegt sind.
Die Latenz von synchronen Schreibvorgängen zu reduzieren, hat einen direkten Einfluss auf die Leistung, denn Datenbanken setzen gewöhnlich voraus, dass Daten auf einem dauerhaften Speicher geschrieben sind, bevor sie den Vorgang abschließen können. Während alle Schreibvorgänge, sowohl synchrone als auch asynchrone, auf DRAM in den ARC geschrieben werden, werden synchrone zusätzlich auch auf den ZIL auf SSD geschrieben.
ZFS bündelt regelmäßig alle neuen Schreibvorgänge im ARC und verteilt diese auf die Festplatten. Ab diesem Moment werden die Protokolle auf dem ZIL nicht länger benötigt und können überschrieben werden, da die Daten ihre finale Stelle auf einem langfristigen, nicht-volatilen Medium erreicht haben. Unter normalen Umständen wird das ZIL also nicht benötigt. Es wird nur gelesen, wenn synchrone Schreibvorgänge aus dem ARC nicht auf Festplatte geschrieben werden können, zum Beispiel nach einem Stromausfall oder beim Ausfall eines Controllers.
Dann liest ZFS das ZIL und legt die Daten anschließend wie geplant auf den Festplatten ab. Auf diese Weise ist der Verlust einer Transaktion oder die Inkonsistenz zwischen Nutz- oder Paritätsdaten ausgeschlossen. Genau wie ARC und L2ARC wird das ZIL automatisch und intelligent von ZFS verwaltet, ohne jeglichen Eingriff eines Administrators.
(ID:42238772)