Вы здесь

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

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

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

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

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

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

Конечно же, разделы можно создать вручную с помощью 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

Если используете 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

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