Меню Рубрики

Как заменить отказавший диск в raid1 linux

Vladimir Drach. Official Web-Site. — Личный сайт Владимира Драча

Меняем отказавший жёсткий диск в программном RAID в Linux

Суббота, 28 Февраль 2015 00:00

В данной статье рассмотрим, как удалить неисправный жёсткий диск из массива Linux RAID1 (программное обеспечение RAID) и добавить новый жёсткий диск в массив RAID1 без потери данных. Для копирования схемы раздела диска будем использовать gdisk. Данная программа также работает на большинстве жёстких дисков с GPT (GUID Partition Table).

1 Предварительные замечания

Рассмотрим в качестве примера 2 жёстких диска, /dev/sda и /dev/sdb, с разделами /dev/sda1, /dev/sda2, /dev/sdb1 и /dev/sdb2.

/dev/sdb неисправен и нам потребуется заменить его.

2 Как узнать, что жёстких диск неисправен?

Если жёсткий диск неисправен, в журнале регистрации событий появится большое количество ошибок, например в /var/log/messages или /var/log/syslog.

Можно также выполнить:

и вместо строки [UU] получится [U_], что означает, что массив RAID1 неполон.

3 Удаление неисправного жёсткого диска

Для удаления /dev/sdb, пометим /dev/sdb1 и /dev/sdb2 как неисправные и удалим их из соответствующих массивов RAID (/dev/md0 и /dev/md1).

Для начала отметим /dev/sdb1 как неисправный:

должны выглядеть следующим образом:

Затем удалим /dev/sdb1 из /dev/md0:

Выходные данные должны быть следующими:

должно быть следующим:

Теперь проделаем тоже самое с /dev/sdb2 (который является частью /dev/md1):

Затем выключим систему:

и заменим старый жёсткий диск /dev/sdb на новый (по крайней мере объём нового жесткого диска должен совпадать со старым –если размер на несколько МБ меньше, то перестроить массивы будет невозможно).

4-Добавление нового жёсткого диска

После замены жёсткого диска /dev/sdb, включим систему.

Первым делом необходимо создать точно такое же разбиение на разделы, что и в /dev/sda. Выполним это командой sgdisk из пакета gdisk. Если у Вас не установлен gdisk, установите его, выполнив для Debian и Ubuntu следующее:

Для RedHat основанных на дистрибутивах Linux, таких как CentOS:

Следующий шаг необязательный, но рекомендуемый. Для проверки того, что у нас есть резервная копия схемы раздела, воспользуемся sgdisk для записи схем раздела обоих дисков в файл. В нашем случае файл сохраним в /root folder.

В случае неудачи можно восстановить таблицу разделов с помощью опции —load-backup в sgdisk .

Теперь скопируем схему раздела из /dev/sda в /dev/sdb:

Затем необходимо рандомизировать GUID на новом жёстком диске, чтобы убедится, что он уникален.

для проверки, что оба жёстких диска имеют одинаковое разбиение на разделы.

Далее добавим /dev/sdb1 в /dev/md0 и /dev/sdb2 в /dev/md1:

Теперь оба массива (/dev/md0 и /dev/md1) будут синхронизированы.

для просмотра результатов.

Во время синхронизации выходные данные должны выглядеть следующим образом:

По окончании синхронизации выходные данные должны выглядеть следующим образом:

Источник

Аникин

У нас есть сервер в котором 2 диска: /dev/sda и /dev/sdb. Эти диски собраны у нас в софтверный RAID1 с помощью mdadm. Один из дисков вышел из строя, в нашем случае это /dev/sdb.

I. Удаление диска из массива

Перед заменой диска желательно убрать диск из массива. Для начала проверим как размечен диск в массиве:

В данном случае массив собран так. Что md0 состоит из sda2 и sdb2, md1 из sda3 и sdb3, md2 из sda4 и sdb4. На этом сервере md0 это /boot, md1 — своп, md2 — корень. Убираем sdb из всех устройств.

Если разделы из массива не удаляются, это как в нашем случае. Mdadm не считает диск неисправным и использует его, и при удалении мы увидим ошибку, что устройство используется. В этом случае перед удалением помечаем диск как сбойный.

А затем снова выполним команды по удалению разделов из массива. Все, мы удалили сбойный диск из массива. Теперь можем писать в датацентр запрос на замену диска.

II. Добавление диска в массив после замены

1. Определение таблицы разделов(GPT или MBR) и перенос её на новый диск

После замены поврежденного диска нужно добавить новый диск в массив. Для этого надо определить какая у нас таблица разделов: GPT или MBR. Для этого будем использовать gdisk Установим gdisk:

Где /dev/sda — исправный диск находящийся в raid. В выводе будет примерно это для MBR:

И примерно это для GPT:

Перед добавлением диска в массив нам нужно на нем создать разделы в точности такие же как и на sda. В зависимости от разметки диска это делается по разному.

Копирование разметки для GPT:

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

Копирование разметки для MBR:

Здесь наоборот первым пишется диск с которого переносим разметку, а вторым на который переносим. Если разделы не видны в системе, то можно перечитать таблицу разделов командой:

2. Добавление диска в массив

Когда мы создали разделы на /dev/sdb, то можно добавлять диск в массив.

III. Установка загрузчика

После добавления диска в массив нужно установить на него загрузчик. Если сервер загружен в нормальном режиме, то это делается одной командой:

Если сервер загружен в recovery или rescue, т.е с live cd, то установка загрузчика выглядит следующим образом. Монтируем корневую файловую систему в /mnt:

Монтируем /dev, /proc и /sys:

Затем делаем chroot в примонтированную систему:

И устанавливаем grub на sdb:

Теперь можно попробовать загрузится в нормальный режим.

Источник

linux-notes.org

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

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

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

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

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

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

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

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

Убираем нерабочий ХДД из системы, а можно это сделать выполнив команды для каждого раздела по отдельности:

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

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

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

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

Это даст возможность поменять статус 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, то нужно выполнить:

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

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

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

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

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

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

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

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

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

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

Источник

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

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

  • Как заменить linux на windows 7 на ноутбуке
  • Как заменить linux mint на ubuntu
  • Как закрыть программу в linux
  • Как закомментировать строку в linux
  • Как закачать linux на флешку