Sinnhaftigkeit von RAID-1 oder RAID-5 im Vergleich zw. HDDs und SSDs

freeman303

Enthusiast
Thread Starter
Mitglied seit
01.08.2006
Beiträge
631
Ort
Schwarzwald/Bodensee (z.Zt. auf bestimmte Zeit bei
Hallo,

ich möchte hier eine Diskussion über den Sinn von RAID-1 bzw. RAID-5 System beim Einsatz von HDDs oder SSDs starten.

Beim Einsatz von redundanten RAID-Modi im Zusammenhang mit HDDs ist der Sinn klar. Bei Ausfall oder Fehler einer HDD sollen die Daten nicht verloren gehen. Die Voraussetzung für das Funktionieren eines solchen RAID ist jedoch auch die korrekte Meldung von Fehlern durch die Festplatte.

In der Regel passiert ein Fehler in einem Festplatten-Raid auf eine der folgenden Weisen:

a) eine Festplatte fällt komplett aus -> Folge: RAID-Controller merkt das
b) eine Festplatte liefert einen Timeout beim lesen oder schreiben -> Folge: RAID-Controller merkt das und droppt die Festplatte aus dem RAID.
c) eine Festplatte stellt fest, dass sie fehlerhaft Daten gespeichert hat (z.B. indem in defekte Sektoren geschrieben wurde und keine Ersatz-Sektoren mehr übrig waren) -> Folge: Festplatte meldet diesen Fehler an den RAID-Controller.

Nun dieselben Überlegungen zum Einsatz eines RAID, jedoch mit SSDs anstatt mit HDDs:

Auch SSDs können Fehler verursachen, die das RAID-System bemerkt. Das einfachste Beispiel ist hier das oben unter a) genannte Szenario des Totalausfalls einer SSD.

In den Fällen b) und c) habe ich jedoch mit SSDs andere Erfahrungen gemacht, als mit Festplatten. Timeouts beim Lesen oder Schreiben habe ich bei SSDs noch nie erlebt. Das unter c) beschriebene Verhalten habe ich gelegentlich erlebt, doch scheint dieses vom Controller der SSD abhängig zu sein.

Was ich dafür bei SSDs oft gesehen habe, was ich bei HDDs noch nicht erlebte, ist das kommentarlose wegschreiben von Daten in defekte Speicherzellen ohne die Daten darauf zu prüfen und einen Fehler zu generieren. Die Folge davon waren Unmengen an korrumpierten Daten, die von der SSD anstandslos in ihrem Speicher in defekte Zellen geschrieben wurden.

In einem solchen Fall bekommt der RAID-Controller von einem Fehler nichts mit. Die SSD schreibt in aller Ruhe Daten in defekte Speicherzellen und der Controller vertraut darauf, dass die Daten ordentlich gespeichert wurden. Auf diese Weise können sich fehlerhafte Daten im Einsatz von RAID-1 oder RAID-5 auch auf andere dem RAID zugehörige funktionsfähige Datenträger ausweiten. Der Controller bekommt davon ja nichts mit. Erst der Benutzer stellt irgendwann das Problem fest, wenn es bereits zu spät ist.

Dieses Verhalten des blinden Hineinschreibens in defekte Speicherzellen habe ich besonders oft bei SSDs mit Indilinx Controller erlebt, speziell in meinem Fall mit der Solidata K5. Die Smart Daten waren in diesen Fällen auch noch einwandfrei! Den Fehler konnte man nur durch ein Beschreiben der gesamten SSD mit Testdaten und dem Lesen, sowie vergleichen dieser, erkennen. Dieses Schreiben und Testlesen erledigt das Programm „h2testw“.

Hier stellt sich die Frage: Sind die Controller von Crucial, Samsung oder Micron inzwischen so programmiert, dass diese nach dem Schreiben der Daten ein Verify der weggeschriebenen Daten durchführen oder nicht?

Sollte es nicht der Fall sein, kann man meiner Ansicht nach, die Verwendung solcher SSDs, die ein Verify nicht durchführen in RAID-Systemen vergessen. Eigentlich kann man diese SSDs auch für nichts anderes verwenden, da man nie genau weiß, ob die Daten wirklich korrekt gespeichert wurden und ob die Speicherzelle in die gerade geschrieben wurde noch intakt ist oder nicht. Die SSD meldet ja anderenfalls keinen Fehler.

Hat sich sonst noch Jemand mit diesem Thema beschäftigt und kann seine Erkenntnisse dazu hier mitteilen?

Gruss
Freeman
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich denke, das ist nicht 100% vergleichbar...

Denn A) gibt es Enterprise SSDs, die unmengen teurer sind, als die billig/günstig Desktop Modelle, dazu ganz andere Lebenserwartungen haben und Belastungen ab können, sowie andere Speicherchips nutzen -> hier sollte man also für einen Vergleich ansetzen...
Und B) muss klar getrennt werden zwischen dem Schreiben von Daten in defekte Speicherzellen (das scheint mir eher ein Firmware Problem) und dem "vergessen" von Daten auf welche Art und Weise auch immer.

Auch eine HDD vergisst irgendwann mal ihre Daten. Im Geschäftsbereich verwendet man dort teilweise Filesysteme mit Konsistenscheckmechanismen. Oder eben Hardware, die für einen sowas durchführt.
Durch das quasi periodische durchbrowsen des Datenbestandes und die durch Raidlevel erkauften Redundanzen lassen sich auch die Daten vollständig wiederherstellen. (sofern nicht zu viele Datenträger betroffen sind) Und dabei ist es ziemlich egal, ob HDD, SSD oder was auch immer.

PS: auch bei ner HDD kann das sehr schnell vorbei sein. Da kannst du gestern noch GB weise Daten draufgekippt haben und am nächsten Tag ist das Teil nicht mehr verwendbar. Wenn man Glück hat, kommt man noch an ein paar der Daten ran. Manchmal ist auch ganz vorbei.
Das größte Problem aktuell hierbei ist wohl, das ein aktuelles Client Windows sowie diverse Linux Ableger eben keine Möglichkeiten bieten, so nen Konsistenzcheck auf Filesystemebene durchzuführen.
Der Windows Server 2012 bietet zumindest solche Mittel -> aktuell aber wohl nicht für die Bootpartition. Und Unix (und Ableger) mit ZFS bietet sowas. Dennoch kommt es eher selten(er) zum Einsatz...
Obwohl genau der Mechanismus solche Probleme erkennen würde. Und hier hilft dann das Raidlevel, eben nicht vor dem Scherbenhaufen zu sitzen ;)
Wobei ich das bei 2012 Server aktuell noch nicht getestet hab -> speziell was Hardware(based)raid angeht... Und was das OS macht, wenn es korrupte Daten findet. Bei ZFS funktioniert das aber wohl sehr gut... Am besten in Verbindung mit den Raid/Redundanzfeatures direkt im OS.
 
Zuletzt bearbeitet:
freeman303 schrieb:
Was ich dafür bei SSDs oft gesehen habe, was ich bei HDDs noch nicht erlebte, ist das kommentarlose wegschreiben von Daten in defekte Speicherzellen ohne die Daten darauf zu prüfen und einen Fehler zu generieren. Die Folge davon waren Unmengen an korrumpierten Daten, die von der SSD anstandslos in ihrem Speicher in defekte Zellen geschrieben wurden.
Das hast du bei HDDs noch nicht erlebt? Nur arbeiten HDDs genau so. Die schreiben auch die Daten in die Sektoren ohne sie anschließend zu prüfen. Das ist die Standardvorgehensweise. Die Schreibrate würde ansonsten nur die Hälfte der Leserate entsprechen (und das nur im optimalen Fall).

Festplatten schreiben also auch blindlinks Daten in die Sektoren. Dass diese Daten dann defekt sind, merkt die Festplatte erst beim nächsten Lesezugriff auf diesen Sektor, der dann in der Pending-Liste landet.
 
Das hast du bei HDDs noch nicht erlebt?
Nein, ganz im Ernst nicht. Vielleicht ist das aber geschehen und ich habe es nicht bemerkt.

Festplatten schreiben also auch blindlinks Daten in die Sektoren. Dass diese Daten dann defekt sind, merkt die Festplatte erst beim nächsten Lesezugriff auf diesen Sektor, der dann in der Pending-Liste landet.

Ist das auch bei Enterprise-Laufwerken (Cheetah 15k.7) der Fall? Ich dachte mal gelesen zu haben, dass die Cheetahs grundsätzlich die geschriebenen Daten sofort nach dem Schreibvorgang lesen.

Kann es sein, dass das von Dir beschriebene Verhalten nur bei Desktop-Festplatten zutrifft, jedoch nicht bei SAS-Enterprise HDDs und NAS-Drives, wie der Seagate Constellation Reihe?

Mir geht es nicht darum, die SSDs hier schlecht zu machen. Was ich momentan suche, ist ein Kosten-akzeptabler Ersatz meiner vier Cheetahs im RAID-5 durch einige SSDs - aber keine Enterprise-Class SSDs (da zu teuer).

Darum stelle ich mir die Fragen, in wie Weit der Einsatz von SSDs im RAID-1 / 10 oder 5 möglich und sinnvoll ist. Eben weil, sich SSDs bei Fehlern nicht exakt gleich wie HDDs verhalten. Oder irre ich mich da und das Verhalten ist exakt gleich?

Gruss
Freeman
 
Zuletzt bearbeitet:
freeman303 schrieb:
Ist das auch bei Enterprise-Laufwerken (Cheetah 15k.7) der Fall? Ich dachte mal gelesen zu haben, dass die Cheetahs grundsätzlich die geschriebenen Daten sofort nach dem Schreibvorgang lesen.

Kann es sein, dass das von Dir beschriebene Verhalten nur bei Desktop-Festplatten zutrifft, jedoch nicht bei SAS-Enterprise HDDs und NAS-Drives, wie der Seagate Constellation Reihe?
Wenn, dann würde man das an der Schreibleistung sehen können, da das Verifizieren zusätzlich Zeit benötigt. Da das auch bei Enterprise HDDs nicht der Fall ist, wird dort auch kein "write verifying" durchgeführt.

freeman303 schrieb:
Nein, ganz im Ernst nicht. Vielleicht ist das aber geschehen und ich habe es nicht bemerkt.
Du hattest bei HDDs also noch nie schwebende (pending) Sektoren?
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh