Ich hatte erstellt zwei 2TB HDD Partitionen ( /dev/sdb1
und /dev/sdc1
in einem) RAID 1 - Array namens /dev/md0
mit mdadm
auf Ubuntu 12.04 LTS Precise Pangolin.
Der Befehl, der sudo mdadm --detail /dev/md0
verwendet wird, um beide Laufwerke als aktive Synchronisierung anzuzeigen .
Zum Testen habe ich /dev/sdb1
dann einen Fehler gemacht, ihn entfernt und mit dem Befehl erneut hinzugefügtsudo mdadm /dev/md0 --add /dev/sdb1
watch cat /proc/mdstat
zeigte einen Fortschrittsbalken für die Wiederherstellung des Arrays, aber ich würde nicht stundenlang damit verbringen, es zu sehen, also nahm ich an, dass die Software wusste, was es tat.
Nachdem der Fortschrittsbalken nicht mehr cat /proc/mdstat
angezeigt wurde , wird Folgendes angezeigt:
md0 : active raid1 sdb1[2](S) sdc1[1]
1953511288 blocks super 1.2 [2/1] [U_]
Und sudo mdadm --detail /dev/md0
zeigt:
/dev/md0:
Version : 1.2
Creation Time : Sun May 27 11:26:05 2012
Raid Level : raid1
Array Size : 1953511288 (1863.01 GiB 2000.40 GB)
Used Dev Size : 1953511288 (1863.01 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Mon May 28 11:16:49 2012
State : clean, degraded
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1
Name : Deltique:0 (local to host Deltique)
UUID : 49733c26:dd5f67b5:13741fb7:c568bd04
Events : 32365
Number Major Minor RaidDevice State
1 8 33 0 active sync /dev/sdc1
1 0 0 1 removed
2 8 17 - spare /dev/sdb1
Mir wurde mitgeteilt, dass mdadm entfernte Laufwerke automatisch durch Ersatzlaufwerke ersetzt, aber /dev/sdb1
nicht in die erwartete Position RaidDevice verschoben wird 1
.
UPDATE (30. Mai 2012): Ein badblocks
zerstörerischer Lese- / Schreibtest des gesamten /dev/sdb
Systems ergab erwartungsgemäß keine Fehler. Beide Festplatten sind neu.
Seit der letzten Bearbeitung habe ich das Array mit folgendem Befehl zusammengestellt:
sudo mdadm --assemble --force --no-degraded /dev/md0 /dev/sdb1 /dev/sdc1
Die Ausgabe war:
mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.
Der Wiederaufbau sieht so aus, als würde er normal ablaufen:
md0 : active raid1 sdc1[1] sdb1[2]
1953511288 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.6% (13261504/1953511288) finish=2299.7min speed=14060K/sec
unused devices: <none>
Ich warte jetzt auf diesen Umbau, aber ich erwarte /dev/sdb1
, ein Ersatzteil zu werden, genau wie die fünf oder sechs Male, die ich zuvor versucht habe, umzubauen.
UPDATE (31. Mai 2012): Ja, es ist immer noch eine Reserve. Pfui!
UPDATE (1. Juni 2012): Ich versuche Adrian Kellys vorgeschlagenen Befehl:
sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1
Warten auf den Wiederaufbau jetzt ...
UPDATE (02. Juni 2012): Nein, noch ein ...
UPDATE (4. Juni 2012): PB hat ein Problem angesprochen, das ich übersehen habe: Möglicherweise /dev/sdc1
sind E / A-Fehler aufgetreten . Ich hatte mich nicht darum gekümmert, es zu überprüfen, /dev/sdc1
weil es anscheinend einwandfrei funktionierte und brandneu war, aber E / A-Fehler gegen Ende des Laufwerks sind eine vernünftige Möglichkeit.
Ich habe diese Festplatten zum Verkauf gekauft, daher ist es nicht verwunderlich, dass eine davon bereits ausfällt. Außerdem unterstützt keiner von ihnen SMART . Kein Wunder, dass sie so günstig sind ...
Hier ist die Datenwiederherstellungsprozedur, die ich gerade erfunden habe und die ich befolge:
sudo mdadm /dev/md0 --fail /dev/sdb1
damit ich raus kann/dev/sdb1
.sudo mdadm /dev/md0 --remove /dev/sdb1
/dev/sdb1
aus dem Array entfernen ./dev/sdc1
ist montiert bei/media/DtkBk
- Format
/dev/sdb1
als ext4. - Mount
/dev/sdb1
to/media/DtkBkTemp
. cd /media
in diesem Bereich zu arbeiten.sudo chown deltik DtkBkTemp
um mir (Benutzernamendeltik
) Rechte für die Partition zu geben.- Kopieren Sie alle Dateien und Verzeichnisse:
sudo rsync -avzHXShP DtkBk/* DtkBkTemp
UPDATE (06. Juni 2012): Ich habe einen badblocks
destruktiven Schreibmodus-Test durchgeführt /dev/sdc
, bei dem folgende Schritte ausgeführt wurden:
sudo umount /media/DtkBk
Abreißen des Arrays zu ermöglichen.sudo mdadm --stop /dev/md0
um das Array zu stoppen.sudo badblocks -w -p 1 /dev/sdc -s -v
Um die verdächtige Festplatte zu löschen und dabei nach E / A-Fehlern zu suchen. Wenn es E / A-Fehler gibt, ist das kein gutes Zeichen. Hoffentlich kann ich eine Rückerstattung bekommen ...
Ich habe jetzt bestätigt, dass es auf beiden Festplatten keine Ein- / Ausgabeprobleme gibt .
Nach all diesen Untersuchungen sind meine beiden ursprünglichen Fragen noch offen.
Meine Fragen sind:
- Warum wird das Ersatzlaufwerk nicht aktiv synchronisiert?
- Wie kann ich das Ersatzlaufwerk aktivieren?