Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi2:raid [2013/12/10 14:05] ingo_wichmann angelegt |
lpi2:raid [2025/02/04 15:43] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== 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 Partitionen taggen ==== | ||
+ | parted /dev/sda set 4 raid on | ||
+ | … | ||
+ | |||
+ | fdisk -l /dev/sda | grep -i raid | ||
+ | -> gibt aus: | ||
+ | <file txt MBR/MSDOS Partitionstabelle> | ||
+ | /dev/sda4 63500288 126414847 31457280 fd Linux raid autodetect | ||
+ | </file> | ||
+ | bzw. | ||
+ | <file txt GPT Partitionstabelle> | ||
+ | /dev/sda4 851968 30212095 29360128 14G Linux RAID | ||
+ | </file> | ||
+ | |||
+ | ===== Pakete installieren ===== | ||
+ | === Debian (ab 9) ==== | ||
+ | apt install mdadm | ||
+ | |||
+ | Autoerkennung auf ''none'' stellen. | ||
+ | |||
+ | === CentOS (ab 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 | ||
+ | (( alternativ: | ||
+ | mkfs.xfs /dev/md0 | ||
+ | )) | ||
+ | mkdir /mnt/md0 | ||
+ | mount /dev/md0 /mnt/md0 | ||
+ | cp -a /usr/share/. /mnt/md0 | ||
+ | |||
+ | ====== Ausfall einer Platte simulieren ====== | ||
+ | ===== Platte entfernen ===== | ||
+ | mdadm /dev/md0 --fail /dev/sda2 | ||
+ | cat /proc/mdstat | ||
+ | mdadm /dev/md0 --remove /dev/sda2 | ||
+ | -> Ergebnis: | ||
+ | cat /proc/mdstat | ||
+ | mdadm --detail /dev/md0 | ||
+ | mdadm --query --examine /dev/sda2 | ||
+ | ===== Wiederherstellen ===== | ||
+ | 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 | ||
+ | |||
+ | ====== 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/vdd1 | ||
+ | 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: (( bei XFS: | ||
+ | xfs_growfs /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 ====== | ||
+ | mdadm /dev/md0 --add-spare /dev/sda3 | ||
+ | cat /proc/mdstat | ||
+ | mdadm /dev/md0 --replace /dev/sda2 | ||
+ | watch cat /proc/mdstat | ||
+ | |||
+ | [[#wiederherstellen_beschleunigen|Beschleunigen s.o.]] | ||
====== Bestehendes System auf Software RAID 1 migrieren ====== | ====== Bestehendes System auf Software RAID 1 migrieren ====== | ||
- | ===== Vorraussetzung ===== | + | ===== 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 57: | Zeile 163: | ||
====== Doku ====== | ====== Doku ====== | ||
- | http://www.thomas-krenn.com/de/wiki/Linux_Software_RAID | + | * 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 | ||