Ist es jemals ratsam, ZFS auf einem hardwarebasierten RAID1 oder auf einem anderen RAID1-System auszuführen, wenn zufällig Hardware auf Serverbasis zur Verfügung steht? Sollte man das hardwarebasierte RAID ausschalten und stattdessen ZFS auf einem mirror
oder einem ausführen raidz
zpool
?
Verbergen Hardware-RAID-basierte SATA2- und SAS-Controller bei deaktivierter Hardware-RAID-Funktionalität mit größerer Wahrscheinlichkeit Lese- und Schreibfehler als Nicht-Hardware-RAID-Controller?
In Bezug auf nicht anpassbare Server, wenn ein Hardware-RAID-Controller effektiv kostenneutral ist (oder sogar die Kosten für das vorgefertigte Serverangebot senkt, da seine Präsenz die Wahrscheinlichkeit erhöht, dass das Hosting-Unternehmen komplementäres IPMI bereitstellt Zugang), sollte es überhaupt vermieden werden? Aber sollte es gesucht werden?
Antworten:
Die Idee mit ZFS ist es, so viel wie möglich darüber zu informieren, wie sich die Festplatten verhalten. Dann vom Schlimmsten zum Besseren:
Da ZFS in Bezug auf Hardware ziemlich paranoid ist, kann es Hardwareprobleme umso mehr bewältigen, je weniger versteckt es ist. Und wie von Sammitch herausgestellt , können RAID-Controller-Konfigurationen und ZFS möglicherweise nur sehr schwer wiederhergestellt oder neu konfiguriert werden, wenn sie ausfallen (z. B. Hardwarefehler).
Bei der Frage nach standardisierter Hardware mit einem Hardware-RAID-Controller muss lediglich darauf geachtet werden, dass der Hardware-Controller über einen echten Pass-Through- oder JBOD-Modus verfügt.
quelle
Frage: Wenn zufällig Hardware auf Server-Ebene zur Verfügung steht, ist es jemals ratsam, ZFS auf einem hardwarebasierten RAID1 oder einem solchen auszuführen?
A. Es wird dringend empfohlen, ZFS direkt auf der Festplatte auszuführen und dazwischen keine Form von RAID zu verwenden. Ob ein System, bei dem Sie die RAID-Karte effektiv einsetzen müssen, die Verwendung von ZFS ausschließt, hat mehr mit den ANDEREN Vorteilen von ZFS zu tun als mit der Ausfallsicherheit von Daten. Fazit: Wenn eine zugrunde liegende RAID-Karte für die Bereitstellung einer einzelnen LUN für ZFS verantwortlich ist, wird ZFS die Datenausfallsicherheit nicht verbessern. Wenn der einzige Grund, warum Sie sich für ZFS entscheiden, die Verbesserung der Datenausfallsicherheit ist, haben Sie einfach alle Gründe für die Verwendung verloren. ZFS bietet jedoch auch ARC / L2ARC, Komprimierung, Snapshots, Klone und verschiedene andere Verbesserungen, die Sie möglicherweise auch wünschen. In diesem Fall ist es möglicherweise immer noch das Dateisystem Ihrer Wahl.
F. Sollte man das hardwarebasierte RAID deaktivieren und stattdessen ZFS auf einem Spiegel oder einem RAIDZ-Pool ausführen?
A. Ja, wenn überhaupt möglich. Einige RAID-Karten erlauben den Pass-Through-Modus. Wenn dies der Fall ist, ist dies vorzuziehen.
F. Verbergen Hardware-RAID-basierte SATA2- und SAS-Controller bei deaktivierter Hardware-RAID-Funktionalität mit größerer Wahrscheinlichkeit Lese- und Schreibfehler als Nicht-Hardware-RAID-Controller?
A. Dies hängt vollständig von der betreffenden RAID-Karte ab. Sie müssen das Handbuch durchlesen oder sich an den Hersteller / Lieferanten der RAID-Karte wenden, um dies herauszufinden. Einige tun sehr viel, ja, besonders wenn die RAID-Funktionalität sie nicht vollständig ausschaltet.
F: Bei nicht anpassbaren Servern ist ein Hardware-RAID-Controller kostengünstig (oder senkt sogar die Kosten für das vorgefertigte Serverangebot), da seine Präsenz die Wahrscheinlichkeit erhöht, dass das Hosting-Unternehmen bereitstellt komplementärer IPMI-Zugang), sollte dies überhaupt vermieden werden? Aber sollte es gesucht werden?
A. Dies ist ungefähr dieselbe Frage wie Ihre erste. Auch hier gilt: Wenn Sie ZFS nur verwenden möchten, um die Ausfallsicherheit der Daten zu verbessern, und für die von Ihnen ausgewählte Hardwareplattform eine RAID-Karte erforderlich ist, die ZFS eine einzelne LUN (oder mehrere LUNs, die jedoch mit ZFS-Stripe versehen sind) bereitstellt, müssen Sie dies tun nichts, um die Datenausfallsicherheit zu verbessern, und daher ist Ihre Wahl von ZFS möglicherweise nicht angemessen. Wenn Sie jedoch eine der anderen ZFS-Funktionen für nützlich halten, kann dies dennoch der Fall sein.
Ich möchte ein zusätzliches Anliegen hinzufügen - die obigen Antworten beruhen auf der Idee, dass die Verwendung einer Hardware-RAID-Karte unter ZFS ZFS nur schadet, wenn die Fähigkeit zur Verbesserung der Datenausfallsicherheit entfernt wird. Die Wahrheit ist, dass das eher eine Grauzone ist. Es gibt verschiedene Probleme und Annahmen innerhalb von ZFS, die nicht unbedingt funktionieren, wenn Multi-Disk-LUNs anstelle von Raw-Disks übergeben werden. Das meiste davon kann mit der richtigen Abstimmung negiert werden, aber auf großen RAID-LUNs ist ZFS nicht so effizient wie auf einzelnen Spindeln.
Darüber hinaus gibt es Hinweise darauf, dass die sehr unterschiedliche Art und Weise, in der ZFS im Gegensatz zu herkömmlichen Dateisystemen mit LUNs kommuniziert, häufig Codepfade im RAID-Controller und Workloads aufruft, an die sie nicht gewöhnt sind, was zu Kuriositäten führen kann. Vor allem tun Sie sich wahrscheinlich selbst einen Gefallen, indem Sie die ZIL-Funktionalität für jeden Pool, den Sie auf einer einzelnen LUN platzieren, vollständig deaktivieren, wenn Sie nicht auch ein separates Protokollgerät bereitstellen Stellen Sie dem Pool ein separates Raw-Protokoll-Gerät zur Verfügung (das nach Möglichkeit keine LUN von der RAID-Karte ist).
quelle
Ich führe ZFS ziemlich oft über HP ProLiant Smart Array RAID-Konfigurationen aus.
Warum?
Ein Beispiel:
RAID-Controller-Konfiguration.
Geräteliste blockieren
zpool Konfiguration
Pool Detail
Auflistung des zfs-Dateisystems
quelle
Normalerweise sollten Sie ZFS niemals auf Festplatten ausführen, die in einem RAID-Array konfiguriert sind. Beachten Sie, dass ZFS nicht im RAID-Modus ausgeführt werden muss. Sie können nur einzelne Datenträger verwenden. Nahezu 99% der Benutzer verwenden jedoch ZFS für den RAID-Teil. Sie könnten Ihre Datenträger nur im Striping-Modus ausführen, aber das ist eine schlechte Verwendung von ZFS. Wie andere Poster bereits sagten, möchte ZFS viel über die Hardware wissen. ZFS sollte nur mit einer RAID-Karte verbunden werden, die auf den JBOD-Modus eingestellt werden kann, oder vorzugsweise mit einem HBA. Gehe auf den IRC-Freenode-Kanal #openindiana; Jeder ZFS-Experte im Channel wird Ihnen dasselbe sagen. Bitten Sie Ihren Hosting-Provider, den JBOD-Modus bereitzustellen, wenn er keinen HBA bereitstellt.
quelle
Kurz gesagt: Die Verwendung von RAID unter ZFS macht die Idee der Verwendung von ZFS zunichte. Warum? - Weil es für reine Festplatten und nicht für RAIDs ausgelegt ist.
quelle
Für euch alle ... ZFS über jeden Raid ist ein totaler SCHMERZ und wird nur von MAD-Leuten durchgeführt! ... wie die Verwendung von ZFS mit nicht ECC-Speicher.
Mit Beispielen werden Sie besser verstehen:
Wo ZFS gut ist, liegt in der Erkennung von Bits, die sich geändert haben, wenn die Festplatte stromlos ist (RAID-Controller können das nicht), auch wenn sich etwas ändert, ohne dazu aufgefordert zu werden usw.
Es ist das gleiche Problem wie wenn sich ein Bit in einem RAM-Modul spontan ändert, ohne dazu aufgefordert zu werden ... Wenn der Speicher ECC ist, korrigiert sich der Speicher selbst; Wenn nicht, haben sich diese Daten geändert, sodass die Daten modifiziert an die Festplatten gesendet werden. Wenn der Fehler im VDEV-Teil liegt, verliert der gesamte ZPOOL für immer alle seine Daten.
Das ist eine Schwachstelle von ZFS ... VDEVs schlagen fehl, wenn alle Daten für immer verloren gehen.
Hardware Raid und Software Raid können keine spontanen Bitänderungen erkennen, sie haben keine Prüfsummen, am schlechtesten auf Raid1-Ebenen (Mirros), sie lesen nicht alle Teile und vergleichen sie, sie nehmen an, dass alle Teile immer die gleichen Daten haben, ALLWAYS (ich sage) es laut) Raid geht davon aus, dass sich Daten nicht auf andere Weise geändert haben ... aber Festplatten (als Speicher) sind anfällig für spontane Bitänderungen.
Verwenden Sie niemals ein ZFS auf einem Nicht-ECC-RAM und niemals ZFS auf überfallenen Festplatten. Lassen Sie ZFS alle Festplatten sehen und fügen Sie keine Schicht hinzu, die Ihr VDEV und Ihren POOL ruinieren kann.
So simulieren Sie einen solchen Fehler ... schalten Sie den PC aus, nehmen Sie eine Festplatte des Raid1 heraus und ändern Sie nur ein Bit ... rekonstruieren Sie und sehen Sie, wie der Raid-Controller nicht wissen kann, dass sich das geändert hat ... ZFS kann, weil alle Lesevorgänge getestet werden gegen die Prüfsumme und wenn nicht übereinstimmen, lesen Sie aus einem anderen Teil ... Raid nie wieder lesen, weil ein Fehler (außer Hardware unmöglich lesen schlägt fehl) ... wenn Raid lesen kann, denken, dass Daten in Ordnung sind (aber es ist nicht in solchen Fällen ) ... Raid versuche nur von einer anderen Platte zu lesen, wenn dort steht "hey, ich kann nicht von dort lesen, Hardware fällt aus" ... ZFS von einer anderen Platte lesen, wenn die Prüfsumme nicht so gut passt wie dort, wo sie liest sagt "hey, ich kann von dort nicht lesen, Hardware fällt aus".
Hoffe, ich lasse es sehr deutlich werden ... ZFS über jedes Level von Raid ist ein Schmerz in den Augen und ein totales Risiko für Ihre Daten! sowie ZFS auf Nicht-ECC-Speichern.
Aber niemand sagt (außer mir):
Also, welche Festplatten zu verwenden?
Aber hey, die meisten Leute wissen nicht alles und hatten nie ein Problem ... Ich sage ihnen: Wow, wie viel Glück hast du, kaufe ein paar Lottoscheine, bevor das Glück verschwindet.
Die Risiken sind da ... solche Fehler können zufällig auftreten ... die bessere Antwort lautet also:
Was ich persönlich mache?
Hoffe, ich könnte ein wenig Licht auf ZFS gegen Raid geben, es ist wirklich ein Schmerz, wenn Dinge schief gehen!
quelle