Johannes Truschnigg jun.
- Geburtsdatum: 28. 08. 1985
- Herkunft: Bezirk Leoben, Österreich
- Formale Bildung: Matura (Realgymnasium)
- Familienstand: in zarten Händen
- Beschäftigung: Student, AHS-Lehrer
- Nichtraucher: ja
- Grundwehrdienst abgeleistet: ja
- Führerscheininhaber: ja
- Besondere Interessen: Freie Software, GNU/Linux, UNIX-artige Systeme, Skriptprogrammiersprachen, Systemoptimierung
Eintrag von 2008-07-15
▶ Kurztipp: Linux SoftRAID Resync beschleunigen
Gerade eben habe ich begonnen, CentOS 5.2 auf einen neuen Server zu installieren, wobei eine RAID1-Konfiguration mithilfe von md, dem RAID-Backend des Linux-Kernels, zum Einsatz kommt. Ein solches RAID-Array wird, je nach RAID-Level, beim Erstellen durch den Treiber synchronisiert - sodass sichergestellt ist, dass alle Volumes genau die Daten enthalten, die sie auch enthalten sollen.
Diesen Vorgang nennt man Resync bzw. Rebuild - und er kann ganz schön lange dauern: das von mir erstellte 950GB-Volume, das eine LVM2-Volume Group aufnehmen sollte, hätte mit der ursprünglichen Resync-Geschwindigkeit von etwa 800kb/s fast eineinhalb Tage gedauert, was mir natürlich inakzeptabel schien.
Nach kurzem Umsehen im unter /sys gemounteten sysfs war auch schnell klar, wo der Hund begraben lag: Die maximale Geschwindigkeit, mit der der Resync stattfinden durfte, war auf 1MByte/s beschränkt. Mit einem Plattensetup, das gut und gerne 110MByte/s sequentiell zu schreiben vermag, ist das natürlich unvernünftig. Mit einem schnellen
# for array in /sys/block/md*/md/sync_speed_max;
> do echo 1000000 > "${array}";
> done
war die Limitation (für alle im System aktiven md-Arrays) aufgehoben, und nach deutlich weniger als drei Stunden konnte man sich über das konsistente Array freuen.
So soll es sein.
© 2007-2008 Johannes Truschnigg | Design by Andreas Viklund (modified) | valid xhmtl & css