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

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

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

Чтобы посмотреть какой у вас установлен raid  и работает ли он вообще, используйте:

# cat /proc/mdstat

У вас должно появится картинка, примерного содержания, я ее приведу ниже.

Рабочий raid1 который мы проверили с помощью mdstat

Рабочий raid1 который мы проверили с помощью mdstat

На рисунке видно что рейд состоит из 4-х разделов ( sdb1,sdb2,sdb3,sdb4) и он полностью рабочий ( работают оба диска- это видно по опции [UU]). У меня всего 4 объединенных массива на которых: md0,md1,md2,md3.

Предположим что у нас вышел из строя диск с меткой /dev/sdb, определить можно это когда мы видим [U_] или [_U] — это собственно означает что наш массив не синхронизирован. Покажу как выглядит нерабочий массив, на наглядном скриншоте у низу  все хорошо видно.

Нерабочий raid1

Нерабочий raid1

Все изменения мы будем вносить в программный 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
синхронизация нового raid1 масива

синхронизация нового raid1 масива

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

# grub-install /dev/sdb

Если используете Grub1 ( это старая версия grub) то нужно выполнить немного больше шагов.

  • Нужно будет запустить консоль grub: grub
  • Затем нужно будет указать раздел, на котором лежит /boot: root (hd0,1) (/dev/sda2 = (hd0,1)),
  • затем нужно будет записать загрузчик в MBR выполнив:  setup (hd0)
  • Чтобы сохранить загрузчик на втором жёстком диске надо:
  1. Указать grub чтобы переключиться на sdb: device (hd0) /dev/sdb
  2. Выполняем потом шаги 2 и 3
  • Выходим из консоли grub: quit
установка grub1 на новый ХДД

установка grub1 на новый ХДД

Замена нерабочего жесткого диска на RAID 1 завершена! Спасибо что читаете http://linux-notes.org/

 

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.