Raid auflösen funktioniert nicht

cauldron

New Member
Heyho,

ich habe bei der Installation meines Server leider bei der RAID Partitionierung nicht genau aufgepasst und deshalb befinden sich jetzt alle 3 120GB SSDs in einem RAID 1 welches auf 20GB für / und 100GB für /home/userxyz.
Hier noch die Infos von cat /proc/mdstat

md1 : active raid1 sdc1[2] sdb1[1] sda1[0]
20478912 blocks [3/3] [UUU]

md2 : active raid1 sdb2[1] sda2[0] sdc2[2]
96211904 blocks [3/3] [UUU]


und mdadm --detail /dev/md1

/dev/md1:
Version : 0.90
Creation Time : Fri Jan 30 20:14:32 2015
Raid Level : raid1
Array Size : 20478912 (19.53 GiB 20.97 GB)
Used Dev Size : 20478912 (19.53 GiB 20.97 GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 1
Persistence : Superblock is persistent

Update Time : Sun Feb 8 12:07:23 2015
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

UUID : 0817b545:24b94e68:a4d2adc2:26fd5302
Events : 0.80

Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1


und mdadm --detail /dev/md2

/dev/md2:
Version : 0.90
Creation Time : Fri Jan 30 20:14:32 2015
Raid Level : raid1
Array Size : 96211904 (91.75 GiB 98.52 GB)
Used Dev Size : 96211904 (91.75 GiB 98.52 GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Sun Feb 8 12:10:11 2015
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

UUID : 63a25fa4:3ff9807b:a4d2adc2:26fd5302
Events : 0.78

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
2 8 34 2 active sync /dev/sdc2


Ich möchte das RAID 1 jetzt aber so auflösen dass ich nur noch 2 SSD's im RAID 1 habe und eine SSD unabhängig läuft (also nicht gespiegelt ist).
Gerne würde ich auch 120GB auf / legen, ich weiß dass kann zu Problemen führen wenn die Platte voll ist aber generell sollte es beim Umbau des RAIDs doch zu weniger Problemen kommen?

Mein großes Problem ist jetzt aber dass ich mit mdadm --stop /dev/md2 die RAIDs nicht stoppen kann weil ich keinen exklusiven Zugriff auf die Platten habe. Wie kann ich jetzt trotzdem mein Vorhaben umsetzen ohne alles neuinstallieren zu müssen?

Danke schon einmal für eure Hilfe :)
 
Dein Provider bietet sicherlich einen Rescue-Modus an, in dem über Netzwerk gebootet wird. Wenn du die Daten vor dem auseinander nehmen des Raid 1 nicht sicherst, dann sind diese spätestens nach dem Entfernen eines devices weg.

Wenn dir das alles egal ist, kannst du mit folgendem Befehl den Superblock löschen:
Code:
mdadm --zero-superblock /dev/sdxn

Danach wird das Device nicht mehr als teil eines MD-Array erkannt und die Daten sind alle weg. Falls du eh alles neu einrichten willst, würde ich das an deiner Stelle komplett manuell machen. Also erst Platten so partitionieren, wie du das haben willst und danach mit mdadm ein neues Raid erstellen. FS erstellen und dann aus der Rescue-Umgebung das OS auf die Platten installieren. Bei debian gibt es z.B. debootstrap. Für andere Distributionen gibt es sicherlich auch solche Installer.

Falls du die Möglichkeit hast über das WI deines Providers ein Image zu mounten, von dem du booten kannst, solltest du diese Möglichkeit in Betracht ziehen. Dann hättest du einerseits die Möglichkeit die Partitionierung auch über das UI des Installers benutzerdefiniert durchzuführen.
 
Dein Provider bietet sicherlich einen Rescue-Modus an, in dem über Netzwerk gebootet wird. Wenn du die Daten vor dem auseinander nehmen des Raid 1 nicht sicherst, dann sind diese spätestens nach dem Entfernen eines devices weg.

Wenn dir das alles egal ist, kannst du mit folgendem Befehl den Superblock löschen:
Code:
mdadm --zero-superblock /dev/sdxn

Danach wird das Device nicht mehr als teil eines MD-Array erkannt und die Daten sind alle weg. Falls du eh alles neu einrichten willst, würde ich das an deiner Stelle komplett manuell machen. Also erst Platten so partitionieren, wie du das haben willst und danach mit mdadm ein neues Raid erstellen. FS erstellen und dann aus der Rescue-Umgebung das OS auf die Platten installieren. Bei debian gibt es z.B. debootstrap. Für andere Distributionen gibt es sicherlich auch solche Installer.

Falls du die Möglichkeit hast über das WI deines Providers ein Image zu mounten, von dem du booten kannst, solltest du diese Möglichkeit in Betracht ziehen. Dann hättest du einerseits die Möglichkeit die Partitionierung auch über das UI des Installers benutzerdefiniert durchzuführen.

Heißt wenn ich ein Device aus dem RAID 1 lösche sind die anderen Festplatten auch gelöscht? Gibt es wirklich keine andere Möglichkeit neben einer Neuinstallation einfach eine SSD zu entfernen und separat laufen zu lassen?
Also wenn die Daten auf der Festplatte weg wären die ich entferne wäre mir dass nur recht, aber auf den anderen beiden sollten sie wirklich noch da sein.
 
Wenn ich das noch richtig im Kopf habe, sollte ein
Code:
mdadm /dev/mdX --remove /dev/sdXY
die jeweilige Partition aus dem entsprechende Verbund entfernen (X und Y sind jeweils Platzhalter). Steht zumindest so in der manpage beschrieben.
 
Wenn ich das noch richtig im Kopf habe, sollte ein
Code:
mdadm /dev/mdX --remove /dev/sdXY
die jeweilige Partition aus dem entsprechende Verbund entfernen (X und Y sind jeweils Platzhalter). Steht zumindest so in der manpage beschrieben.

Bei dem Befehl mdadm /dev/md2 --remove /dev/sdc2
bekomme ich nur die Fehlermeldung mdadm: hot remove failed for /dev/sdc2: Device or resource busy
 
IMHO musst du sdc2 erst auf failed setzen.


Ah genau, daran lag es. Habe jetzt sdc von md1 und md2 entfernt aber wenn ich mit cat /proc/mdstat den Status abfrage dann wird die Festplatte mehr oder weniger immer noch angezeigt aber nicht mehr genutzt. Den Superblock habe ich schon auf beiden Partitionen gelöscht:
md2 : active raid1 sdb2[1] sda2[0]
96211904 blocks [3/2] [UU_]

md1 : active raid1 sda1[0] sdb1[1]
20478912 blocks [3/2] [UU_]


Wenn ich die SSD mit mkfs.ext4 /dev/sdc formatieren möchte wird mir noch angezeigt dass sie noch vom System benutzt wird, aber ich kann die Platte auch nicht mit umount aushängen weil sie angeblich nicht gemountet ist. Wo liegt dieses Mal mein Fehler?

Edit: Habs hinbekommen wie ich es wollte nach dem ich mit fdisk die Partitionen gelöscht habe, danke für eure Hilfe :)
 
Last edited by a moderator:
Ah genau, daran lag es. Habe jetzt sdc von md1 und md2 entfernt aber wenn ich mit cat /proc/mdstat den Status abfrage dann wird die Festplatte mehr oder weniger immer noch angezeigt aber nicht mehr genutzt.

Du must die fehlenden Member noch entfernen, das sollte mit
Code:
mdadm /dev/mdX -r detached
funktionieren.

Wenn ich die SSD mit mkfs.ext4 /dev/sdc formatieren möchte wird mir noch angezeigt dass sie noch vom System benutzt wird, aber ich kann die Platte auch nicht mit umount aushängen weil sie angeblich nicht gemountet ist. Wo liegt dieses Mal mein Fehler?

Man formatiert keine Festplatten, sondern Partitionen. Also ggfl. neu partitionieren bzw. wenn du die alte Aufteilung der SSD behalten willst, den Partitionstype umstellen von Linux Raid-Autodetect (fd) nach Linux (83).
 
Last edited by a moderator:
Back
Top