Заменил однажды нерабочий диск в программном RAID1, добавил его в рейд, он успешно синхронизировался, установил GRUB.
Через некоторое время получил email сообщение:
Subject: Cron <root@server> /usr/sbin/raid-check WARNING: mismatch_cnt is not 0 on /dev/md2
В моем случае raid-check обнаружил что счетчик mismatch_cnt не равняется 0 для /dev/md2, а это может говорить о том что на диске возможно есть битые сектора, либо его просто нужно пересинхронизировать. Так как я установил GRUB после добавления диска в рейд, то это скорее и является причиной.
Пример просмотра счётчиков всех массивов:
cat /sys/block/md*/md/mismatch_cnt
Или каждого по очереди:
cat /sys/block/md0/md/mismatch_cnt cat /sys/block/md1/md/mismatch_cnt cat /sys/block/md2/md/mismatch_cnt
Просмотр состояния рейдов:
cat /sys/block/md*/md/sync_action
Если mismatch_cnt не равно 0 для какого либо массива, то можно попробовать его ресинхронизировать:
echo 'repair' >/sys/block/md2/md/sync_action
И проверить:
echo 'check' >/sys/block/md2/md/sync_action
Если понадобится отменить действие:
echo 'idle' >/sys/block/md2/md/sync_action
Посмотрим статус синхронизации и прочие данные массива:
cat /proc/mdstat
Если ошибки появляются из-за плохого диска, рекомендую посмотреть SMART и проверить его как я писал в этих статьях:
Диагностика HDD используя smartmontools
Тест диска в Linux на наличие ошибок и битых секторов
Смотрите также:
Решение проблемы с выпавшими дисками mdadm