====== Einfaches Beispiel Software RAID 1 ====== ===== Voraussetzung ===== Laufendes Linuxsystem auf einer Festplatte, zusätzliche mindestens gleich große zweite neue Festplatte. Zum Testen können auch zwei Partitionen auf der selben Festplatte genutzt werden. ===== Partitionierung ===== Große Partition für RAID und kleine für Swap auf der zweiten Festplatte anlegen. Vorsichtshalber betroffene Blockdevices wipen: wipefs -af /dev/sda4 ==== RAID Partition taggen ==== parted /dev/sda set 4 raid on fdisk -l /dev/sda | grep -i raid gibt aus: /dev/sda4 63500288 126414847 31457280 fd Linux raid autodetect bzw. /dev/sda4 851968 30212095 29360128 14G Linux RAID ===== Pakete installieren ===== === Debian (ab 9) ==== apt install mdadm Autoerkennung auf ''none'' stellen. === CentOS (8) ==== dnf install mdadm ===== RAID 1 anlegen ===== ((falls die Blockdevices zuvor schon verwendet wurden sicherheitshalber: mdadm --zero-superblock /dev/sda2 mdadm --zero-superblock /dev/sda4 )) mdadm --create /dev/md0 --level=1 --raid-devices=2 --assume-clean /dev/sda2 /dev/sda4 watch cat /proc/mdstat mkfs.ext4 /dev/md0 mkdir /mnt/md0 mount /dev/md0 /mnt/md0 ====== Ausfall einer Platte simulieren ====== mdadm /dev/md0 --fail /dev/sda2 cat /proc/mdstat mdadm /dev/md0 --remove /dev/sda2 cat /proc/mdstat Wiederherstellen: mdadm /dev/md0 --add /dev/sda2 watch cat /proc/mdstat ====== RAID 1 zu RAID 5 erweitern ====== RAID 1 in RAID 5 konvertieren: mdadm --grow /dev/md0 --level=5 mdadm --detail /dev/md0 Platte als Spare hinzufügen: mdadm /dev/md0 --add /dev/vdd1 mdadm --detail /dev/md0 Platte aktivieren: mdadm --grow /dev/md0 --raid-devices=3 watch cat /proc/mdstat Dateisystem erweitern: resize2fs /dev/md0 ====== Platte ersetzen, bevor sie ausgefallen ist ====== mdadm /dev/md0 --add-spare /dev/sda3 cat /proc/mdstat mdadm /dev/md0 --replace /dev/sda2 watch cat /proc/mdstat Resync läuft mit angezogener Handbremse, um dem normalen I/O nicht im Weg zu sein. Beschleunigen mit: # Mindestens mit 100 MB/s syncen, ohne Rücksicht echo 100000 >/proc/sys/dev/raid/speed_limit_min # Niemals mit mehr als 200 MB/s syncen echo 200000 >/proc/sys/dev/raid/speed_limit_max ====== Bestehendes System auf Software RAID 1 migrieren ====== ===== Voraussetzung ===== Laufendes Linuxsystem auf einer Festplatte, zusätzliche mindestens gleich große zweite neue Festplatte. Zum Testen können auch zwei Partitionen auf der selben Festplatte genutzt werden. ===== Partitionierung ===== Große Partition für RAID und kleine für Swap auf der zweiten Festplatte anlegen. ==== RAID Partition taggen ==== parted /dev/sda set 4 raid on fdisk -l | grep 'Linux raid autodetect' /dev/sda4 63500288 126414847 31457280 fd Linux raid autodetect ===== Pakete installieren ===== === Debian 7 ==== apt-get install mdadm Autoerkennung auf ''ALL'' stellen. ===== RAID 1 anlegen ===== mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sda4 mkfs.ext4 /dev/md0 mkdir /mnt/md0 mount /dev/md0 /mnt/md0 mkdir /tmp/system mount --bind / /tmp/system mount --bind /boot /tmp/system/boot/ cp -a /tmp/system/. /mnt/md0 (( alternativ: rsync -a --del /tmp/system/ /mnt/md0 )) umount /tmp/system cd /mnt/md0 mount --rbind /dev dev mount --bind /proc proc mount --bind /sys sys chroot . mdadm --incremental --rebuild-map grub-mkdevicemap -n update-grub update-initramfs -u logout reboot mdadm --manage --add /dev/md/0 /dev/sda2 watch cat /proc/mdstat ====== Doku ====== * https://www.thomas-krenn.com/de/wiki/Unterschiede_zwischen_Hardware_RAID_und_Linux_Software_RAID * http://www.thomas-krenn.com/de/wiki/Linux_Software_RAID