Categories
Linux Storage

mdadm Softraid on SSD with TRIM

Seit Kernel 3.7 unterstützt das mdadm Softraid den TRIM Befehl.

SSDs benötigen Idealerweise Raum für ihren Wear leveling Algorithmus. Da das mdadm RAID aber die gesamte Partition als “belegt” beansprucht, hat der SSD Controller wenig Ausweichmöglichkeiten und die Schreibperformance geht in den Keller. Da kann man nur die Spare Area mit hdparm vergrößern – verschenkt aber damit wertvollen Platz. Dateisysteme (z.B. ext4) verstehen schon länger den TRIM Befehl (Mountoption “discard”) – aber dies nützt(e) nichts wenn das Dateisystem auf einem Softraid liegt.

Bis Kernel 3.7 bekam man nur folgendes zu sehen:

root@node:~# fstrim /
fstrim: /: FITRIM ioctl failed: Operation not supported

Ab Kernel 3.7 sieht es dann besser aus:

root@node:~# fstrim -v /
/: 12858519552 bytes were trimmed
Categories
Linux

mdadm SoftRAID: Kernelmodul Dokumentation

Hier befindet sich die Dokumentation zum md-Modul des Linux-Kernel:

http://www.mjmwired.net/kernel/Documentation/md.txt oder das Original
http://kernel.org/doc/Documentation/md.txt

Interessant sind einige Files zum triggern von RAID-Operationen: z.B.
sync_action oder sync_speed_min

Categories
Linux

mdadm: Device or resource busy

Beim Hinzufügen einer neuen Partition zu einem RAID kam vorhin folgende Meldung:

mdadm --add /dev/md0 /dev/sda1
mdadm: Cannot open /dev/sda1: Device or resource busy

Gemounted war die Partition nicht – was ich jedoch nicht beachtet hatte war, dass der device-mapper sich die Platte beim booten geschnappt hatte:

dmsetup ls
ddf1_System	(253, 0)
ddf1_Systemp2	(253, 2)
ddf1_Systemp1	(253, 1)

D.h. ich musste die Platte noch aus der device-mapper Verwaltung herausnehmen:

# Entfernt alle (!!!) Platten aus der Verwaltung des device-mapper
dmsetup remove_all

Danach klappt auch das hinzufügen mit mdadm wieder:

mdadm -a /dev/md0 /dev/sda1
mdadm: added /dev/sda1