CentOS 7. Замена диска в raid.

· 2 минуты на чтение

Пришло грустное письмо:

This message was generated by the smartd daemon running on:
   host name:  lanmaster
   DNS domain: su
The following warning/error was logged by the smartd daemon:
Device: /dev/sda [SAT], 8 Currently unreadable (pending) sectors
Device info:
TOSHIBA HDWD110, S/N:Y5DA3S0FS, WWN:5-000039-fe7c499c2, FW:MS2OA8J0, 1.00 TB

Запуск самодиагностики диска показал, что в письме правда. Придется менять диск. Купил такой же по геометрии, маркировке и емкости, какой был. Дальше выключил сервер и полез гуглить, как это все делается.

Параметры сервера: есть четыре гнезда под диски:
1 - /dev/sda
2- /dev/sdc (не помню уже, зачем перепутаны местами sdb и sdc, но пусть будет так)
3- /dev/sdb - сам по себе, не состоит в raid
4 - пусто

Зачем-то сразу заменил дохлый диск на новый в первом гнезде. Сервер отказался запускаться, якобы не может загрузиться с диска. Ну логично вроде бы, ведь загрузка шла как раз с /dev/sda. Переставил бывший sda из второго гнезда в первый. Во второй док поставил новый диск.
Загрузилось. Теперь виден degraded raid, состоящий из sda (помним, что это бывший sdc).

Дальше делал по инструкциям: тут и тут
Инфа по разделам на райде - просто смотрим

mdadm --detail /dev/md0
mdadm --detail /dev/md1
mdadm --detail /dev/md2

Смотрим таблицы разделов

[root@lanmaster ~]# sfdisk -l /dev/sda
Диск /dev/sda: 121601 цилиндров, 255 головок, 63 секторов/дорожку
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Устр-во Загр   Нач   Конец    #цил     #блоки   Id  Система
/dev/sda1   *      0+     63-     64-    512000   fd  Автоопределение Linux raid
/dev/sda2         63+ 113952- 113889- 914808832   fd  Автоопределение Linux raid
sfdisk:                 конец: (c,h,s) ожидалось (1023,254,63) найдено (288,76,44)

/dev/sda3     113952+ 115329-   1377-  11059200   fd  Автоопределение Linux raid
/dev/sda4          0       -       0          0    0  Пустой

[root@lanmaster ~]# sfdisk -l /dev/sdc
Диск /dev/sdc: 121601 цилиндров, 255 головок, 63 секторов/дорожку

Бэкапим таблицы разделов и создаем на sdc такие же разделы, как на sda.
Создать бэкап:

sfdisk --dump /dev/sda > /home/alexander/2021-04-29/sda_parttable_mbr.bak

Восстановить бэкап на  /dev/sdc:

cat /home/alexander/2021-04-29/sda_parttable_mbr.bak | sfdisk /dev/sdc

Подключаем разделы на sdc в рэйд в соответствующие разделы md:

mdadm /dev/md0 -a /dev/sdc1
mdadm /dev/md1 -a /dev/sdc2
mdadm /dev/md2 -a /dev/sdc3

Теперь новый диск является частью массива. Синхронизацию дисков вы можете увидеть, введя команду:

cat /proc/mdstat
или
watch -n 2 cat /proc/mdstat

Нужно еще загрузчик установить на новый диск, это уже после синхронизации массива. Брал отсюда:

grub2-install /dev/sdc

После перестановки дисков массива местами - система загружается и работает, команда cat /proc/mdstat показывает массив в исправном состоянии:

Personalities : [raid1]
md2 : active raid1 sda3[1] sdc3[0]
      11059136 blocks [2/2] [UU]

md1 : active raid1 sda2[1] sdc2[0]
      914808768 blocks [2/2] [UU]
      bitmap: 2/7 pages [8KB], 65536KB chunk

md0 : active raid1 sda1[1] sdc1[0]
      511936 blocks [2/2] [UU]