mdadm --zero-superblock /dev/sdb1 mdadm --zero-superblock /dev/sdc1
Inhaltsverzeichnis
Beispiel Software RAID 1
Voraussetzung
Mindestens zwei gleich große neue Festplatten, für RAID5 mindestens drei. In der Praxis besser mindestens eine mehr.
Zum Testen können auch zwei bzw. drei gleich große Partitionen auf derselben Festplatte genutzt werden.
Partitionierung
Partitionstabelle mit einer Partition anlegen
Vorsichtshalber betroffene Blockdevices wipen:
wipefs -af /dev/sdb
RAID Partitionen taggen
Bevorzugt mit gdisk, hier vereinfacht mit parted:
parted /dev/sdb set 1 raid on parted /dev/sdc set 1 raid on …
fdisk -l /dev/sd{b,c} | grep -i raid
→ gibt aus:
- GPT Partitionstabelle
/dev/sdb1 2048 3907028991 3907026944 1.8T Linux RAID … /dev/sdc1 2048 3907028991 3907026944 1.8T Linux RAID
Pakete installieren
Debian (ab 9)
apt install mdadm
Autoerkennung auf none stellen.
CentOS (ab 8)
dnf install mdadm
RAID 1 anlegen
mdadm --create /dev/md0 --level=1 --raid-devices=2 --assume-clean /dev/sdb1 /dev/sdc1 watch cat /proc/mdstat mkfs.ext4 /dev/md0
mount -m /dev/md0 /mnt/md0 cp -a /usr/share/. /mnt/md0
Ausfall einer Platte simulieren
Platte entfernen
mdadm /dev/md0 --fail /dev/sdb1 cat /proc/mdstat mdadm /dev/md0 --remove /dev/sdb1
→ Ergebnis:
cat /proc/mdstat mdadm --detail /dev/md0 mdadm --query --examine /dev/sdb1
Wiederherstellen
mdadm /dev/md0 --add /dev/sdb1 cat /proc/mdstat
Wiederherstellen beschleunigen
Resync läuft mit angezogener Handbremse, um dem normalen I/O nicht im Weg zu sein. Aktuelle Werte auslesen:
sysctl dev.raid.speed_limit_min sysctl dev.raid.speed_limit_max
Beschleunigen mit:
# 100000 bedeutet: mindestens mit 100.000 K/sec syncen, ohne Rücksicht sysctl dev.raid.speed_limit_min=100000 # Niemals mit mehr als 200 MB/sec syncen sysctl dev.raid.speed_limit_max=200000
→ Resync sollte jetzt schneller laufen:
watch cat /proc/mdstat
RAID entfernen
umount /mnt/md0 mdadm --stop /dev/md0 cat /proc/mdstat
RAID 1 aus einzelner Platte zusammensetzen
mdadm --assemble --force /dev/md0 /dev/sdb1 cat /proc/mdstat
Zweite Platte wieder hinzufügen:
mdadm /dev/md0 --add /dev/sdc1
Wieder mounten:
mount /dev/md0 /mnt/md0
RAID 1 zu RAID 5 erweitern
RAID 1 in RAID 5 konvertieren:
mdadm --grow /dev/md0 --level=5 mdadm --detail /dev/md0
Platte hinzufügen:
mdadm /dev/md0 --add /dev/sdd1 mdadm --detail /dev/md0
→ Raid Level : raid5
→ Active Devices : 2
Platte aktivieren:
mdadm --grow /dev/md0 --raid-devices=3 mdadm --detail /dev/md0
→ Active Devices : 3
watch cat /proc/mdstat
Dateisystem erweitern: 3)
resize2fs /dev/md0
Reboot/Wiederherstellung nach Crash beschleunigen: (zu Nachteilen siehe: https://raid.wiki.kernel.org/index.php/Write-intent_bitmap)
mdadm --grow --bitmap=internal /dev/md0
Platte ersetzen, bevor sie ausgefallen ist
mdadm /dev/md0 --add-spare /dev/sdb1 cat /proc/mdstat mdadm /dev/md0 --replace /dev/sdb1 watch cat /proc/mdstat
