Mdadm Howto
Zur Navigation springen
Zur Suche springen
Einrichten
Installation
- apt-get install mdadm
Raid 0
- mdadm -C /dev/md0 -l 0 -n 2 /dev/vda5 /dev/vda6
Raid 1
- mdadm -C /dev/md1 -l 1 -n 2 /dev/vda7 /dev/vda8
Raid 5
- mdadm -C /dev/md2 -l 5 -n 3 /dev/vda9 /dev/vda10 /dev/vda11
Raid 10
- mdadm -C /dev/md3 -l 10 -n 4 /dev/vda12 /dev/vda13 /dev/vda14 /dev/vda15
Mit Sparedisks
- mdadm -C /dev/md3 -l 10 -n 4 -x 2 /dev/vda12 /dev/vda13 /dev/vda14 /dev/vda15 /dev/vdb1 /dev/vdb2
Mountpoints erzeugen
- mkdir /mnt/raid{0,1,5,10}
Dateisystem aufbringen
- mkfs.ext4 /dev/md0
- mkfs.ext4 /dev/md1
- mkfs.ext4 /dev/md2
- mkfs.ext4 /dev/md3
Mounten
- mount /dev/md0 /mnt/raid0
- mount /dev/md1 /mnt/raid1
- mount /dev/md2 /mnt/raid5
- mount /dev/md3 /mnt/raid10
Verfügbarer Speicher
- df -h -t ext4
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/vda1 50G 25G 23G 53% / /dev/md0 20G 24K 19G 1% /mnt/raid0 /dev/md1 9,8G 24K 9,3G 1% /mnt/raid1 /dev/md2 20G 24K 19G 1% /mnt/raid5 /dev/md3 20G 24K 19G 1% /mnt/raid10
Geschwindigkeitsmessung
- dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
Kontrolle
- cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md3 : active raid10 vda15[3] vda14[2] vda13[1] vda12[0] 20953088 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] [=============>.......] resync = 68.4% (14344640/20953088) finish=0.5min speed=202328K/sec md2 : active raid5 vda11[3] vda10[1] vda9[0] 20953088 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] md1 : active raid1 vda8[1] vda7[0] 10476544 blocks super 1.2 [2/2] [UU] md0 : active raid0 vda6[1] vda5[0] 20953088 blocks super 1.2 512k chunks
Bootvorgang
- Entweder wird die Konfiguration im Persistent Superlock ausgelesen
- oder in der Konfigurationsdatei /etc/mdadm/mdadm.conf
- Raid Funktion ist in der Regel in der Ramdisk vorhanden
- Es werden bei 0xFD Partitionstyp die Partitionen automatisch zu md-Devices assembliert und gestartet
Manuelles Zusammenbauen
- mdadm -A /dev/md0 /dev/vda5 /dev/vda6
- mdadm -A /dev/md1 /dev/vda7 /dev/vda7
- mdadm -A /dev/md2 /dev/vda9 /dev/vda10 /dev/vda11
- mdadm -A /dev/md3 /dev/vda12 /dev/vda13 /dev/vda14 /dev/vda15
Erstellen der Datei /etc/mdadm/mdadm.conf
- Normalerweise nicht notwendig
- cd /etc/mdadm
- echo 'DEVICE /dev/vd*[0-15] ' > mdadm.conf
- mdadm --detail --scan >> mdadm.conf
Arbeiten am Raid
Partition fehlerhaft setzen
- mdadm /dev/md1 -f /dev/vda8
Partition entfernen
- mdadm /dev/md1 --remove /dev/vda8
Partition hinzufügen
- mdadm /dev/md1 -a /dev/vda16
Raid stoppen
- umount /mnt/raid0
- mdadm -S /dev/md0
Raid wieder starten
- mdadm -A /dev/md0 /dev/vda5 /dev/vda6
- mount -t ext4 /dev/md0 /mnt/raid0
Raid Info
- mdadm -D /dev/md0
/dev/md0: Version : 1.2 Creation Time : Thu Mar 3 09:55:06 2022 Raid Level : raid0 Array Size : 20953088 (19.98 GiB 21.46 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Thu Mar 3 09:55:06 2022 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Layout : -unknown- Chunk Size : 512K Consistency Policy : none Name : debian-template:0 (local to host debian-template) UUID : 3b7816b2:787704c6:db24d9de:55dbcfe8 Events : 0 Number Major Minor RaidDevice State 0 254 5 0 active sync /dev/vda5 1 254 6 1 active sync /dev/vda6
Superblock untersuchen
Dieser liegt redundant auf allen Partionen des Raid
- mdadm -E /dev/vda7
/dev/vda7: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 1568fb90:9dd8bc83:f06bc9fe:2dcba200 Name : debian-template:1 (local to host debian-template) Creation Time : Thu Mar 3 09:58:15 2022 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 20953088 (9.99 GiB 10.73 GB) Array Size : 10476544 (9.99 GiB 10.73 GB) Data Offset : 18432 sectors Super Offset : 8 sectors Unused Space : before=18280 sectors, after=0 sectors State : clean Device UUID : 8e4801ba:56f5569e:8e03aa0e:e73190c6 Update Time : Thu Mar 3 10:33:11 2022 Bad Block Log : 512 entries available at offset 136 sectors Checksum : 360eb7a9 - correct Events : 45 Device Role : Active device 0 Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
Scanne alle Partitionen und Devices und baue sie zu md0 sofern im Superblock 0 aufgeführt
- mdadm -Ac partitions -m 0 /dev/md0
Scanne alle Partitionen und Devices und baue sie zu md1 sofern im Superblock 1 aufgeführt
- mdadm -Ac partitions -m 1 /dev/md1
Konfiguration updaten
- mdadm -Ds > /etc/mdadm.conf
Superblock löschen
- mdadm --zero-superblock /dev/vda8
Partition anschalten
- mdadm --run /dev/sd11
Partition schreibbar setzen
- mdadm --readwrite /dev/sd11
Synchronisationsgeschwindigkeit anzeigen
- cat /proc/sys/dev/raid/speed_limit_max
200000 cat /proc/sys/dev/raid/speed_limit_min 1000
erhöhen
echo 50000 > /proc/sys/dev/raid/speed_limit_min