Nicht-ECC-Speicher mit ZFS: eine blöde Idee?

16

Ich habe einen neuen Server und plane, die dürftigen 2 GB Arbeitsspeicher auf maximal 16 GB zu erweitern. (Theoretisch sind 8 GB das Limit, aber empirisch hat sich gezeigt, dass 16 GB funktionieren.) Einige Anleitungen raten, dass der ECC-Speicher nicht so wichtig ist, aber ich bin mir nicht sicher, ob ich das glaube.

Ich habe FreeNAS installiert und plane, ZFS-Volumes hinzuzufügen, sobald meine neuen Festplatten ankommen. Wäre es dumm, bei einem ZFS-basierten NAS nicht-ECC-Speicher zu sparen und diesen zu erhalten? Wenn es nötig ist, beiße ich die Kugel, aber wenn es nur Paranoia ist, dann werde ich es wahrscheinlich überspringen.

Gibt es einen Grund, warum ZFS oder FeeeNAS speziell ECC-Speicher benötigen oder besonders leiden, wenn sie auf einem System ausgeführt werden, das Nicht-ECC-Speicher verwendet?

Bilderstürmer
quelle
11
Im Allgemeinen für jede Art von Produktions- / Serveranwendung, die Sie für das ECC-RAM bezahlen möchten. Die Anleitungen, die darauf hinweisen, dass der ECC-Speicher "nicht so wichtig" ist, sind bestenfalls verdächtig - ich wage zu sagen, dass sie von jemandem geschrieben wurden, der noch nie einen Ein-Bit-Fehler in einem Produktionssystem gemacht hat.
Voretaq7
1
Was würden Sie mit einem Mikroserver machen, der 16 GB RAM benötigt?
Tombull89
ZFS ist anfangs RAM-hungrig, und ich plane, ESXi zu installieren und FreeNas darüber hinaus auszuführen. Auf diese Weise erstelle ich, wenn ich einen anderen Server benötige, eine neue VM und vermeide so das Ausbreiten von Kisten und Kabeln. (Wenn es eine Hausautomationslösung gibt, die nicht wie X-10 funktioniert, habe ich eine Box dafür. Wenn ich Git Lab für private Repos verwenden möchte, habe ich eine Box dafür. Usw.)
iconoclast
2
Ich denke, wenn er den Zusammenhang mit seinem Mini-Tower-Rig, der in der Produktion ein bisschen wahnsinnig ist, löschte, ist die Frage, ob ECC-Speicher für eine ZFS-Installation verwendet werden soll oder nicht, wirklich der wichtigste Teil.
Kent Fredric
1
Matt Ahrens, Mitbegründer von ZFS im Jahr 2001, sagte :There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
Janus Troelsen,

Antworten:

7

Ich würde argumentieren, dass das Ausführen von FreeNAS mit Nicht-ECC-RAM eine dumme Idee ist, ebenso wie das Ausführen als virtualisierter Gast, wenn die auf dem ZFS-Volume gespeicherten Daten wichtig sind.

Joshua Paetzel, einer der FreeNAS-Entwickler, hat eine gute Zusammenfassung zu diesem Thema: http://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-i-purpose-and-best-practices.html .

TL; DR

ZFS führt etwas aus, das Ihnen kein anderes Dateisystem zur Verfügung stellt: Es summiert Ihre Daten, und es summiert die von ZFS verwendeten Metadaten und die Prüfsummen. Wenn Ihre Daten im Speicher beschädigt sind, bevor sie geschrieben werden, schreibt ZFS die beschädigten Daten problemlos (und summiert sie). Darüber hinaus verfügt ZFS über kein vorinstalliertes Konsistenzprüfprogramm oder Tool, mit dem Schäden am Dateisystem behoben werden können. [...] Wenn ein Nicht-ECC-Speichermodul kaputt geht, kann dies zu irreparablen Schäden an Ihrem ZFS-Pool führen, die zum vollständigen Verlust des Speichers führen können.

Ronald
quelle
Vielen Dank. Ich bin überzeugt. Genau das musste ich wissen.
Iconoclast
@iconoclast Ich hoffe, Sie haben nicht 2 Jahre auf diese Antwort gewartet.
Ewwhite
13

ZFS schützt nur Ihre Investition in die Daten auf der Festplatte. Wenn der Server in Produktion sein soll, möchten Sie die höchstmögliche Betriebszeit, und ECC hilft dabei, indem es dem Server ermöglicht wird, einen EINMALIGEN BIT-Fehler in einem fehlerhaften Speicher zu tolerieren. Dies kann Ihnen Zeit geben, fehlerhaften Speicher zu planen und zu ersetzen, ohne dass Sie in Panik geraten.

mdpc
quelle
@iconoclast Hängt davon ab, welches Bit gespiegelt wird. Wenn es sich um verschlüsselte Daten oder den Verschlüsselungsschlüssel handelt, haben Sie einfach alles verloren ...
Michael Hampton
1
@MichaelHampton: Mit anderen Worten, das Verschlüsseln der Daten auf meinem Server erhöht die Wahrscheinlichkeit, dass sie durch einen Speicherfehler verloren gehen.
Iconoclast
2
@iconoclast Encryption ist kein Ersatz für Backups. Wenn Sie Ihre Festplatten verschlüsseln, müssen Sie mit ziemlicher Sicherheit auch Ihre Backups verschlüsseln.
Michael Hampton
3
@ewwhite Die Verfügbarkeit eines einzelnen Netzteils ist ein Problem. Nicht-ECC-RAM kann sowohl die Verfügbarkeit als auch die Integrität beeinträchtigen . Es ist nicht schwer, sich Szenarien vorzustellen, in denen Integrität wichtiger ist als Verfügbarkeit.
Skyhawk
2
Wie ich zuvor bemerkt habe. Dieser Server wird mit ECC-RAM geliefert. Dieses ganze Argument ist albern, weil es keinen Grund gibt, etwas anderes als die vom Hersteller gesegneten RAM-Kits zu verwenden.
ewwhite
12

ECC RAM ist eine gute Sache, aber schauen wir uns den Kontext an ...

Für Ihren Verwendungszweck ist ein ProLiant Microserver ein netter Server mit geringem Einfluss und kleinem Formfaktor. Es fehlen einige der Attribute, die üblicherweise für Systeme mit Produktionsqualität gelten (nur vier Laufwerksschächte, ein einziges Netzteil, schwächere CPU). Daher denke ich, dass Sie mit diesen Mängeln weitaus früher auf Probleme stoßen werden als mit dem fehlenden fehlerkorrigierenden RAM. Die von Ihnen gelesenen Handbücher sind korrekt ... ECC-RAM wird in diesem bestimmten System nicht so wichtig sein ...

Dies gilt nicht für Systeme mit höherer Produktionsqualität.

Ich füge hinzu: Der Microserver ist mit ECC RAM ausgestattet . Warum würdest du es nicht benutzen?

ewwhite
quelle
1
Ich nehme an, mit "Produktionsqualität" meinen Sie Unternehmensqualität ? Ich werde das in der Produktion haben (es ist nicht für QA, UAT oder Entwicklung), nur in sehr sehr kleinem Maßstab. Es handelt sich jedoch um echte Daten, keine Mülldaten, die für die Entwicklung generiert oder von einem Produktionsserver geklont wurden. Es werden echte Produktionsdaten sein . (Übrigens, danke für die sehr nützliche Antwort, um die Dinge in einen Zusammenhang zu bringen!)
iconoclast
1
@iconoclast nein, Produktionsqualität ist immer noch Produktionsqualität. Ein einzelnes Netzteil ist nicht für Server geeignet, die wichtig sind, um mitzuhalten, es sei denn, Sie möchten ein Ersatz-Netzteil kaufen, um es zu behalten - was dumm wäre, da Sie dieses Ersatz-Netzteil einfach einstecken und über ein duales Netzteil verfügen könnten. Auf Nummer sicher zu gehen ist kein "
Unterfangen
3
@iconoclast Im Allgemeinen wird ein Produktionsserver als rund um die Uhr verfügbar und hoch verfügbar angesehen. Letzteres ist sicherlich ein Kosten-Nutzen-Verhältnis, das von der einfachen Bereitstellung von zwei Netzteilen bis hin zur Redundanz für Rechenzentren reicht. Ihr Setup hat jedoch keines dieser Dinge
Dan
1
Dieses Netzteilgespräch ist Müll, mit allem Respekt. Mein Netzwerk ist auf zwei Servern verankert, die benutzerdefiniert erstellt wurden. DNS, DHCP, Active Directory. Führen Sie eine Micro-ATX-Karte in einem entsprechenden Gehäuse, 8 SAS-Disks + 2 SSD, RAID-Controller, SINGLE PSU. Würden Sie das nicht HA nennen? Nun, tun Sie es - ich habe immer noch ein HPC- und Virtualisierungsgitter als Ankerpunkte (dh einer von ihnen MUSS aktiviert sein).
TomTom
2
Einige Unternehmen haben Server, die sie abschalten, wenn sie am Ende des Tages nach Hause gehen !. Ich würde das in meinem Heimnetzwerk nicht tun, aber einige Unternehmen scheinen sich nicht wirklich um die Verfügbarkeit interner Ressourcen zu kümmern.
Kent Fredric