Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi2:raid [2024/08/16 09:05] ingo_wichmann |
lpi2:raid [2025/02/04 15:43] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Einfaches Beispiel Software RAID 1 ====== | + | ====== Beispiel Software RAID 1 ====== |
===== Voraussetzung ===== | ===== Voraussetzung ===== | ||
Laufendes Linuxsystem auf einer Festplatte, zusätzliche mindestens gleich große zweite neue Festplatte. | Laufendes Linuxsystem auf einer Festplatte, zusätzliche mindestens gleich große zweite neue Festplatte. | ||
Zeile 11: | Zeile 11: | ||
wipefs -af /dev/sda4 | wipefs -af /dev/sda4 | ||
- | ==== RAID Partition taggen ==== | + | ==== RAID Partitionen taggen ==== |
parted /dev/sda set 4 raid on | parted /dev/sda set 4 raid on | ||
+ | … | ||
fdisk -l /dev/sda | grep -i raid | fdisk -l /dev/sda | grep -i raid | ||
- | gibt aus: | + | -> gibt aus: |
- | <file> | + | <file txt MBR/MSDOS Partitionstabelle> |
/dev/sda4 63500288 126414847 31457280 fd Linux raid autodetect | /dev/sda4 63500288 126414847 31457280 fd Linux raid autodetect | ||
</file> | </file> | ||
bzw. | bzw. | ||
- | <file> | + | <file txt GPT Partitionstabelle> |
/dev/sda4 851968 30212095 29360128 14G Linux RAID | /dev/sda4 851968 30212095 29360128 14G Linux RAID | ||
</file> | </file> | ||
Zeile 30: | Zeile 31: | ||
Autoerkennung auf ''none'' stellen. | Autoerkennung auf ''none'' stellen. | ||
- | === CentOS (8) ==== | + | === CentOS (ab 8) ==== |
dnf install mdadm | dnf install mdadm | ||
===== RAID 1 anlegen ===== | ===== RAID 1 anlegen ===== | ||
Zeile 39: | Zeile 40: | ||
mdadm --create /dev/md0 --level=1 --raid-devices=2 --assume-clean /dev/sda2 /dev/sda4 | mdadm --create /dev/md0 --level=1 --raid-devices=2 --assume-clean /dev/sda2 /dev/sda4 | ||
watch cat /proc/mdstat | watch cat /proc/mdstat | ||
- | mkfs.ext4 /dev/md0 | + | mkfs.ext4 /dev/md0 |
+ | (( alternativ: | ||
+ | mkfs.xfs /dev/md0 | ||
+ | )) | ||
mkdir /mnt/md0 | mkdir /mnt/md0 | ||
mount /dev/md0 /mnt/md0 | mount /dev/md0 /mnt/md0 | ||
+ | cp -a /usr/share/. /mnt/md0 | ||
====== Ausfall einer Platte simulieren ====== | ====== Ausfall einer Platte simulieren ====== | ||
+ | ===== Platte entfernen ===== | ||
mdadm /dev/md0 --fail /dev/sda2 | mdadm /dev/md0 --fail /dev/sda2 | ||
cat /proc/mdstat | cat /proc/mdstat | ||
mdadm /dev/md0 --remove /dev/sda2 | mdadm /dev/md0 --remove /dev/sda2 | ||
+ | -> Ergebnis: | ||
cat /proc/mdstat | cat /proc/mdstat | ||
+ | mdadm --detail /dev/md0 | ||
mdadm --query --examine /dev/sda2 | mdadm --query --examine /dev/sda2 | ||
- | Wiederherstellen: | + | ===== Wiederherstellen ===== |
mdadm /dev/md0 --add /dev/sda2 | mdadm /dev/md0 --add /dev/sda2 | ||
+ | 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 | watch cat /proc/mdstat | ||
- | mdadm --query --examine /dev/sda2 | ||
====== RAID 1 zu RAID 5 erweitern ====== | ====== RAID 1 zu RAID 5 erweitern ====== | ||
Zeile 58: | Zeile 78: | ||
mdadm --grow /dev/md0 --level=5 | mdadm --grow /dev/md0 --level=5 | ||
mdadm --detail /dev/md0 | mdadm --detail /dev/md0 | ||
- | Platte als Spare hinzufügen: | + | Platte hinzufügen: |
mdadm /dev/md0 --add /dev/vdd1 | mdadm /dev/md0 --add /dev/vdd1 | ||
mdadm --detail /dev/md0 | mdadm --detail /dev/md0 | ||
+ | -> ''Raid Level : raid5'' | ||
+ | -> ''Active Devices : 2'' | ||
Platte aktivieren: | Platte aktivieren: | ||
mdadm --grow /dev/md0 --raid-devices=3 | mdadm --grow /dev/md0 --raid-devices=3 | ||
+ | mdadm --detail /dev/md0 | ||
+ | -> ''Active Devices : 3'' | ||
watch cat /proc/mdstat | watch cat /proc/mdstat | ||
- | Dateisystem erweitern: | + | Dateisystem erweitern: (( bei XFS: |
+ | xfs_growfs /dev/md0 | ||
+ | )) | ||
resize2fs /dev/md0 | 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 ====== | ====== Platte ersetzen, bevor sie ausgefallen ist ====== | ||
Zeile 75: | Zeile 104: | ||
watch cat /proc/mdstat | watch cat /proc/mdstat | ||
- | Resync läuft mit angezogener Handbremse, um dem normalen I/O nicht im Weg zu sein. Beschleunigen mit: | + | [[#wiederherstellen_beschleunigen|Beschleunigen s.o.]] |
- | + | ||
- | # 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 ====== | ====== Bestehendes System auf Software RAID 1 migrieren ====== | ||
===== Voraussetzung ===== | ===== Voraussetzung ===== |