Server dedicat: WARNING: mismatch_cnt is not 0 on

Acest mic tutorial se adreseaza administratorilor de servere dedicate.

Poate vi s-a intamplat sa primiti o eroare sau mai precis un avertisment (Warning) de la /etc/cron.weekly, cronul care ruleaza saptamanal.

De obicei, pe un server dedicat ce ruleaza CentOS Linux, acest cron este setat sa ruleze in weekend, default ruleaza Sambata.

Raportul arata cam asa:

/etc/cron.weekly/99-raid-check:

WARNING: mismatch_cnt is not 0 on /dev/md0

md0 este doar un exemplu, poate fi md1, md2 sau alte astfel de deviceuri. De asemenea, este posibil sa primiti warningul respectiv despre mai multe metadeviceuri odata.

Ce inseamna: inseamna evident ca rulati un software RAID pe acel server dedicat (de aici si meta-deviceurile md0, md1, md2, etc) si mai inseamna ca exista blocuri nesincronizate in acea matrice RAID software.

Cum aflati cat de mari sunt acele blocuri? foarte simplu: rulati comanda:

cat /sys/block/md*/md/mismatch_cnt

si veti avea o lista cu toate valorile din mismatch_cnt pentru meta-deviceurile de pe acel server dedicat. In mod normal ar trebui sa fie toate zero, adica niciun device sa nu aiba blocuri “out of sync”. Dar daca ati primit deja warningul de mai sus, ceva nu este in regula. Outputul comenzii cat de mai sus ar trebui sa arate cam asa:

[root@server~]# cat /sys/block/md*/md/mismatch_cnt
0
0
0
128
256

Metadevice-urile sunt listate in ordine crescatoare in functie de ID-ul metadeviceurilor: md0 prima pozitie, md1 a doua pozitie, md2 a treia pozitie si asa mai departe, astfel incat din ce se afiseaza mai sus, md0, md1 si md2 sunt OK pentru ca au zero blocuri nesincronizate in RAID, iar md3 si md4 au 128 si respectiv 256 de blocuri out of sync.

Ce puteti face? 

Rulati comanda “echo repair >/sys/block/md”X”/md/sync_action” unde inlocuiti “X” cu ID-ul metadeviceului pentru care ati primit warning.

Comanda repair insa nu reseteaza eroare din “/sys/block/md*/md/mismatch_cnt”, daca doriti ca aceasta sa fie resetata atunci trebuie sa rulati:

echo check >/sys/block/md”X”/md/sync_action

Trebuie sa tineti seama ca pe metadeviceuri sau pe HDD-uri de capacitate mare aceste comenzi pot rula destul de mult (10-12 ore sau chiar mai mult) si pot cauza load mare in server.

De asemenea, daca veti constata ca problema este raportata in fiecare saptamana sau foarte des, ar trebui sa rulati si alte softuri de testare a HDD-urilor de pe acel server pentru ca poate fi o problema fizica.