При сообщении “Raid md0 is down” или другом сообщении свидетельствующем о проблемах с RAID-массивом необходимо провести диагностику и если ситуация  связана с неисправным диском, то необходимо заменить диск в массиве.

 

1) Заходим на сервер и проверяем тип RAID массива(что он софтварный), проверяем его состояние:

# cat /proc/mdstat

 

Если один из дисков неисправен, то рядом с неисправным диском будет флаг (F) - fail, статус массива degraded, статус дисков будет с пробелом, например вида: [UU_U]

 

1.1) Смотрим почему зафейлился диск:

       # mdadm --query --detail /dev/mdX

 

2) Далее удаляем сбойный диск из массива(вместо X подставить номера):

# sudo mdadm /dev/mdX -r /dev/sdX

Если в каком-то из массивов диск не зафейлился, то перед удалением фейлим его вручную:

# sudo mdadm /dev/mdX -f /dev/sdX

 

3) Далее если жесткий диск не подписан в корзине сервера, то определяем его положение командой:

# dd if=/dev/sdX of=/dev/null

При этом индикатор жесткого диска будет постоянно гореть.

 

4) После этого заменяем диск на новый, предварительно переписав серийный номер нового диска.

 

5) Проверяем, что новый диск виден системой и запоминаем его имя:

# sudo fdisk -l

 

6) Проверяем какая именно разметка используется для дисков, для этого смотрим вывод команды одного из исправного диска:

# sudo fdisk /dev/sdX -l

Если будет выведено предупреждение WARNING: GPT (GUID Partition Table) detected, значит используется GPT.

также разметку диска можно проверить командой:

# sudo gdisk -l /dev/sdX

 

7) Далее копируем на новый диск таблицу разделов с любого исправного диска:

# sudo sfdisk -d /dev/sdX | sudo sfdisk --force /dev/sdY

где /dev/sdX1 - диск источник таблицы, /dev/sdX2 - новый диск

 

Для таблицы GPT команда копирования таблицы(!!! ОБРАТИ ВНИМАНИЕ, ЧТО СНАЧАЛА УКАЗАН ДИСК НА КОТОРЫЙ КОПИРУЕТСЯ РАЗДЕЛ):

# sudo sgdisk -R /dev/sdY /dev/sdX

# sudo sgdisk -G /dev/sdY

 

8) Для таблицы GPT проверим правильность копирования таблицы разделов:

# sudo gdisk /dev/sdY

 

9) Добавим раздел /dev/sdY1 на новом диске /dev/sdY в массив /dev/mdX:

# sudo mdadm /dev/mdX -a /dev/sdY1

 

После чего начнется автоматическое восстановление массива.

 

10) Следить за статусом восстановления можно:

# watch cat /proc/mdstat

11) Если на данном RAID массиве установлена система, то необходимо установить загрузчик на новый диск, для установки GRUB2:

# sudo grub-install /dev/sdY

# sudo update-grub

12) Проверяем корректность установки загрузчика на новый диск:

 #sudo hd -n 512 /dev/sdY |less

 

++++++++++++++++++++++++++++++++++++-

! Если для раздела swap был использован RAID массив, то после замены диска с выключением сервера, статус массива будет: inactive и при попытке добавить раздел в swap массив будет возникать ошибка:

mdadm: Cannot get array info for /dev/mdX

 

Для решения данной ситуации:

# sudo mdadm --stop /dev/mdX

# sudo mdadm --assemble --scan

 

и добавляем раздел в swap массив:

# sudo mdadm --manage /dev/mdX --add /dev/sdY2