Time Limited Error Recovery (TLER) für sicherere RAID Systeme mit Consumer HDDs
Western Digital Information Sheet (
http://www.wdc.com/en/library/sata/2579-001098.pdf)
Entsprechende ähnliche Technologien der Mitbewerber:
Seagate: Error Recovery Control (ERC)
Samsung, Hitachi: Command Completion Time Limit (CCTL) (
http://www.samsung.com/global/busine...urce_CCTL.html)
Im folgenden nenne ich gewöhnliche Festplatten wie sie aus PCs bekannt sind der Einfachkeit halber "ConsumerHDDs" und solche für Servereinsatz "EnterpriseHDDs". Ich beziehe mich in diesem Post nur auf Western Digital. Ob es ähnliche Möglichkeiten für Seagate, Samsung oder Hitachi gibt ist mir nicht bekannt.
Sinn, Zusammenfassung (gilt für alle o.a. Technologien)
in Kurzform:
Grundsätzlich gibt es ConsumerHDDs und EnterpriseHDDs. Sie unterscheiden sich in einigen Punkten voneinander, u.a. auch in der Art wie Schreib/Lese- Fehler korrigiert werden.
RAID Systeme, wie sie in Servern verwendet werden speichern Daten redundant, deswegen werden bei einem festgestellten Plattenfehler die Daten anderweitig rekonstruiert und der Fehler zu einem beliebigen späteren Zeitpunkt behoben. Die EnterpriseHDDs haben deswegen nur rudimentäre eigene Fehlerkorrekturen implementiert (der RAID Controller kümmert sich darum). Wichtig ist hier, die Daten auch in diesem Fall schnell bereit zu stellen.
Normale PCs verfügen nicht über RAID Systeme, wenn hier ein Fehler der ConsumerHDD vorliegt muss diese selbst für Korrektur sorgen. Wichtig ist hier die Daten zu erhalten, egal wie lange es dauert (Fehlerkorrekturen können hier Minuten dauern!).
Konfliktpotential ergibt sich bei Verwendung von ConsumerHDDs zusammen mit RAID Controllern, die einen Reparaturversuch als Totalversagen der Festplatte interpretieren, wenn eine gewisse Timeout Zeit überschritten wird (i.d.R. 7-15s). Die entsprechende Festplatte wird als defekt markiert und aus dem RAID Verbund entfernt (was mindestens zu größeren Unannehmlichkeiten führt, im schlimmsten Fall zum Datenverlust).
Der Sinn von TLER (und den o.a. Technologien der Mitbewerber) ist nun, bei Festplatten die internen Korrekturversuche nach einer bestimmten Zeit abzubrechen, damit die Festplatte nicht aus dem RAID Verbund ausgegliedert wird.
Und hier das Ganze nochmals in etwas ausführlicherer Form:
Ein wesentlicher Unterschied zwischen ConsumerHDDs und EnterpriseHDDs liegt darin, dass EnterpriseHDDs praktisch ausschließlich an RAID Controllern im RAID Verbund benutzt werden (RAID 1,5,10... und auch RAID 0, obwohl es streng genommen kein RAID ist).
RAID Controller besitzen Strategien, wie mit Schreib/Lese- Fehlern umgegangen wird. Sie übernehmen i.d.R. die Korrektur auftretender Fehler. Sie sind daher wenig "geduldig", wenn eine Festplatte in einer bestimmten Zeit nicht antwortet. Die Zeit, ab welcher ein RAID Controller eine Festplatte bei nicht eintreffender Antwort als defekt einstuft liegt zwischen 7 und 15 Sekunden.
EnterpriseHDDs brechen eigene Korrekturversuche deswegen auch nach kürzerer Zeit ab (der RAID Controller wird den Defekt später reparieren). Die gewünschten Daten sind im RAID Verbund (ausser RAID 0) redundant vorhanden und werden vom Controller anderweitig besorgt. Der aufgetretene Fehler der entsprechenden Festplatte wird protokolliert und zu gegebener Zeit (unter geringeren Lastzuständen) vom Controller repariert.
Zu einem unschönen Effekt kann es kommen, wenn ConsumerHDDs im RAID Verbund gruppiert werden, was ja angesichts der sinkenden Preise immer häufiger vorkommt. Diese Festplatten versuchen nach wie vor, auftretende Schreib/Lese- Fehler selbst zu korrigieren. Da im typischen Anwendungsgebiet der ConsumerHDDs nicht von einer Datenredundanz ausgegangen werden kann, sind die Strategien dieser ConsumerHDDs gründlicher und ausführlicher (zeitraubender), eben um das Risiko verlorener Daten zu vermindern.
Dabei kann aber auch viel mehr Zeit verbraucht werden als die oben genannten 7 Sekunden.
Die Konsequenz daraus ist, dass ein RAID Controller, der mit ConsumerHDDs zusammen betrieben wird, den intern bei einer ConsumerHDD gestarteten Korrekturversuch bei einem Schreib/Lese- Fehler als Ausfall dieser Festplatte interpretiert (wenn sie länger als 7 Sekunden nicht reagiert) und die betreffende Festplatte aus dem RAID Verbund ausgliedert.
Die Folge ist im schlimmsten Fall ein vollkommen zerstörtes RAID oder eben die Notwendigkeit, die vermeintlich defekte Festplatte wieder in das RAID zu integrieren (was je nach Festplattengröße viele Stunden dauern kann). Wird während dieser Zeit weiterhin mit dem RAID Verbund nebenbei gearbeitet, so steigt die Wahrscheinlichkeit, dass genau in dieser Integrationsphase ein weiterer Fehler stattfindet stark an (ein RAID 5 verkraftet z.B. nur den Ausfall einer Festplatte, danach sind die Daten verloren).
Man kann diesem Problem natürlich aus dem Weg gehen, indem man nur die entsprechenden EnterpriseHDDs bzw. RAID-Editions der Festplattenhersteller kauft. Allerdings sind sich wohl die wenigsten Anwender dieses Problems überhaupt bewusst. Zudem werden EnterpriseHDDs bzw. die RAID-Editions der ConsumerHDDs zu höheren Preisen verkauft. Die EnterpriseHDDs unterscheiden sich zwar noch in weiteren Kriterien von den ConsumerHDDs, aber zum stabilen Betrieb in einem RAID 1 oder 5 ist das Unterbinden der ausführlichen Fehlerkorrekturen wohl die beste Maßnahme und das ist der Sinn der TLER Technologie (und der ähnlichen Technologien der Mitbewerber).
Abhilfe ist bei einigen Western Digital ConsumerHDDs möglich:
nach meiner Recherche sind diese Typen mit der TLER Technik ausgestattet, diese ist jedoch deaktiviert, da die Platten als Consumer HDDs ausgelegt sind:
WD3200KS
WD5000KS
WD10EACS
WD6400AAKS
WD7500AACS
WD1001FALS
WD5000AAKS