Nicht-ECC-RAM und ZFS

Lance

Well-Known Member
Moin,

ich plane gerade einen FreeNAS aufzusetzen und hörte heute von jemandem dass er seinen versenkt hat, da er Datenverluste hatte. Diesen Jemand kenne ich nicht persönlich, er verkaufte mir nur etwas. Aber er kenne sich im Serverbereich aus. Details zu seinem System (war wahrscheinlich ein NAS4free) konnte er mir nicht sagen, auch nicht, weshalb es zum Datenverlust kam.

Ich habe jetzt recherchiert dass oben genannte Kombination angeblich alle Daten Schrotten kann im worst case. Aber das soll wohl in der Praxis nicht so häufig vorkommen. Dummerweise hat mein Microserver kein ECC-RAM.

Besser auf ZFS verzichten, oder wie sind euere Erfahrungen dazu?

LG Lance
 

bsd4me

Well-Known Member
Hallo Lance,

Hauptspeicher, der nicht funktioniert, kann jedes dateisystem zerstören... Im übrigen habe ich hier einige Server (ECC) unter FreeBSD und ZFS laufen und zu Hause (ohne ECC) meine PCs. In den mittlerweile knapp 10 Jahren, seit dem ich es nutze, ist mr bisher kein einziger solcher Crash vorgekommen... Obwohl einer meiner Server immer mal wieder eine Platte "verliert", hatte ich da zwar Ausfallzeiten, aber auch noch keinen Datenverlust. Ich würde sagen: ZFS und gut... :) Aber wenn schon denn schon: Ein regelmäsiges Backup ist hier definitiv sinnvoll ;-)

VG Norbert
 

Yamagi

Possessed With Psi Powers
Teammitglied
Jau, das mit ECC ist der sprichwörtliche Fisch im Hintern. Ist schön zu haben, aber ohne ECC funktioniert die Welt genauso gut. Ich bin sicher nicht statistisch relevant, aber ich habe in alle den Jahren nicht einen Pool durch Speicherfehler verloren. Dabei hatte ich durchaus das eine oder andere defekte Modul ohne ECC. Dafür hat mir eine verbuggte Attansic L1 NIC (schrieb einfach irgendwo in den physischen Speicher, nicht nur in ihren Bereich) einen Pool gekostet. Mindestens zwei sind durch defekte Kabel gestorben. Und einer an einer verbuggten Controller-Firmware. Schreibe regelmäßig Backups, lehne dich zurück und sei glücklich.
 

-Nuke-

Well-Known Member
Sagen wir mal so. ZFS kann auf Speicherfehler empfindlicher reagieren als ein anderes Dateisystem. Andere Dateisysteme schreiben bei Speicherfehlern ggf. Müll einfach durch, oder bei Lesefehlern geben sie die Fehler einfach weiter nach oben. D.h. ein Speicherfehler bleibt Speicherfehler. Deine Daten sind ggf. hin.

In der Theorie kann aber ZFS eine Kettenreaktion auslösen, dass ZFS etwas liest, bei der Kontrolle durch den Fehler einen Fehler feststellt und dann das "Falsche" durchkorrigiert. Damit das aber passiert müsste bei jeder Operation genau an der richtigen Stelle ein Bitflip auftreten.

Es ist also ein Spiel mit Wahrscheinlichkeiten. Ich hatte schon mal bei Hetzner einen Server bekommen, der defekten RAM hatte und sich alle 3 Tage mit einem Kernel Panic verabschiedete. ZFS hat auch hier und da Checksum Errors festgestellt, aber bei der Nachkorrektur von der richtigen Platte gelesen und wohl dann auch wieder richtig "korrigiert". Der Fall einer Falsch-Korrektur ist nicht aufgetreten. Ja, es hätte sein können, aber wie gesagt, ein Spiel mit Wahrscheinlichkeiten.

Ein normales Dateisystem hätte vielleicht sogar viele Daten geschreddert und es wäre gar nicht aufgefallen.
 

pit234a

Well-Known Member
Wichtig ist, vorher zu überlegen, ob vielleicht auch auf Daten verzichtet werden kann, wenn etwas diese zerbröselt.
Oder umgekehrt, desto sensibler die Daten, desto besser sollte das Backup-Konzept sein und desto weniger kann man sich auf ein einziges System verlassen. Und gerade hier hat ZFS einfach Stärken, die genial und unübertroffen sind (wobei ich ja nur am unteren Ende geschnuppert habe und mich nicht wirklich sicher darin bewege). Ich wehre mich noch immer dagegen, ZFS als Weisheit letzter Schluss für alle Einsatzzwecke anzusehen, aber wenn es um Datensicherheit geht, ist es schon einzigartig und dabei übersichtlich bedienbar.
Die Geschichte mit dem ECC RAM habe ich gerade gestern wieder nachgelesen und es ist etwa so, dass jemand sehr aufmerksam einen Fall konstruiert hat, wo vielleicht ZFS auch mal in Schwierigkeiten kommen kann. Kommen könnte, denn es müssen auch da schon mehrere Unfälle gleichzeitig passieren. Ich versuche mich mal wieder an einem weit hergeholten Beispiel. Zündschlüssel bei KFZ haben sich seit Jahren etabliert, aber sie könnten auch mal abbrechen und sie könnten gerade dann abbrechen, wenn du das Fahrzeug gestartet hast und wenn du nun in dem Moment erschrickst und bei eingelegtem Gang die Kupplung kommen lässt, dann fährt das Auto los und du hast nun mit abgebrochenem Schlüssel keine Chance mehr, das Ding abzuschalten. Es gibt auch Technologien ohne Zündschlüssel, bei denen kann so etwas nicht passieren. Kein Mensch wird nun deshalb sein Auto stehen lassen, weil der Zündschlüssel mal abbrechen könnte.
Mir sind auch schon Daten verloren gegangen. Nach einem heftigen HW Ausfall einer Platte hatte die irgendwie den Pool heruntergezogen. Ich konnte zwar die Platte ersetzen und alles resilvern, es gab aber Fehler und dabei waren ein halbes dutzend Dateien geschrottet. Der Pool läuft immer noch, aber diese Daten sind verloren (weil ich auch kein Backup von diesen Daten fahre).

Nur, bei ZFS muss man auch ausreichende HW haben. Sonst ist es nicht nur langsam, es kann dann auch schon mal versagen. &$Bit und 4G Ram sollten nicht unterschritten werden.
 

-Nuke-

Well-Known Member
Dazu sei gesagt, dass DDR4 Speicher eine Priese Speicherprüfung enthält, nämlich Write CRC. Das ersetzt natürlich ECC-Speicher nicht, aber es macht alleine schon mehr als alles davor. Zumindest direkt kaputter RAM kann so ggf. erkannt werden.

urlpicload.org2fimagejjs13.png


 

medV2

Well-Known Member
Für wichtige Daten solltest du sowieso ein Backup haben, gängige Backupsoftware hat auch genug Funktion integriert, die Integrität der Daten zu Prüfen. Zur Not kann man sowas auch selbst bauen. Von daher würde ich das ECC-Geld lieber ein eine zweite, entkoppelte Backuplösung stecken.
 

-Nuke-

Well-Known Member
ECC ist nicht sonderlich teurer. Für den Mehrpreis kriegst du selten mehr als eine ausreichend große Festplatte.
 

chaos

*nix'ler
Das problem bei ECC ist die zugehörige CPU, die ECC wirklich unterstützten muß (und nichtnur im Marketing-sprech "das Mainboard unterstützt auch ECC-Speicher, verwendet ihn aber wie nicht-ECC-Speicher).
 

-Nuke-

Well-Known Member
Einige i3 mit ECC Untersützung kosten <150€. Xeons fangen auch schon bei um die 220€ an. So weit weg ist man da von der Desktop-CPU nicht. Klar, ein 40€ Celeron geht nicht. Aber eine vernünftige 4TB Platte kostet auch schon um die 150€.
Und einem 50€ Biostar Mainboard würde ich meine Daten auch nicht anvertrauen :D
 
Oben