
Meine alte Synology CS407 war (absichtlich) mit RAID0 eingerichtet und ich hatte noch kein Backup-System eingerichtet. Es gibt vier 1TB-Laufwerke, die ein 4TB-Volume ergeben. Ein Laufwerk hatte einen Fehler, der dazu führte, dass die integrierte Software sich weigerte, das Volume überhaupt zu verwenden/einzubinden. Ich verstehe, dass dies ein schwerwiegender Fehler ist und dass das Volume auf allen 4 Laufwerken im Allgemeinen einen Fehler aufweist, da es bei RAID0 keine Redundanz gibt. Trotzdem würde ich gerne versuchen, das Array auf Ubuntu neu zusammenzusetzen, den Fehler zu ignorieren/die fehlerhaften Daten zu überspringen und zu sehen, in welchem Zustand das Volume ist. Wenig überraschend habe ich Probleme mit der einen Festplatte, die ausgefallen ist. Ubuntu sieht seine Partitionstabelle und meldet einen fehlerhaften Sektor.
Hier ist das Ergebnis von/proc/mdstat
Personalities :
md2 : inactive dm-3[3](S) dm-2[2](S) dm-1[1](S) dm-0[0](S)
3901770794 blocks super 1.1
unused devices: <none>
Undmdadm --examine --scan
ARRAY /dev/md/2 metadata=1.1 UUID=442ee8f0:7c679b96:de0a0544:f72b1167 name=2
Die LVM-Daten befinden sich auf Partition 3 jeder Festplatte. Die Neuzusammenstellung mit mdadm --assemble --run --force --verbose /dev/md2 /dev/sd[cdef]3
bewirkt Folgendes:
mdadm: looking for devices for /dev/md2
mdadm: /dev/sdc3 is identified as a member of /dev/md2, slot 0.
mdadm: /dev/sdd3 is identified as a member of /dev/md2, slot 32769.
mdadm: /dev/sde3 is identified as a member of /dev/md2, slot 2.
mdadm: /dev/sdf3 is identified as a member of /dev/md2, slot 3.
mdadm: no uptodate device for slot 1 of /dev/md2
mdadm: added /dev/sde3 to /dev/md2 as 2
mdadm: added /dev/sdf3 to /dev/md2 as 3
mdadm: added /dev/sdc3 to /dev/md2 as 0
mdadm: failed to RUN_ARRAY /dev/md2: Invalid argument
mdadm: Not enough devices to start the array.
Dadurch erhalte ich einen nutzlosen /dev/md2
, der in Ubuntu als RAID-Gerät angezeigt wird. Ich muss stop
ihn ausführen, bevor ich erneut versuchen kann, ihn zusammenzusetzen. Was seltsam erscheint, ist die Steckplatznummer für /dev/sdd3
.
Ich könnte noch zwei weitere Dinge ausprobieren und würde gern wissen, ob eines davon helfen könnte:
- Fehlerhafter Vorgang, Entfernen
/dev/sdd3
und anschließendes erneutes Hinzufügen - Ich habe eine 1-TB-Ersatzfestplatte. Ich könnte eine Festplattenkopie erstellen,
dd
die alte Festplatte ausfallen lassen und die neue hinzufügen. Ich frage mich nur, ob die neue Festplatte höhere Erfolgschancen hat, wenn ich eine Sektor-für-Sektor-Kopie erstelle? Wird sie es auf der Grundlage der anderen UUID versuchen?
BEARBEITEN – Ausgabe von mdadm --examine /dev/sdd3
:
/dev/sdd3:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x0
Array UUID : 442ee8f0:7c679b96:de0a0544:f72b1167
Name : 2
Creation Time : Sun Feb 13 00:14:43 2022
Raid Level : raid0
Raid Devices : 4
Avail Dev Size : 1950885397 (930.25 GiB 998.85 GB)
Data Offset : 8 sectors
Super Offset : 0 sectors
State : active
Device UUID : 23292ce9:221ebbfa:ea131c60:7888bc0c
Update Time : Sun Feb 20 19:02:34 2022
Checksum : e4ebe933 - correct
Events : 1
Chunk Size : 64K
Device Role : Active device 32769
Array State : A.AA ('A' == active, '.' == missing, 'R' == replacing)
Antwort1
Dies ist kein ernstes Problem. Dies ist ein katastrophales Problem. RAID0 (bei Verwendung als Stripping-RAID) speichert Datenblöcke auf allen Laufwerken. Teile einer Datei können sich also auf allen 4 Laufwerken befinden.
Wenn die Informationen sehr wertvoll sind, können Sie versuchen, spezialisierte Unternehmen zu kontaktieren, die einige Informationen wiederherstellen können. Dies kann jedoch ein Vermögen kosten.
Es besteht eine geringe Wahrscheinlichkeit, dass das RAID einen Verkettungsalgorithmus zum Erstellen eines Arrays verwendet. In einem solchen Fall können Sie eine große Menge an Informationen wiederherstellen. Aber auch das ist keine Hausaufgabe.
Antwort2
Ich bin nicht sicher, wie lösbar dieses Problem ist.
Als erstes würde ich versuchen, die Synology auszuschalten, das defekte Laufwerk zu entfernen und dann ddrescue auf einer Linux-Box zu verwenden, um dieses Laufwerk so gut wie möglich zu klonen. Anschließend würde ich das geklonte Laufwerk in die Synology einfügen.
Möglicherweise können Sie dann das Array „zwingen“. Ich musste es noch nie versuchen, aber vielleicht mit einem Befehl wie
mdadm --force --assemble /dev/md2 /dev/sdc3 /dev/sdd3 /dev/sde3 /dev/sdf3
Der Schlüssel ist, laut der LUKS MAN-Seite, dass (für ein Assemble)
"--force Baut das Array zusammen, auch wenn die Metadaten auf einigen Geräten veraltet zu sein scheinen. Wenn mdadm nicht genügend funktionierende Geräte findet, um das Array zu starten, aber einige Geräte findet, die als ausgefallen registriert sind, dann werden diese Geräte als funktionierend markiert, damit das Array gestartet werden kann. Dies funktioniert nur für native Geräte. Für externe Metadaten ermöglicht es den Start von Dirty Degraded RAID 4, 5, 6. Ein Array, das zum Starten --force erfordert, kann Datenbeschädigungen enthalten. Gehen Sie mit Vorsicht damit um.""
Möglicherweise ist dies auch ohne ddrescue möglich – allerdings machen Sie sich das Leben nur schwer oder sogar noch schlimmer, wenn Sie versuchen, an einem Laufwerk mit einem Hardwarefehler zu arbeiten.
Sie sollten Ihren Daten nicht trauen. Wahrscheinlich liegen irgendwo Fehler oder Inkonsistenzen vor.
Wenn dies fehlschlägt, können Sie möglicherweise mithilfe von Photorec oder einem gleichwertigen Programm Teile Ihrer Daten von den verbleibenden funktionierenden Laufwerken abrufen.
Antwort3
Am besten versuchen Sie, so viel wie möglich von der Festplatte auf die neue Festplatte zu kopieren. Verwenden Sie nicht dd
, sondern ddrescue
. dd
wird beim ersten Fehler abgebrochen. Ich habe fast vollständige Festplatten mit wiederhergestellt ddrescue
, daher ist es möglich, die meisten Daten zurückzubekommen. ddrescue
kann lange dauern.
Versuchen Sie dann mit der kopierten Diskette die Lösung von @davidgo.
Sie haben nun die Nachteile von RAID 0 kennengelernt. Sofern Sie nicht wirklich über begrenzten Speicherplatz verfügen, sollten Sie über einen Wechsel zu RAID 5 nachdenken.