App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
debian 8 - mdadm - raid 5 - defekte HDD tauschen
- Ersteller MrChaos
- Erstellt am
Hallo zusammen,
seit ein paar Tagen experimentiere ich mit einem Software RAID 5 auf einem Debian 8.
Ich möchte euch gerne an meinen Erfahrungen teilhaben lassen.
Zum Verwalten und Erstellen eines RAID 5 wird "mdadm" benutzt. Wie man damit ein RAID erstellt möchte ich hier nicht weiter ausführen, dazu gibt es viele Anleitungen / Tutorials im Netz.
Mir geht es hier vorallem um den Austausch einer defekten Festplatte in einem RAID 5.
Das RAID 5 besteht zum testen im Moment aus 3 Festplatten
/dev/sdb
/dev/sdc
/dev/sdd
Ich möchte jetzt den Fehlerfall simulieren und habe dazu einfach eine HDD vom System abgezogen.
Nach dem reboot sieht das "defekte" RAID 5 so aus:
Dies könnte der Zustand sein, wenn eine HDD sich nicht mehr am System anmeldet.
Nachdem /dev/sdb entfernt ist ... rückt erst einmal /dev/sdd auf und wird zu /dev/sdb. <- dieses Verhalten verursacht immer einen Logicbruch bei mir
An dieser Stelle, habe ich erst einmal folgende Frage:
- Muss ich die HDD die als "removed" markiert ist, aus dem RAID Verbund entferne? Wenn ja wie?
(zum Ziel kam ich auch ohne das ich Sie entfernt habe, siehe unten)
Die meisten How to's im Netz beschäftigen sich damit, wie man eine HDD als "fail" markiert und dann entfernt. In diesen Fällen ist diese aber immer noch vorhanden und funktioniert und kann ordentlich aus dem RAID 5 removed werden.
Wenn ich jetzt versuche die defekte HDD (sdb) aus dem RAID zu entfernen [physisch ist sie nicht mehr im System] {sdd ist im Moment zu sdb geworden}, sieht das so aus:
Dann stoppe ich das RAID:
Ich versuche erneut die alte /dev/sdb zu entfernen: [wobei ja jetzt die sdd die sdb ist ]
An dieser Stelle bin ich mir unsicher ob das mit dem "remove" in diesem Fall wirklich sein muss. Was sagt ihr?
Muss ich die nicht mehr vorhandene /dev/sdb überhaupt extra aus dem RAID 5 Verbund löschen?
Ich habe das ganze weiter probiert: Und zwar habe ich an den gleichen SATA Anschluss wo die "defekte" /dev/sdb hängt eine andere HDD vom gleichen Typ mit gleicher Größe gesteckt.
Ein fdisk -l sagt mir das eine neue hdd wieder da ist. aktuell sind dann sdb,sdc,sdd im System.
Um rauszufinden, welche jetzt die neue ist habe ich hdparm bemüht und mir die Seriennummern der Festplatten anzeigen lassen.
Hier sieht man, wenn man die SN vergleichen kann das /dev/sdb jetzt die "neue" Festplatte ist.
Was aber würde passieren, wenn ich für die neue Festplatte einen anderen SATA Anschluss verwende? <- das habe ich noch nicht ausprobiert.
Jetzt mit :
die neue /dev/sdb ins RAID 5 einfügen
Im Moment sieht der Status vom RAID5 wie folgt aus:
Nach der kurzen Wartezeit von 52.1min war der Rebuild vom RAID 5 erfolgreich erledigt.
<- das war mein erster Versuch ein Software RAID 5 wieder herzustellen.
Meint Ihr das ist so der richtige weg? Habe ich etwas übersehen? Könnte ich noch etwas anders machen?
Danke fürs feedback
Gruß
MrChaos
seit ein paar Tagen experimentiere ich mit einem Software RAID 5 auf einem Debian 8.
Ich möchte euch gerne an meinen Erfahrungen teilhaben lassen.
Zum Verwalten und Erstellen eines RAID 5 wird "mdadm" benutzt. Wie man damit ein RAID erstellt möchte ich hier nicht weiter ausführen, dazu gibt es viele Anleitungen / Tutorials im Netz.
Mir geht es hier vorallem um den Austausch einer defekten Festplatte in einem RAID 5.
Das RAID 5 besteht zum testen im Moment aus 3 Festplatten
/dev/sdb
/dev/sdc
/dev/sdd
Ich möchte jetzt den Fehlerfall simulieren und habe dazu einfach eine HDD vom System abgezogen.
Nach dem reboot sieht das "defekte" RAID 5 so aus:
Code:
root@mate:/home/user# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active (auto-read-only) raid5 sdc[1] sdb[3]
312316928 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
Code:
root@mate:/home/user# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Oct 5 17:08:14 2016
Raid Level : raid5
Array Size : 312316928 (297.85 GiB 319.81 GB)
Used Dev Size : 156158464 (148.92 GiB 159.91 GB)
Raid Devices : 3
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Thu Oct 6 11:12:44 2016
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : mate:0 (local to host mate)
UUID : f8bc63a2:62349f1f:39f79de9:76834885
Events : 6273
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
3 8 16 2 active sync /dev/sdb
Dies könnte der Zustand sein, wenn eine HDD sich nicht mehr am System anmeldet.
Nachdem /dev/sdb entfernt ist ... rückt erst einmal /dev/sdd auf und wird zu /dev/sdb. <- dieses Verhalten verursacht immer einen Logicbruch bei mir
An dieser Stelle, habe ich erst einmal folgende Frage:
- Muss ich die HDD die als "removed" markiert ist, aus dem RAID Verbund entferne? Wenn ja wie?
(zum Ziel kam ich auch ohne das ich Sie entfernt habe, siehe unten)
Die meisten How to's im Netz beschäftigen sich damit, wie man eine HDD als "fail" markiert und dann entfernt. In diesen Fällen ist diese aber immer noch vorhanden und funktioniert und kann ordentlich aus dem RAID 5 removed werden.
Wenn ich jetzt versuche die defekte HDD (sdb) aus dem RAID zu entfernen [physisch ist sie nicht mehr im System] {sdd ist im Moment zu sdb geworden}, sieht das so aus:
Code:
root@mate:/home/user# mdadm --manage /dev/md0 --remove /dev/sdb
mdadm: hot remove failed for /dev/sdb: Device or resource busy
Code:
root@mate:/home/user# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
Code:
root@mate:/home/user# mdadm --manage /dev/md0 --remove /dev/sdb
mdadm: error opening /dev/md0: No such file or directory
An dieser Stelle bin ich mir unsicher ob das mit dem "remove" in diesem Fall wirklich sein muss. Was sagt ihr?
Muss ich die nicht mehr vorhandene /dev/sdb überhaupt extra aus dem RAID 5 Verbund löschen?
Ich habe das ganze weiter probiert: Und zwar habe ich an den gleichen SATA Anschluss wo die "defekte" /dev/sdb hängt eine andere HDD vom gleichen Typ mit gleicher Größe gesteckt.
Ein fdisk -l sagt mir das eine neue hdd wieder da ist. aktuell sind dann sdb,sdc,sdd im System.
Um rauszufinden, welche jetzt die neue ist habe ich hdparm bemüht und mir die Seriennummern der Festplatten anzeigen lassen.
Code:
root@mate:/home/user# hdparm -i /dev/sdb | grep SerialNo
Model=ST3160811AS, FwRev=3.AAE, SerialNo=6PT2BRF9
root@mate:/home/user# hdparm -i /dev/sdc | grep SerialNo
Model=ST3160812AS, FwRev=3.AAH, SerialNo=5LS3X5B4
root@mate:/home/user# hdparm -i /dev/sdd | grep SerialNo
Model=ST3160318AS, FwRev=HP11, SerialNo=9VY178FZ
Was aber würde passieren, wenn ich für die neue Festplatte einen anderen SATA Anschluss verwende? <- das habe ich noch nicht ausprobiert.
Jetzt mit :
Code:
root@mate:/home/user# mdadm --manage /dev/md0 --add /dev/sdb
mdadm: added /dev/sdb
Im Moment sieht der Status vom RAID5 wie folgt aus:
Code:
root@mate:/home/user# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Oct 5 17:08:14 2016
Raid Level : raid5
Array Size : 312316928 (297.85 GiB 319.81 GB)
Used Dev Size : 156158464 (148.92 GiB 159.91 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Thu Oct 6 11:51:27 2016
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 0% complete
Name : mate:0 (local to host mate)
UUID : f8bc63a2:62349f1f:39f79de9:76834885
Events : 6276
Number Major Minor RaidDevice State
4 8 16 0 spare rebuilding /dev/sdb
1 8 32 1 active sync /dev/sdc
3 8 48 2 active sync /dev/sdd
Code:
root@mate:/home/user# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb[4] sdc[1] sdd[3]
312316928 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
[==>..................] recovery = 13.7% (21445468/156158464) finish=52.1min speed=43015K/sec
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
Nach der kurzen Wartezeit von 52.1min war der Rebuild vom RAID 5 erfolgreich erledigt.
<- das war mein erster Versuch ein Software RAID 5 wieder herzustellen.
Meint Ihr das ist so der richtige weg? Habe ich etwas übersehen? Könnte ich noch etwas anders machen?
Danke fürs feedback
Gruß
MrChaos
tomturbo
Technische Administration, Dinosaurier
- Mitglied seit
- 30.11.2005
- Beiträge
- 9.455
- Renomée
- 665
- Standort
- Österreich
- Aktuelle Projekte
- Universe@HOME, Asteroids@HOME
- Lieblingsprojekt
- SETI@HOME
- Meine Systeme
- Xeon E3-1245V6; Raspberry Pi 4; Ryzen 1700X; EPIC 7351
- BOINC-Statistiken
- Mein Laptop
- Microsoft Surface Pro 4
- Prozessor
- R7 5800X
- Mainboard
- Asus ROG STRIX B550-A GAMING
- Kühlung
- Alpenfön Ben Nevis Rev B
- Speicher
- 2x32GB Mushkin, D464GB 3200-22 Essentials
- Grafikprozessor
- Sapphire Radeon RX 460 2GB
- Display
- BenQ PD3220U, 31.5" 4K
- SSD
- 1x HP SSD EX950 1TB, 1x SAMSUNG SSD 830 Series 256 GB, 1x Crucial_CT256MX100SSD1
- HDD
- Toshiba X300 5TB
- Optisches Laufwerk
- Samsung Brenner
- Soundkarte
- onboard
- Gehäuse
- Fractal Design Define R4
- Netzteil
- XFX 550W
- Tastatur
- Trust ASTA mechanical
- Maus
- irgend eine silent Maus
- Betriebssystem
- Arch Linux, Windows VM
- Webbrowser
- Firefox + Chromium + Konqueror
- Internetanbindung
-
▼300
▲50
Eine disk die auf Status faulty war, muss man removen, damit man sie ersetzen kann.
Nach dem remove kann man dann die neue Disk wieder zum Raid-set hinzufügen.
Insofern war alles richtig.
Man muss aber nicht die Platte abziehen, sondern es reicht ein:
um das device auf faulty zu setzen. Mit "-r" ist es dann zu entfernen.
lg
__tom
PS: wegen der Ausrichtung der Blöcke auf 4K sollte man nicht direkt das /dev/sdx zu einem RAID machen, sondern eine ausgerichtete Partition auf der Platte.
Nach dem remove kann man dann die neue Disk wieder zum Raid-set hinzufügen.
Insofern war alles richtig.
Man muss aber nicht die Platte abziehen, sondern es reicht ein:
Code:
mdadm /dev/md0 -f /dev/sdb
um das device auf faulty zu setzen. Mit "-r" ist es dann zu entfernen.
lg
__tom
PS: wegen der Ausrichtung der Blöcke auf 4K sollte man nicht direkt das /dev/sdx zu einem RAID machen, sondern eine ausgerichtete Partition auf der Platte.
Berniyh
Grand Admiral Special
- Mitglied seit
- 29.11.2005
- Beiträge
- 5.206
- Renomée
- 219
Nachdem /dev/sdb entfernt ist ... rückt erst einmal /dev/sdd auf und wird zu /dev/sdb. <- dieses Verhalten verursacht immer einen Logicbruch bei mir
Code:
--prefer=
When mdadm needs to print the name for a device it normally finds the name in /dev which refers to the device and is shortest. When a path component is given with --prefer mdadm will prefer a longer name if it contains that com?
ponent. For example --prefer=by-uuid will prefer a name in a subdirectory of /dev called by-uuid.
Der Name für die HDD ist aber schlecht, da – wie du ja schon bemerkt hast – veränderlich.
Besser ist es hier die UUID zu verwenden, die du auch von mdadm ausgegeben bekommst, wenn du --prefer=by-uuid wählst.
Wenn du die HDD nicht entfernst, dann geht das RAID davon aus, dass sie evtl. wieder hinzugefügt wurde (und würde nach Hinzufügen anfangen wieder zu synchronisieren).An dieser Stelle, habe ich erst einmal folgende Frage:
- Muss ich die HDD die als "removed" markiert ist, aus dem RAID Verbund entferne? Wenn ja wie?
(zum Ziel kam ich auch ohne das ich Sie entfernt habe, siehe unten)
Du versuchst die Disk zu entfernen die in deinem RAID aktiv ist, das muss ja fehlschlagen (und ist auch gut so).Wenn ich jetzt versuche die defekte HDD (sdb) aus dem RAID zu entfernen [physisch ist sie nicht mehr im System] {sdd ist im Moment zu sdb geworden}, sieht das so aus:
Dann stoppe ich das RAID:Code:root@mate:/home/user# mdadm --manage /dev/md0 --remove /dev/sdb mdadm: hot remove failed for /dev/sdb: Device or resource busy
Ich versuche erneut die alte /dev/sdb zu entfernen: [wobei ja jetzt die sdd die sdb ist ]Code:root@mate:/home/user# mdadm --stop /dev/md0 mdadm: stopped /dev/md0
Code:root@mate:/home/user# mdadm --manage /dev/md0 --remove /dev/sdb mdadm: error opening /dev/md0: No such file or directory
mdadm interessiert sich auch erstmal nicht dafür ob das Teil sdb, sdc oder sdd heißt, sondern erkennt die richtige Disk anhand der Metadaten.
Wenn du die Anschlüsse deiner Disks vertauschst, dann sollte das z.B. immer noch funktionieren, da so eine Änderung für mdadm transparent ist.
(Im Gegensatz übrigens zu einem Fakeraid, was da gerne mal Probleme verursacht, wie ich neulich erst feststellen durfte.)
Mit anderen Worten: Lieber UUID verwenden, dann hast du das Problem nicht und dann sollte das Entfernen der Disks auch funktionieren, wenn diese nicht mehr existiert.
Generell sei dir die manpage von mdadm empfohlen. Ich weiß, manpages sind oft sehr technisch und rel. schwer zu verstehen, die von mdadm finde ich aber wirklich sehr gut.
Wenn ich das so richtig verstanden habe, dann kann ich doch das Laufwerk nur auf "faulty" setzten, wenn dieses vom System noch erkannt wird oder?
UUID's zu verwenden hatte ich schon überlegt, (mache ich auch in der fstab so) allerdings waren die Tutorials im Netz alle mit sda / sdb / ... daher habe ich das erst einmal so probiert.
Dazu habe ich noch ein paar Fragen:
- kann man die Laufwerke schon mit einer UUID an mdadm übergeben?
- um die Disk per UUID zu entfernen, setzt das vorraus das man die UUID von jedem Laufwerk kennt oder?
- wie müsste der Befehl aussehen wenn man eine UUID zum entfernen / hinzufügen benutzen möchte?
So habe ich das RAID erstellt
Könnte das so mit UUID funktionieren: (kann es erst später heute testen)
UUID's zu verwenden hatte ich schon überlegt, (mache ich auch in der fstab so) allerdings waren die Tutorials im Netz alle mit sda / sdb / ... daher habe ich das erst einmal so probiert.
Dazu habe ich noch ein paar Fragen:
- kann man die Laufwerke schon mit einer UUID an mdadm übergeben?
- um die Disk per UUID zu entfernen, setzt das vorraus das man die UUID von jedem Laufwerk kennt oder?
- wie müsste der Befehl aussehen wenn man eine UUID zum entfernen / hinzufügen benutzen möchte?
So habe ich das RAID erstellt
Code:
mdadm --create --verbose /dev/md0 --auto=yes --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
Code:
mdadm --create --verbose /dev/md0 --auto=yes --level=5 --raid-devices=3 UUID="<hier die UUID>" UUID="<hier die UUID>" ...
tomturbo
Technische Administration, Dinosaurier
- Mitglied seit
- 30.11.2005
- Beiträge
- 9.455
- Renomée
- 665
- Standort
- Österreich
- Aktuelle Projekte
- Universe@HOME, Asteroids@HOME
- Lieblingsprojekt
- SETI@HOME
- Meine Systeme
- Xeon E3-1245V6; Raspberry Pi 4; Ryzen 1700X; EPIC 7351
- BOINC-Statistiken
- Mein Laptop
- Microsoft Surface Pro 4
- Prozessor
- R7 5800X
- Mainboard
- Asus ROG STRIX B550-A GAMING
- Kühlung
- Alpenfön Ben Nevis Rev B
- Speicher
- 2x32GB Mushkin, D464GB 3200-22 Essentials
- Grafikprozessor
- Sapphire Radeon RX 460 2GB
- Display
- BenQ PD3220U, 31.5" 4K
- SSD
- 1x HP SSD EX950 1TB, 1x SAMSUNG SSD 830 Series 256 GB, 1x Crucial_CT256MX100SSD1
- HDD
- Toshiba X300 5TB
- Optisches Laufwerk
- Samsung Brenner
- Soundkarte
- onboard
- Gehäuse
- Fractal Design Define R4
- Netzteil
- XFX 550W
- Tastatur
- Trust ASTA mechanical
- Maus
- irgend eine silent Maus
- Betriebssystem
- Arch Linux, Windows VM
- Webbrowser
- Firefox + Chromium + Konqueror
- Internetanbindung
-
▼300
▲50
Ja klar, dazu ist es ja auch da - zum Testen. Anschließend kann das device mit -r entfernt werden.Wenn ich das so richtig verstanden habe, dann kann ich doch das Laufwerk nur auf "faulty" setzten, wenn dieses vom System noch erkannt wird oder?
Du hast es abgezogen, das einem faulty und remove gleich kommt.
Was schon erhöhtes Risiko für die Laufwerkselektronik bedeutete.
Berniyh
Grand Admiral Special
- Mitglied seit
- 29.11.2005
- Beiträge
- 5.206
- Renomée
- 219
Ja, wie gesagt, mdadm versteht uuid. Ob die Syntax so richtig ist kann ich spontan nicht sagen, da ich schon länger kein mdadm mehr verwende.
Prinzipiell sollte dir mdadm, wenn du dir die Daten des raids anzeigen lässt alle devices anzeigen, die dem raid zugeordent sind.
Also auch die, die eigentlich erwartet werden, aber nicht vorhanden sind.
Ausprobieren kann ich es wie gesagt aber nicht.
Prinzipiell sollte dir mdadm, wenn du dir die Daten des raids anzeigen lässt alle devices anzeigen, die dem raid zugeordent sind.
Also auch die, die eigentlich erwartet werden, aber nicht vorhanden sind.
Ausprobieren kann ich es wie gesagt aber nicht.
Ähnliche Themen
- Antworten
- 15
- Aufrufe
- 683
- Antworten
- 21
- Aufrufe
- 3K
- Antworten
- 34
- Aufrufe
- 9K
- Antworten
- 18
- Aufrufe
- 4K