Linux Software RAID / mdadm

RAID Level

Level Beschreibung
Linear verketten von Partitionen
Multipath mehrere Pfade zum gleichen Blockdevice (nur ein “echtes” Blockdevice pro md)
Faulty simuliert fehlerhaftes RAID
0 Striping
1 Spiegelung
4 0 + Paritätsdevice
5 einfache Parität mit Rotation über alle Devices
6 doppelte Parität mit Rotation über alle Devices
10 1+0 bei gerader Anzahl an Devices, 1E bei ungerader Anzahl

Array erstellen

mdadm --create /dev/md/<Name> --level=<Level> --raid-devices=<Anzahl der Devices> /dev/<Device1> /dev/<Device2>

Spare-Device hinzufügen

mdadm /dev/md/<Name> --add /dev/<Device1>
  • Besitzt das RAID bereits so viele Devices wie als Anzahl beim Erzeugen definiert, werden alle weiteren Devices als Spare hinzugefügt. Es besteht kein Unterschied zum Austausch eines Devices.

Defektes Device austauschen

Partitionstabelle klonen

GPT Partitionstabelle

sgdisk -R /dev/<Device-Destination> /dev/<Device-Source>
sgdisk -G /dev/<Device-Destination>

MBR Partitionstabelle

sfdisk -d /dev/<Device-Source> | sfdisk /dev/<Device-Destination>
sfdisk -R /dev/<Device-Destination>

RAID reparieren

mdadm /dev/md/<Name> --fail /dev/<Device-defekt>
mdadm /dev/md/<Name> --remove /dev/<Device-defekt>
mdadm /dev/md/<Name> --add /dev/<Device1-neu>

Sync-Speed limitieren

10MB/s
echo "10240" > /sys/block/<MD-DEVICE>/md/sync_speed_max
200MB/s
echo "204800" > /sys/block/<MD-DEVICE>/md/sync_speed_max
  • Global: /proc/sys/dev/raid/speed_limit_max
  • pro RAID: /sys/block/<MD-DEVICE>/md/sync_speed_max

RAID löschen

mdadm --stop /dev/md/<Name>
mdadm --zero-superblock /dev/<Device1>
mdadm --zero-superblock /dev/<Device2>
...

RAIDs finden und starten

mdadm --assemble --scan --run

RAID Status

Zusammenfassung
cat /proc/mdstat
ausführlicher Status
mdadm --detail /dev/md/<Name>