freeman303
Enthusiast
Thread Starter
- Mitglied seit
- 01.08.2006
- Beiträge
- 631
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
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