mdadm Raid 5 als externes Backup Laufwerk

Ich nutze drei 5TB SATA Festplatten (Western Digital WD Blue 5TB, WD50EZRZ) im mdadm Raid5 Verbund als externes Backup Laufwerk.

Raid 5 erzeugen

Mittels gdisk alle drei Festplatten als Linux Raid Laufwerk vorbereiten, hier als Beispiel für /dev/sde. Dieser Schritt muss für alle Festplatten die in den Raid-Verbund sollen gemacht werden.

sudo gdisk /dev/sde
o
n
<ENTER>
<ENTER>
<ENTER>
fd00
w

mdadm Raid5 mit drei Festplatten erstellen. Der Name des Raid-Laufwerks wird in diesem Beispiel /dev/md101 und besteht aus den Festplatten: /dev/sde1 /dev/sdf1 /dev/sdg1

sudo mdadm --create --metadata 1.0 --verbose /dev/md101 --chunk=512 --level=5 --raid-devices=3 /dev/sde1 /dev/sdf1 /dev/sdg1

Raid Laufwerk verschlüsseln

Ich verschlüssel alle meine Laufwerke mit LUKS, daher auch hier die nötigen Schritte (Können optional auch übersprungen werden), Raid-Laufwerk verschlüsseln:

sudo cryptsetup -c aes-xts-plain64 --align-payload=2048 -s 512 luksFormat /dev/md101

Das verschlüsselte Laufwerk entsperren:

sudo cryptsetup luksOpen /dev/md101 WechsliRaid5_101

Dateisystem anlegen

Laufwerk formatieren, z.B. mit ext4:

sudo mkfs.ext4 -m 0 -b 4096 -E stripe-width=256,stride=128 -L WechsliRaid5_101 /dev/mapper/luksWechsliRaid5_101
sudo mount /dev/mapper/luksWechsliRaid5_101 /mnt

mdadm baut im Hintergrund noch die Parität des Raid5 auf, das Laufwerk kann zwar nun theoretisch schon verwendet werden, ich würde aber warten bis mdadm den Vorgang abgeschlossen hat. Dies dauert ein paar Stunden, bei mir typischerweise ~7 Stunden für 3x 5TB als Raid5. Der Fortschritt kann mit folgendem Befehl beobachtet werden:

cat /proc/mdstat

 

HotPlug der Festplatten

Ich nutze den Sharkoon SATA QuickPort 3-Bay um die SATA Festplatten mit dem PC zu verbinden. Das funktioniert sehr gut per Hotplug mit Linux, der PC muss dafür nicht heruntergefahren werden.

Das mdadm-Raid startet in meiner Linux Distribution (Linux Manjaro) automatisch wenn alle nötigen Festplatten für das Laufwerk vorhanden sind, hab dafür nichts konfiguriert. Falls die Festplatten zu verzögert eingesteckt werden, kann es passieren, das mdadm das Raid mit nur 2 von 3 Festplatten startet. Das sollte man mit cat /proc/mdstat kontrollieren!

Um die Festplatten bei laufendem PC wieder entfernen zu können, muss das Raid gestoppt werden! Dafür sind drei Schritte nötig:

sudo umount /mnt
sudo cryptsetup luksClose WechsliRaid5_101
sudo mdadm --stop /dev/md101

Bei mir ist “nemo” der Standard Dateimanager, mittels Rechtsklick auf das Laufwerk und “Laufwerk sicher entfernen” werden umount und luksClose erledigt es ist also nur noch das stoppen des Raid-Verbunds per Befehl nötig. Die Festplatten können dann herausgenommen werden, ohne den PC herrunterfahren zu müssen und im Schrank gelagert werden…

Hilfe! Das Raid Laufwerk startet nicht mit allen Festplatten

Das kann passieren, noch ist aber nichts verloren. mdadm Raid stoppen und dann unter Angabe aller nötigen Festplatten wieder starten:

sudo mdadm --stop /dev/md101
sudo mdadm --assemble --run /dev/md101 /dev/sdh1 /dev/sdi1 /dev/sdj1

Das kann nun wieder etwas dauern, wenn das Raid neu aufgebaut werden muss. Forschritt kann wieder mit cat /proc/mdstat beobachtet werden.