Start FAQ Software Linux allgemein Ext4 und RAID5 Performance Probleme
Ext4 und RAID5 Performance Probleme PDF Drucken E-Mail
Geschrieben von: Administrator   
Mittwoch, den 10. August 2016 um 13:05 Uhr

Ext4 und RAID5 Performance Probleme

 

Es geht mal wieder um Software-Raid (5)

 

Ich fahre hier seit über 10 Jahren Software-Raid 1 und 5 und habe noch nie grössere Probleme gehabt.

 

Vor Kurzem habe ich mein Software Raid neu gebaut um bessere Performance zu bekommen aber das ist gar nicht so einfach.

 

Die KonfiguratioN: 6x 2TB WD-RE4 (24/7 Betrieb)

 

Zuerst einmal habe ich mein Raid neu gebaut:

/dev/md2 aushängen und raid stoppen: (mdadm --stop /dev/md2)

Dann das raid neu bauen. Hierbei ist zu beachten das man wegen der Performance die Blocksize und Chunksize berücksichtigt.

 

mdadm --create --level=5 --raid-devices=6 --chunk=512 /dev/md2 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdh1 /dev/sdi1 /dev/sdj1

Dann wird das Raid ernstellt.

 

Das kann bei einer Nettokapazität von 9.1 TB in meinem Fall mehrere Stunden dauern (ca. 430Min) zeigt die Software auf der Konsole an.

 

Nachdem das Raid erstellt war muss man ein Filesystem darauf anlegen.
Hier sind ebenfalls die Parameter und die Chunk-size aus dem Raid darunter wichtig.


mkfs.ext4 -b 4096 -E stride=128,stripe-width=1280

Damit wird das Dateisystem erstellt. Die Werte habe ich über einen Raid5-Rechner im Internet berechnet.

 

Danach wird die UUID des Dateisystems ausgelesen und in der fstab geändert:

 

mit dem Befehl "blkid" liest man die UUID aus und ändert in der /etc/fstab den Eintrag für das neue Dateisystem, damit beim nöchsten Rechnerstart die Festplatte bzw Raid-Partition richtig eingeängt wird.

Zusätzlich gibt es noch ein paar Mountoptionen für ext4:

Eintrag in der /etc/fstab:

/dev/md2 /  ext4 noatime,nodiratime,data=writeback,barrier=0,errors=remount-ro      1   1

Durch die Para,eter noatime und nodiratime werden die Datenblöcke aus Performance-Gründen Zeitversetzt geschrieben und das Journal im "write-back" Modus auf die Platte geschrieben.

Damit gewinnt man Performance da das System nicht immer alle Inodes und Verzeichniseinträge syncron mit dem Plattenzugriffen aktuell halten muß.

 

Zum Testen kann man das Verzeichnis auch per Hand mounten:  mount -t ext4 -o noatime,nodiratime,data=writeback,barrier=0,errors=remount-ro /dev/md2 /raid2

 

Um den IO-Durchsatz zu testen habe ich mit dd eine Testdate erzeugt:

 

dd if=/dev/zero of=/raid2/testdat.dat bs=1024M Count=1

 

Damit wird einem dann angezeigt wie schnell die Daten auf die Platten geschrieben werden.
Ich habe den Test mit verschiedenen Dateigrößen wiederholt um das beste Ergebnis zu bekommen.

256MB
512MB
1024MB
2048 MB
4096 MB

 

Dabei kamen sehr unterschiedliche Werte heraus.

Es kommt auch immer darauf an für welchen Einsatz-Zweck das Raid benötigt wird.
Ich benötige es hauptsächlich um große Dateien darauf zu speichern (Iso-Files und Virtuelle Maschinen).

 

Viel Spass beim Ausprobieren.

 

Euer Admin

 

 

 

Powered by hardwarecrash Valid XHTML and CSS.