Login
Login-Name Passwort


 
Newsletter
Werbung

Di, 19. Juni 2012, 13:40

Software::Kernel

Kernel-Fehler kann RAID-Metadaten zerstören

Ein mittlerweile beseitigter Fehler im RAID-Treiber von Linux kann unter bestimmten Umständen die Metadaten des RAIDs zerstören. Nur einige nicht mehr aktuelle Kernel-Versionen sind davon betroffen, doch die fehlerhaften Versionen wurden zeitweise auch von Ubuntu und SUSE verteilt.

Kernel-Entwickler Neil Brown beschreibt in seinem Blog ausführlich, wie es zu dem Fehler kam, wer davon betroffen ist und wie man Probleme vermeiden oder notfalls seine RAID-Systeme reparieren kann. Der Fehler konnte nur auftreten, wenn RAID-Arrays inaktiv waren, während das System heruntergefahren wurde, was normalerweise nicht der Fall sein sollte.

Wie Brown berichtet, wurde der Fehler in die erste Testversion von Linux 3.4 eingeführt und noch vor dem Erscheinen von Linux 3.4 erkannt und beseitigt. Dadurch waren zunächst nur Kernel-Tester von dem Problem betroffen. Doch der Patch wurde auch in Linux 3.2.14 und 3.3.1 übernommen und einige Versionen später korrigiert. Daher sind auch die Versionen 3.2.14 bis 3.2.16 und 3.3.1 bis 3.3.3 betroffen. Nach den vorliegenden Informationen wurden die fraglichen Kernel-Versionen von SUSE in SLES 11 SP2 sowie von Ubuntu 12.04 kurzzeitig verwendet.

Eigentlich sollte der Patch, der zu dem Fehler führte und von Brown selbst stammte, nur einen eigentlich harmlosen Fehler beim Herunterfahren beheben. Ursprünglich setzte der RAID-Treiber beim Herunterfahren die RAIDs auf schreibgeschützt, doch aufgrund einer Änderung in Linux 3.0 konnten auch nach diesem Zeitpunkt noch Schreibanforderungen an das RAID eintreffen. Um die daraus resultierende Fehlermeldung zu vermeiden, hob Brown den Schreibschutz auf und ersetzte ihn durch ein »immediate-safemode«-Flag, was seiner Ansicht fast genauso sicher war wie der Schreibschutz. Dabei übersah er jedoch, dass dieses Flag zum Schreiben der Metadaten auf das Array führt. Wenn ein Array jedoch inaktiv war, wurden damit unerwünschte Daten geschrieben. Entsprechend trivial war die Korrektur: Nur bei aktiven Arrays dürfen die Metadaten geschrieben werden.

Im Blog-Eintrag von Brown kann man weitere Details über den Fehler, seine Vermeidung und, sofern das RAID bereits beschädigt ist, seine Reparatur erfahren. Da nur die Metadaten, nicht die eigentlichen Daten betroffen sind, kann man nach der Reparatur wieder problemlos auf seine Daten zugreifen.

Werbung
Kommentare (Insgesamt: 17 || Alle anzeigen || Kommentieren )
Re[7]: Datenverlust (ballaballa, Mi, 20. Juni 2012)
Übrigens nicht die einzige Regression im Block I/O-Layer (Frank Frank, Di, 19. Juni 2012)
Re[8]: Datenverlust (balabala, Di, 19. Juni 2012)
Re[7]: Datenverlust (Sven Fischer, Di, 19. Juni 2012)
Re[6]: Datenverlust (blablabla, Di, 19. Juni 2012)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung