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
Automatisch und persistent (dauerhaft)
- Öffnen der fstab mit dem Editor vi.
# vi /etc/fstab
- Eintrag für das RAID vornehmen.
- 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="ausgelesene UUID" TYPE="Art_des_Dateisystems"
Ü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/