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-2020 Johannes Truschnigg | valid xhmtl & css