Frage Für L2ARC und ZIL: ist es besser, eine große SSD für beide oder zwei kleinere SSDs zu haben?


Hauptreferenzen

ZFS L2ARC (Brendan Gregg) (2008-07-22) und ZFS und das hybride Speicherkonzept (Anatol Studlers Blog) (2008-11-11) enthalten das folgende Diagramm:

a ZFS pyramid view of ARC, L2ARC, ZIL and a disk storage pool

Frage

Sollte ich die vertikale weiße Linie - auf der SSD-Schicht - als eine Präferenz interpretieren trennen SSDs -

  • eine Vorliebe für nicht Mischen Sie L2ARC und ZIL auf einer einzigen Festplatte?

Hintergrund (Antwort auf Kommentare)

Persönlich, zu Hause, werde ich wahrscheinlich weder L2ARC noch ZIL mit irgendeinem Computer benutzen, der mir zur Verfügung steht. (Mein täglicher Computer ist ein MacBookPro5,2 mit 8 GB Speicher und Hybrid Seagate ST750LX003-1AC154. Keine Pläne, das optische Laufwerk durch eine SSD zu ersetzen.)

Anderswo: bei der Arbeit wird es einige Umwidmung von Kit geben, aber ich habe kein Datum oder alle Details. (Xserve RAID x2 in der Mischung ... zu dieser Zeit stelle ich mir nicht vor, diese an ZFS zu geben, aber ich bin offen dafür.)

Meine Neugier auf SSD Best Practices Sowohl für L2ARC als auch für ZIL wurde mit der Durchführung leistungsbezogener Diskussionen im Bereich der ZEVO begonnen - insbesondere mit dem unten genannten Thema, bei dem ein Benutzer sowohl L2ARC als auch ZIL auf einer einzigen Festplatte hat.

Andere Referenzen und Diskussionen

L2ARC Screenshots (Brendan Gregg) (2009-01-30)

SLOG Screenshots (Brendan Gregg) (2009-06-26)

[zfs-discuss] ZFS-Root-Backup / "Disaster" -Recovery und Verschieben des Root-Pools (2011-01-10) empfiehlt gegen eine Mischung aus drei Dinge (Root-Pool, ZIL und L2ARC) auf einer einzigen Festplatte -

... nicht die Kopfschmerzen wert, die auftreten können, wenn Sie versuchen, alle 3 zu verwalten   auf der gleichen Festplatte. Zum Beispiel, wenn Sie sich entscheiden, neu zu installieren und   versehentlich den Inhalt des ZIL für Ihren Datenpool verwerfen. Nicht   Freigeben von Festplatten für Poolkomponenten oder Pools, um Verwaltung und   Wiederherstellung einfach. ...

- Ich bin mehr daran interessiert, ob es nicht zu mischen ist zwei von diesen Dingen auf einer einzigen Festplatte.

https://superuser.com/a/238744/84988 (2011-01-28) erwähnt "Cache (L2ARC Cache) und schreibe Protokoll (ZIL) auf SSD" (Singular). In Bezug auf FUSE und Windows behandle ich diese Antwort jedoch nicht als besonders relevant für alltägliche und leistungsorientierte Anwendungen von ZFS.

@ChrisS erwähnt ZIL und L2ARC in The Comms Zimmer am 2011-08-16.

http://forums.macrumors.com/showpost.php?p=14248388 (2012-01-31) diskutiert mehrere SSDs:

Etwas, das Sie über ZFS verstehen müssen: Es gibt zwei verschiedene Arten   von Cachespeichern, Lesen und Schreiben (L2ARC und ZIL), die typischerweise untergebracht sind   auf SSDs. Der ZIL ist der Schreibcache. Das ist wahrscheinlich wo   Missverständnis kommt von. Die ZIL wird gehämmert (vorausgesetzt, ein   aktives System) mit jedem Schreibvorgang, der beim zpool auftritt. Das Problem   ist, dass die Verwendung einer mlc-basierten SSD als ZIL verursacht sie verschleißen und   versagen ziemlich schnell. Du brauchst eine (wesentlich teurere) slc-basierte SSD um   als ZIL-Laufwerk verwendet werden.

Einen zpool zu haben, der komplett aus SSDs besteht, ist nicht nur möglich, sondern auch möglich   funktioniert ganz gut. Es beseitigt auch im Wesentlichen die Notwendigkeit für getrennt   Laufwerke für die ZIL und L2ARC. Ja, Sie haben keine TRIM-Unterstützung, aber   basierend auf der Kopie-auf-schreiben-Art von ZFS, das ist wahrscheinlich ein gutes   Ding.

Mit dem gesagt, ZFS spielt nicht gut mit fast voll (sagen wir 85% oder   höher) zpools. Leistung beginnt deutlich abzufallen -   unabhängig davon, ob Sie rotationsmagnetische Medien verwenden oder   fester Zustand. Der Mangel an TRIM-Unterstützung würde das wahrscheinlich verschlimmern   Problem, aber es ist schon ein Problem.

https://serverfault.com/a/397431/91969 (2012-06-11) empfiehlt:

  • SLC Typ SSD (speziell nicht MLC) für ZIL
  • MLC Typ SSD für L2ARC.

https://superuser.com/a/451145/84988 (2012-07-19) erwähnt a Singular "SSD für ZIL und L2ARC beschleunigen ZFS".

zevo.getgreenbytes.com • View topic - Leistungsproblem mit FW800 Verbindungsreihenfolge? (2012-09-24) beschäftigt sich mit der Reihenfolge der Dinge auf einem FireWire-Bus mit einem Single SSD für ZIL und L2ARC

  • Englisch: www.mjfriendship.de/en/index.php?op...39&Itemid=32 Mit dem Thema ZEVO habe ich mich gefragt, ob separate SSDs vorzuziehen sind.

Genauer gesagt: Ich habe mich über die Interpretation der weißen Linie im obigen Diagramm gewundert ...


19
2017-09-24 18:22


Ursprung


Es sieht so aus, als wäre es eher eine Serverfehlerfrage. Aber etwas, das Sie berücksichtigen sollten, ist die Lese- und Schreiblast für Ihren Speicherpool. Es gibt einige Untersuchungen, die zeigen, dass SSD-Raids im Allgemeinen eine drastisch niedrigere Leistung beim Schreiben haben können als Einzellaufwerk-Konfigurationen. xbitlabs.com/articles/storage/display/...
Diejenigen, die am ehesten mit ZFS vertraut sind, haben mit höherer Wahrscheinlichkeit einen Serverfehler als SuperUser. Wählen Sie, um sich zu bewegen, aber eine ausgezeichnete Frage. - afrazier
Ich sehe zwei aktuelle Stimmen zu schließen, können wir die Frage einfach verschieben? Danke @afrazier - Graham Perrin
Willkommen bei Serverfehler. Wie die FAQ sagt, bevorzugen wir praktische, beantwortbare Fragen basierend auf spezifischen Problemen, denen Sie gegenüberstehen. Das heißt, Sie haben hier eine Menge Theorie und Diskussion besprochen, aber die Sache, die zu fehlen scheint, ist das Problem, das Sie zu lösen versuchen. Fügen Sie die praktischen Details hinzu, und dies hat das Zeug zu einer großen Frage. - Michael Hampton♦
Nur um zu bemerken, VTCs sind eine Möglichkeit, Antworten zu verschieben. Wenn die Mehrheit der VTCs zu einem Standort bewegt werden soll, wird dieser verschoben. Und ja, praktische Details, bitte, das sieht aus Ja wirklich gut geschrieben und detailliert, aber ohne die Situation zu kennen, in der Sie sich befinden, ist es schwierig, eine konkrete Antwort zu bekommen. Sie bauen offensichtlich ein kickass ZFS-Setup, und Details wären hilfreich bei der Ausarbeitung der Antwort. - Journeyman Geek


Antworten:


Kurze Antwort, da ich nicht sehe, welches Problem du lösen willst ...

Wenn Sie können, verwenden Sie separate Geräte. Dies hängt von der Größe Ihrer Umgebung ab ... Wenn es sich nur um ein einfaches Heimsystem oder ein virtualisiertes System handelt eine All-in-One ZFS-LösungSie können ein einzelnes Gerät verwenden.

In größeren oder leistungsfähigeren ZFS-Lösungen verwende ich Geräte, die speziell für ihre ZIL- oder L2ARC-Rollen geeignet sind. STEC ZeusRAM oder DDRDrive für ZIL und jede Enterprise SLC oder MLC SAS SSD für L2ARC.

  • ZIL-Geräte sollten Geräte mit niedriger Kapazität und niedriger Latenz sein, die hohe IOPS-Werte erreichen können. Sie sind typischerweise gespiegelt.
  • L2ARC-Geräte sollten eine hohe Kapazität haben (zu Recht: Sie müssen RAM hinzufügen, wenn die L2ARC-Größe zunimmt). Sie skalieren durch Striping.

Was machen Sie?


13
2017-10-08 00:05



Ich habe der Frage etwas Hintergrund hinzugefügt. Diese Antwort scheint ideal zu sein - ich werde die Dinge einige Tage offen lassen, bevor ich sie akzeptiere. - Graham Perrin
Für Link-Zwecke: eine Frage von 2011 @ewwhite ZFS - Wie partitioniere ich SSD für ZIL oder L2ARC? und innerhalb der akzeptierte Antwort, "... Dedizierte ZIL- und L2ARC-Geräte pro Pool sind der richtige Weg". - Graham Perrin


Es gibt einige grundlegende Missverständnisse von Anfang an über ZIL, die korrigiert werden müssen, bevor man fortfährt.

Verstehe das: Unter "normalen" Umständen wird ZIL / SLOG nicht berührt.

Es ist nur geschrieben, wenn synchrone Schreibvorgänge befohlen sind oder wenn sync = immer für einen bestimmten Pool / Datensatz aktiviert ist ("zfs get sync pool / dataset")

ZIL wird nie unter normalen Umständen gelesen. Es ist eine Notfallwiederherstellungsfunktion.

IE: Die ZIL ist nur da, wenn der Strom ausgeht. Es wird verwendet, um Daten wiederzugeben, die zurück an das Betriebssystem gesendet wurden, bevor diese Daten in den Pool übertragen wurden. Alle ZFS-Schreibvorgänge in den Pool (synchron oder asynchron) stammen aus Speicherpuffern.

Unter normalen Umständen, sobald die Daten den Pool erreichen, kann der Slog-Eintrag verdampfen - es ist nur ein großer kreisförmiger Schreibpuffer und er muss nicht sehr groß sein (selbst 1 GB ist in den meisten Fällen übertrieben)

Nicht synchrone Schreibvorgänge werden in RAM gepuffert, kollationiert und zu einem günstigen Zeitpunkt auf die Festplatte geschrieben. Wenn der Strom ausfällt, gehen diese Daten verloren, aber die FS-Integrität bleibt erhalten (deshalb sollten Sie sync = immer einstellen)

Auf der anderen Seite ist L2ARC sowohl auf Lese- als auch auf Schreibebene stark gehämmert.

Es gibt so etwas wie "zu viel l2arc", weil die Metadaten für das, was in l2arc ist, aus deinem ARC-RAM herauskommen (dh wenn du die l2arc-Größe erhöhst, musst du den ram entsprechend anpassen) schließlich wird sich die Nutzung von l2arc auf einem Niveau weit unterhalb von "all the available space" einpendeln.

Trotz der Proteste einiger Hersteller, können Sie einen Speichermangel nicht ausgleichen, indem Sie die l2arc-Größen erhöhen (Mehrere Hersteller von Hardware-Raid-Arrays, die in ZFS-Appliances verzweigt sind, haben diese Annahme gemacht)

tl; dr: Wenn Ihre E / A-Belastung Datenbankaktivität ist, wird ZIL wahrscheinlich hart zugeschlagen. Wenn es etwas anderes ist, ist es wahrscheinlich, dass es nur leicht berührt wird. Es ist sehr wahrscheinlich, dass in 99,9% der Aktivität die ZIL-Funktionen niemals eingesetzt werden.

Wenn Sie das wissen, können Sie entscheiden, ob Sie eine SLOG-Partition für ZIL benötigen, ob sie mit der l2arc-Partition zusammenarbeiten kann oder ob sie ein eigenständiges Laufwerk benötigt (und welches Leistungsniveau dieses eigenständige Laufwerk haben sollte).


3
2017-11-26 21:30