apt-get install mdadm
Man benötigt nicht umbedingt eine Partion. Es ist jedoch möglich eine zu machen.
cfdisk <device>
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Dies wird eine Zeit dauern. Man kann dies aber auch beschleunigen mit
echo 100000 >/proc/sys/dev/raid/speed_limit_min
mdadm -D /dev/md0 cat /proc/mdstat
mkfs.ext4 /dev/md0
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
mkdir -p /mnt/raid
/dev/md0 /mnt/raid ext3 defaults 1 2
mount /dev/md0 /mnt/raid
oder über fstab
mount -a
WICHTIG! Bei einem hinzufügen einer weitern Platte in einem Raid5 das verschlüsselt ist sollte man bevor man mit mdadm eine weitere Platte hinzufügt das Raid natürlich unmounten und mit cryptsetup auch schließen. Beim vergrößern vom Filesystem muss man das Device dann mit cryptsetup wieder öffnen.
cfdisk <device>
umount /dev/mdX
mdadm --add /dev/md0 /dev/sdb1
mdadm --grow /dev/md0 -n 5
Wenn es sich hier große Partitionen handelt (ab 500Gb) würde ich umbedingt sofort ein
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
empfehlen denn im Falle eines Stromausfalles würde es hier zu einem Verlust ALLER Daten kommen.
echo 100000 >/proc/sys/dev/raid/speed_limit_min
e2fsck -f /dev/md0 resize2fs /dev/md0 e2fsck -f /dev/md0
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
Ansonsten wird versucht das RAID mit einer Platte weniger zu starten, ein Rebuild beginnt und die Daten sind verloren. Nun das Dateisystem wie gewohnt einhängen
Dieser Weg sollte nur angewendet werden wenn es umbedingt sein muss. Ab Kernel 2.6.30 geht dies um einiges leichter.
Es handelt sich um ein Raid5 mit drei Platten (SDA1, SDB1, SDC1)
Dieses soll auf ein Raid6 mit zwei zusätzlichen Platten (SDD1, SDE1) konvertiert werden.
mdadm /dev/md0 --fail /dev/sdc1 --remove /dev/sdc1
Es wird eine Warnung kommen das sdc1 ein Teil vom Raid5 ist aber das wissen wir und können wir ignorieren.
mdadm --create /dev/md1 --level=6 --raid-devices=5 missing missing /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm --stop /dev/md0
mdadm /dev/md1 --add /dev/sda1 /dev/sdb1
echo 100000 >/proc/sys/dev/raid/speed_limit_min
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
Nach einigen Stunden sollte wir dann fertig sein.
Dieser Weg ist seit Kernel 2.6.30 möglich!
Ich gehe hier von 4 Platten in einem Raid5 aus das auf ein Raid6 mit einer weiteren Platten konvertiert werden soll.
Die 4 Platten im Raid5 sind SDA1, SDB1, SDC1, SDD1
Die eine Platte die für das Raid6 dazu kommt ist SDE1
umount /dev/md0
mdadm --add /dev/md0 /dev/sde1
echo raid6 > /sys/block/md0/md/level
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
Ersetzten einer defekten Platten (Raid1/10/5/6)
Hier gehen wir davon aus das /dev/sdb defekt ist.
mdadm --manage /dev/md0 --fail /dev/sdb1 mdadm /dev/md0 --remove /dev/sdb1
Die Festplatte die defekt ist aus dem Server ausbauen und gegen eine neue ersetzten mit dem gleichen Speicherplatz bzw. einer größeren.
Bei Geräten die nicht Hotplug fähig sein muss der Server runtergefahren werden.
Neue Platte so partitionieren das sie zum Rest der Platten im Raid passt.
Es könnte sein das man dem Kernel die Platte danach neu einlesen muss.
sda = bestehende Platte im Raid
sdb = defekte, jetzt neue Platte
dd if=/dev/sda of=/dev/sdb bs=512 count=1 sfdisk -d /dev/sda > /dev/sdb partprobe
Danach werden die Daten im Raid neu synchronisiert.
mdadm /dev/md0 --add /dev/sdb1
Dies ist nur nötig wenn sich die Laufwerks-benennung ändert.
Also wenn zB. sdb1 ausgefallen ist und gegen sdn1 ersetzt wird.
Es kann aber nicht schaden wenn dies einmal ausgeführt wird.
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
Entfernen des Mounts LVM usw…
mdadm --stop /dev/md[X] mdadm --zero-superblock /dev/sd[X] mdadm --zero-superblock /dev/sd[Y] mdadm --zero-superblock /dev/sd[Z] ... ...