Linux/Software-RAID/Anlegen
Das Hauptwerkzeug für alle Arbeiten an Software-RAIDs unter Linux ist mdadm.
mdadm
- mdadm bildet die Schnittstelle zu den RAID-Funktionen des Kernels.
- Hiermit werden auch RAID-Verbunde erstellt.
RAID anlegen
- Z.B über zwei Partitionen.
# mdadm --create /dev/Name_des_RAIDs --auto md --level=RAID-Level --raid-devices=Anzahl_der_Partitionen /dev/Name_der_Partition /dev/Name_der_Partition
Dateisystem
- Um den RAID-Verbund als Datenträger zu nutzen, muss noch ein Dateisystem erstellt werden, z.B. ext4.
Anlegen
# mkfs.ext4 /dev/Name_des_RAIDs
Komplexe RAIDs
- Bei komplexeren Verbunden wie RAID 0, 5, 6 oder 10 sollte auf das optimale Alignment geachtet werden, um optimale Leistung zu ermöglichen.
# mkfs.ext4 -b 4096 -E stride=128,stripe-width=384 /dev/Name_des_RAIDs
RAID mounten
- Das RAID muss noch in die Verzeichnisstruktur eingebunden werden.
- Dies geschieht einfach mittels mount, z.B. am Mountpunkt /media/daten.
Manuell und transient (nicht dauerhaft)
# mount /dev/Name_des_RAIDs /media/daten
- /etc/fstab: static file system information.
- Use 'blkid' to print the universally unique identifier for a
- device; this may be used with UUID= as a more robust way to name devices
- that works even if disks are added and removed. See fstab(5).
- <file system> <mount point> <type> <options> <dump> <pass>
- / was on /dev/sda1 during installation
UUID=940fc6a2-bbc9-4020-ad11-bea2721bba69 / ext4 errors=remount-ro 0 1
- /home was on /dev/sda8 during installation
UUID=4e4a388b-1ecc-409c-a9c6-6da2a3f69cd4 /home ext4 defaults 0 2
- /tmp was on /dev/sda7 during installation
UUID=24907f66-9ee1-4d35-8e8c-de96c6e01bfe /tmp ext4 defaults 0 2
- /var was on /dev/sda5 during installation
UUID=1c915f59-82a8-4962-a69c-99e3ea72f472 /var ext4 defaults 0 2
- swap was on /dev/sda6 during installation
UUID=d07a6ea9-3ab0-4f96-a9d8-f381b65cdf19 none swap sw 0 0 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Automatisch und persistent (dauerhaft)
- Besser man verwendet die UUID, diese ist absolut eindeutig.
UUID=ausgelesene UUID /media/daten ext4 defaults 0 2
UUID auslesen
# blkid –c /dev/Name_des_RAIDs
/dev/Name_des_RAIDs: UUID="e5e4d736-b1a8-4400-bda6-1a4c44bbe783" TYPE="ext4"
Über Ausfälle per E-Mail benachrichtigt werden
- Dafür muss für mdadm eine Konfigurationsdatei erstellt werden.
- Mehr Info: mdadm.conf
mdadm.conf erstellen
# su -c "/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf"
mdadm.conf editieren
- In der mdadm.conf muss dafür in der Zeile...
MAILADDR root
- ...root durch die gewünschte E-Mail-Adresse ersetzt werden.
MAILADDR xzy@abc.org
- Dafür muss der E-Mail-Versand durch das System eingerichtet sein, z.B. via Postfix als Satellitensystem.
RAID-Optimierung
Datenträger-Cache
- Bei einem Software-RAID ist es empfehlenswert den Schreib-Cache von Datenträger zu deaktivieren, um bei einem Stromausfall keinen Datenverlust zu erleiden.
- Ausnahme sind dabei SSDs mit integrierten Kondensatoren, die den Cache-Inhalt bei einem Stromausfall noch auf den Flash-Speicher schreiben (z.B. Intel DC S3510 Series SSDs).
Status Datenträger-Cache überprüfen
- Überprüfen, ob der Write-Cache einer Datenträger aktiviert oder deaktiviert ist. Hier bei der Datenträger sda.
# hdparm -i /dev/sda
Model=INTEL SSDMCEAC060B3, FwRev=LLLi, SerialNo=CVLI303201QK060K Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSec=16 CurrCHS=16383/16/63, CurSecs=16514064, LBA=yes, LBAsects=117231408 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=yes: unknown setting WriteCache=enabled Drive confirms to: unknown: ATA/ATAP-2,3,4,5,6,7 * signifies the current active mode
- WriteCache=enabled: Datenträger-Cache ist hier also zur Zeit aktiviert.
Datenträger-Cache deaktivieren
- Mit einem Editor die Konfigurationsdatei von hdparm unter /etc/hdparm.conf öffnen, z.B. mit vim.
- Dort in der Zeile #write_cache = off Auskommentierung aufheben und Änderung speichern.
# -W Disable/enable the IDE drive's write-caching feature write_cache = off
- Nach einem Systemneustart sieht das Ergebnis wie folgt aus:
# hdparm -i /dev/sda
Model=INTEL SSDMCEAC060B3, FwRev=LLLi, SerialNo=CVLI303201QK060K Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSec=16 CurrCHS=16383/16/63, CurSecs=16514064, LBA=yes, LBAsects=117231408 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=yes: unknown setting WriteCache=disabled Drive confirms to: unknown: ATA/ATAP-2,3,4,5,6,7 * signifies the current active mode
- Der Datenträger-Cache ist nun deaktiviert.
Anwendung
RAID 1 über zwei Partitionen anlegen
- z.B mit den Partitionen sde1 und sdf1:
# mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sde1 /dev/sdf1
RAID 5 über vier Partitionen anlegen
- z.B. mit den Partitionen sde1, sdf1, sdg1 und sdh1:
# mdadm --create /dev/md0 --auto md --level=5 --raid-devices=4 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
Dateisystem anlegen
# mkfs.ext4 /dev/md0
weitere Artikel zum Thema
Linux:Software-RAID:Fehlerbehebung
Linux:Software-RAID:Komplexe Aufgaben
Linux:Software-RAID:Vorbereitung
Quellen
https://wiki.ubuntuusers.de/Software-RAID/