Mit ‘mdadm’ Tagged einträge

Software Raid detached Devices

Montag, November 14th, 2016

Nachdem wir bei eine Software Raid eine defekte Platte getauscht haben, wurde diese immer noch in der mdadm Übersicht geführt sda1[2](F).
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[0] sda1[2](F) sdb1[1]
104320 blocks [2/2] [UU]

Das removen mit –remove ging leider nicht:
mdadm /dev/md0 --remove /dev/sda1
mdadm: cannot find /dev/sda1: No such file or directory

Hierfür muss man alle detached Devices entfernen:
mdadm /dev/md0 --remove detached
mdadm: hot removed 8:1

LVM2 RAID vs mdadm RAID 0, 5, 10

Samstag, August 22nd, 2015

Ich habe mir 4 neue HGST Ultrastar A7K3000 2TB SATA6 Festplatten für meine Server gegönnt. Zum Vergleichen habe ich ein paar Tests mit LVM und mdadm gemacht.

Dafür habe ich je ein 5GB großes Setup gebaut und mit dd die Volumen erst gelesen und dann beschrieben. Dies habe ich in dieser Reihenfolge gemacht, um sicherzugehen, dass keine Daten aus dem cash gelesen werden.

Dabei bin ich zu folgenden spannenden Ergebnissen gekommen:

5GB READ/s READ/MB WRITE/s WRITE/MB
LVM RAID0 9,97195 s 538 MB/s 9,64365 s 557 MB/s
LVM RAID5 31,1128 s 173 MB/s 67,4213 s 79,7 MB/s
LVM RAID10 18,661 s 288 MB/s 26,5428 s 202 MB/s
MDADM RAID0 9,81575 s 547 MB/s 9,5395 s 563 MB/s
MDADM RAID5 20,528 s 260 MB/s 24,9739 s 214 MB/s
MDADM RAID10 17,5713 s 305 MB/s 19,529 s 275 MB/s

Mein Fazit: LVM ist doch deutlich langsamer als mdadm. Erschrocken hat mich die 2,6 fach schlechtere Schreibperformance bei LVM Raid5. Überrascht hat mich auch, dass ein mdadm raid10 fast die Nativ mögliche Geschmeidigkeit, 1/2 facht von reid0, erreicht hat.

Für die Testbedienungen habe ich ein aktuelles Ubuntu 14.04 LTS mit lvm2 2.02.98-6ubuntu2 und mdadm 3.2.5-5ubuntu4.2 verwendet.
(mehr …)

mdadm bitmap erstellen

Samstag, November 1st, 2014

Bei RAIDs kommt es ab und an einmal vor, dass Festplatten aus dem RAID geworfen werden. Eine wieder hinzugefügte Festplatte muss dann wieder gesynct (resharpt) werden. In meinem Beispiel von 4x2TB Festplatten in einem RAID 5, dauert dass ca. 4 Stunden. Um die Wahrscheinlichkeit das während des resharpen eine weiter Festplatte ausfällt, das den Totaluferlust der Daten bedeuten würde, zu minimieren. Ist es sinnvoll auf kosten der Schreibperformance ein bitmap zu erstellen.

mdadm --grow --bitmap=internal /dev/md0

Alternativ kann man das bitmap auch auf eine separate Festplatte schreiben, dies erhört die schreib Performance des RAIDs.

mdadm --grow --bitmap=/mnt/bitmap-md0.bin /dev/md0

Um die bitmaps wieder auszuschalten muss man none angeben:

mdadm --grow --bitmap=none /dev/md0

(mehr …)

USB Platte mit LVM und mdadm Raid unsaber ausgehangen

Dienstag, Oktober 14th, 2014

Nach dem unsauberen entfernen einer USB Platte mit LVM und mdadm Raid kam es beim aufrufen jeglicher lvm Kommandos zu folgenden Fehlern:

# vgscan
Reading all physical volumes. This may take a while...
/dev/md0: read failed after 0 of 4096 at 0: Input/output error
/dev/md0: read failed after 0 of 4096 at 9997975552: Input/output error
/dev/md0: read failed after 0 of 4096 at 9998090240: Input/output error
/dev/md0: read failed after 0 of 4096 at 4096: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 45097091072: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 45097148416: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 4096: Input/output error
Found volume group "vg01" using metadata type lvm2

Mittels dmsetup kann man die lvs löschen. Die fehlen lvs kann man mittels ls auflisten und mit remove wieder löschen:
# dmsetup ls | grep ^vg01
vg01-lv66_hdd (254, 23)
# dmsetup remove vg01-lv66_hdd

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd1[2]
9763768 blocks super 1.2 [2/1] [_U]

Das raid device konnte man mittels mdadm dann einfach Stoppen. Siehe dazu auch: mdadm –stop

mdadm –stop

Montag, September 1st, 2014

Ein Raid kann natürlich nicht gestoppt werden, wenn es noch verwendet wird. In meinem Fall:
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb2[1]
966994808 blocks super 1.2 [2/1] [_U]

unused devices: < none >

# mdadm --stop /dev/md0
mdadm: failed to stop array /dev/md0: Device or resource busy
Perhaps a running process, mounted filesystem or active volume group?

Eigentlich war das System nicht mehr gemountet. Nur noch das LVM war auf der Platte in Verwendung. Dafür musste ich das VG erst mal stoppen:
# vgchange -a n vg0
0 logical volume(s) in volume group "vg0" now active

Dann ging es auch mit dem Aushängen der Platte.
# mdadm --stop /dev/md0
mdadm: stopped /dev/md0