Назад | Перейти на главную страницу

Как остановить повторную синхронизацию и начать восстановление при программном рейде (mdadm)?

У меня RAID6 на 24 дисках. Рейд был настроен с mdadm, так что это программный рейд. Один из дисков умер, и сервер завис из-за этого, поэтому его пришлось перезагрузить с помощью Power Cycle (выключение + включение).

Когда сервер загрузился, он запустил массив RAID с 23 устройствами и начал операцию повторной синхронизации. Если я правильно понимаю, эта ресинхронизация просто считывает данные со всех дисков и проверяет, все ли в порядке, записи не выполняются. Я могу подтвердить это iostat -m 1 который показывает только чтение.

Итак, я заменил неисправный диск новым и хотел бы запустить REBUILD, чтобы он действительно записывал данные на новое добавленное устройство. Я выполнил следующую команду:

mdadm --add /dev/md0 /dev/sdc # this adds sdc to the array

Все прошло гладко, однако рейд все еще пересинхронизируется, а не восстанавливается. Диск сообщается как резервный (S) в / proc / mdstat, и, вероятно, он ожидает завершения повторной синхронизации, чтобы начать восстановление.

Я должен сказать, что меня не волнует повторная синхронизация, мне нужно немедленно остановить ее и немедленно начать восстановление. Есть ли способ сделать это? Спасибо

Я не мог дождаться решения, все, что я нашел в Интернете, не работало, пока массив был активен. Итак, я остановил массив

mdadm --stop /dev/md0

а затем снова запустил

mdadm --assemble /dev/md0 /dev/sd{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x}

Это фактически остановило повторную синхронизацию и начало перестроение.