mdraid wiederherstellen

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
king-crash
Beiträge: 720
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

mdraid wiederherstellen

Beitrag von king-crash » 23.05.2022 10:11:23

Hallo,

Ich habe hier ein md raid6 mit 8 Platten + 1 Spare, das in die Brüche gegangen ist. Eine Platte (sdc) läuft nachhaltig nicht mehr an und wurde entfernt. Bei fast allen anderen gibt es wenige SMART Fehler. Das Array ging dann während einem resync mit dem Spare und weiteren Lesefehlern mit verbliebenen 5 Platten außer Betrieb (Array State : AAA...AA).
Das Backup wurde auf einem separaten Array eingespielt und es läuft soweit wieder alles, dabei wurde aber festgestellt das genau eine, ca 40GB große Datei nicht enthalten ist.
Da die Platten vermutlich zu einem großen Teil lesbar sind und der Fehler wahrscheinlich durch das vollständige Lesen durch den Ausfall von sdc und damit verbundenem Anspringen des Spares sichtbar wurde, gehe ich davon aus, dass noch nicht alles verloren ist. Jetzt sind aber 3 Platten, warum auch immer, als Spare markiert (NoPaste-Eintrag41688). Raid Superblock mittels assume-clean neu schreiben kommt, denke ich, aufgrund der verschiedenen Offsets nicht in Frage.
Meine Idee wäre einer der als Spare markierte Platten eine Position im Array zuzuweisen (und hoffentlich die Richtige eraten). Hat jemand eine Idee, wie der Superblock modifiziert werden kann oder einen alternativen Lösungsvorschlag?

Grüße

Update:
Eine weitere Platte hat endgültig das Zeitliche gesegnet, an die Daten werde ich wohl nicht mehr kommen, ist aber nicht der Weltuntergang. Trotzdem würde es mich interessieren, ob sich der Superblock manuell editieren lässt. Hier nochmal eine Übersicht:
Device -> Device Role (laut mdadm --examine)
sdb -> spare
sdc -> läuft nicht mehr an
sdd -> Active device 2
sde -> Active device 1
sdf -> Active device 0 (aber seit vorhin auch defekt)
sdg -> spare
sdh -> Active device 6
sdi -> Active device 7
sdj -> spare
Da nur eines von sd[bgj] das eigentliche Spare gewesen sein kann und daher auf den anderen beiden noch etwas mehr oder weniger korrektes stehen sollte, war meine Idee den Superblock eines der "spare" Platten zu editieren und die Position im Raid zu raten, bis das Dateisystem lesbar ist.
Also beispielsweise sdb auf "Active Device 3" zu setzen und dann zu schauen ob dann etwas sinnvolles auf dem md Gerät kommt. Wenn nicht dann weiterprobieren.

Antworten