support@0x2a.com.ua

Замена нерабочего жесткого диска на RAID 1

Март 4th, 2017

В данной теме «Замена нерабочего жесткого диска на RAID 1» поговорим как легко можно заменить полетевший жесткий диск на вашем raid1 массиве (зеркало).
Чтобы посмотреть какой у вас установлен raid  и работает ли он вообще, используйте

# cat /proc/mdstat

Все изменения мы будем вносить в программный raid1 с нашей рабочей ОС ( на живую так сказать). Если вы увидели у себя нечто подобное как на рисунке выше, то пришло время заменять диск.
Убираем нерабочий ХДД из системы, а можно это сделать выполнив команды для каждого раздела по отдельности:

# mdadm /dev/md0 -r /dev/sdb1
# mdadm /dev/md1 -r /dev/sdb2
# mdadm /dev/md2 -r /dev/sdb3
# mdadm /dev/md3 -r /dev/sdb4

Не всегда может выполнить эти команды ( бывают разные случаи), если появились ошибки не расстраивайтесь, выполняйте все как написано!

Чтобы показать все диски у вашем входящем массиве (допустим в md0):

# mdadm —detail /dev/md0

Есть случаи что жёсткий диск бывает повреждённый частично, например, у него показывается статус [U_] и это только у массива /dev/md0, а все остальные массивы имеют статус [UU] — то есть они работают, то выполните команду для этого случая:

# mdadm /dev/md1 -r /dev/sdb2

Нечего не выйдет, т.к устройство /dev/md1 в норме. Исправить можно командой:

# mdadm —manage /dev/md1 —fail /dev/sdb2

Это даст возможность поменять статус RAID-а на [U_]. Сейчас мы подготовим новый жёсткий диск для нашего рейда1 — это нужно сделать для того что 2 HDD в массиве должны содержать одинаковые разбиения, т.к существует 2 основных типа таблиц для раздела(ов) (GPT и MBR), то нужно использовать нужные программы для копирования этих таблиц разделов между собой.

GPT используют для дисков у которых более 2ТБ (для примера, EX4 и EX6).

Если Вы используете HDD с GPT
На HDD хранится пару копий таблиц разделов GUID (GPT), по этому для того чтобы можно отредактировать их есть программы, которые поддерживают GPT, например такие как parted или такие как GPT fdisk. Программа sgdisk из GPT fdisk (она имеется в Rescue-системе и готова к использованию) которая позволяет простым и удобным способом скопировать вашу таблицу разделов на новый подключенный жёсткий диск. Для примера нам нужно скопировать все таблицы разделов с диска sda на диск sdb, то нужно выполнить:

# sgdisk -R /dev/sdb /dev/sda

Далее, ХДД нужно присвоить новый и случайный UUID следующей командой:

# sgdisk -G /dev/sdb

После этого HDD можно добавить в массив, а в завершении необходимо установить на него загрузчик.

Если Вы используете жёсткий ХДД с MBR

Любую таблицу разделов можно просто скопировать на новый диск с помощью утилиты sfdisk:

# sfdisk -d /dev/sda | sfdisk /dev/sdb

собственно /dev/sda — это источник, а /dev/sdb — ХДД (новый) назначения.
(Опционально): если разделы не видны в системе, то таблица разделов должна быть перечитана ядром:

# sfdisk -R /dev/sdb

Конечно же, разделы можно создать вручную с помощью fdisk, cfdisk или других инструментов. Разделы должны иметь тип Linux raid autodetect (ID fd). Сейчас уже можно добавить новый жесткий диск, как только вы удалили повреждённый диск, можно добавлять новый. Проделать это нужно для каждого раздела:

# mdadm /dev/md0 -a /dev/sdb1
# mdadm /dev/md1 -a /dev/sdb2
# mdadm /dev/md2 -a /dev/sdb3
# mdadm /dev/md3 -a /dev/sdb4

Только созданный новый HDD уже часть массива, и теперь массив будет выполнять синхронизацию.Данная процедура займет определенное время ( все зависит от объема ваших дисков). Наблюдать за происходящим можно выполнив команду:

# cat /proc/mdstat

Собственно последним этапом будет установка загрузчика, если вы производите починку на живую ( с под загруженной ОС), то достаточно запустить grub-install на новом жёстком диске, например можно это сделать следующим образом (если юзаете GRUB2,):

# grub-install /dev/sdb

Добавить комментарий