Замена диска в программном raid 1 windows

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

December 6 2012, 20:37

Category:

  • Компьютеры
  • Cancel

Если в сервере Windows вышел из строя один из дисков зеркала, организованного средствами ОС, в диспетчере дисков (остнастка MMC «Управление дисками») неисправный диск будет в состоянии «отключен», а том в состоянии «отказавшая избыточность».
После замены неисправного диска нужно запустить остнастку MMC «Управление дисками» и в ней:

  1. на предложение использовать новый диск — согласиться (нажать OK), затем в окне «Преобразование в динамические диски» выбрать этот новый диск и нажать «OK».
  2. удалить отказавшее зеркало у тома с отказавшей избыточностью, для чего в контекстном меню тома выбрать пункт «Удалить зеркало…», в окне «Удалить зеркало» выбрать в списке отсутствующий (неисправный) диск, нажать «Удалить зеркало» — в результате том станет простым динамическим;
  3. удалить информацию о неисправном диске, для чего в его контекстном меню нужно выбрать пункт «Изъять диск»;
  4. добавить зеркало к ставшему простым динамическому тому, для чего нужно в его контекстном меню выбрать пункт «Добавить зеркало», в окне «Добавить зеркальный том» выделить новый диск и нажать «Добавить зеркальный том», после чего начнётся процесс ресинхронизации тома.

    В начале ресинхронизации тома нельзя перезагружать и выключать компьютер.

wiki:technical:ds:change_hdd_softraid1

Содержание

Получение информации о состоянии массивов

В командной строке выполняем:

# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sda4[0] sdb4[1](F)
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[0] sdb3[1](F)
      1073740664 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1](F)
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0] sdb1[1](F)
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: 

О том, что массивы в порядке, указывает наличии двух букв U в квадратных кавычках в строчках для каждого массива — [UU]. Если массив поврежден, буква U меняется на _. В данном случае: [U_] — поврежден диск /dev/sdb.

Удаление неисправного диска из RAID1

Перед установкой нового HDD необходимо удалить из массива поврежденный диск. Для этого выполняем следующую последовательность команд:

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

Бывают ситуации, когда не все программные RAID-массивы повреждены:

# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sda4[0] sdb4[1](F)
      1822442815 blocks super 1.2 [2/1] [UU]

md2 : active raid1 sda3[0] sdb3[1](F)
      1073740664 blocks super 1.2 [2/1] [UU]

md1 : active raid1 sda2[0] sdb2[1](F)
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0] sdb1[1](F)
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: 

В таком случае не удастся удалить рабочий раздел из массива. Необходимо сначала пометить его как сбойный:

# mdadm /dev/md2 -f /dev/sdb3
# mdadm /dev/md3 -f /dev/sdb4

# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sda4[0] sdb4[1](F)
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[0] sdb3[1](F)
      1073740664 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1](F)
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0] sdb1[1](F)
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: 

а затем удалить:

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

После этого можем производить замену HDD.

Добавление нового диска в RAID1

Оба диска в массиве должны иметь абсолютно одинаковое разбиение. В зависимости от используемого типа таблицы разделов (MBR или GPT) необходимо использовать соответствующие утилиты для копирования таблицы разделов.

Определение типа таблицы разделов

Узнать тип таблицы разделов можно с помощью утилиты gdisk. Например, в случае с GPT мы получим:

# gdisk -l /dev/sda
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

И в случае с MBR мы получим:

# gdisk -l /dev/sda
MBR: MBR only
BSD: not present
APM: not present
GPT: not present

Копирование таблицы разделов на новый диск

Для жесткого диска с MBR используем утилиту sfdisk:

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

где:

  • /dev/sda — диск источник

  • /dev/sdb — диск назначения

Для жесткого диска с GPT используем утилиту sgdisk:

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

где:

  • /dev/sda — диск источник

  • /dev/sdb — диск назначения

  • sgdisk -G /dev/sdb — назначает новому жесткому диску случайный UUID

Добавление размеченного диска в массивы

Выполняем последовательность команд:

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

После этого начнется процесс синхронизации. Время синхронизации зависит от объема жесткого диска:

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdb4[1] sda4[0]
     1028096 blocks [2/2] [UU]
     [==========>..........]  resync =  50.0% (514048/1028096) finish=97.3min speed=65787K/sec

md2 : active raid1 sdb3[1] sda3[0]
     208768 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
     2104448 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
     208768 blocks [2/2] [UU]

unused devices: 

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

Если в системе используется загрузчик GRUB2 и если сервер не загружен с LiveCD (режимы rescue, recovery), достаточно выполнить следующие команды (при этом нет необходимости дожидаться окончания процесса синхронизации):

# grub-install /dev/sdb
# update-grub

Если сервер загружен с LiveCD (режимы rescue, recovery) установка загрузчика выглядит следующим образом:

  1. Монтируем корневую файловую систему в /mnt:

    # mount /dev/md2 /mnt
  2. Монтируем /boot:

    # mount /dev/md0 /mnt/boot
  3. Монтируем /dev, /proc и /sys:

    # mount --bind /dev /mnt/dev
    # mount --bind /proc /mnt/proc
    # mount --bind /sys  /mnt/sys
  4. Делаем chroot в примонтированную систему:

    # chroot /mnt
  5. Устанавливаем grub на sdb:

    # grub-install /dev/sdb
    # update-grub

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

wiki/technical/ds/change_hdd_softraid1.txt

· Последнее изменение: 2017/04/07 22:51 —

127.0.0.1


Диски в рейдах время от времени выходят из строя, и их конечно же приходится заменять. Короткая инструкция по замене дисков в программном рейде, на примере RAID 1. Допустим что у нас в сервере установлено два диска и на них следующим образом собран рейд:

/dev/sda1 /dev/sdb1 - /dev/md0
/dev/sda2 /dev/sdb2 - /dev/md1

Диск /dev/sdb выходит из строя и мы будем его заменять. Для начала, последовательно удалим из рейда партации проблемного диска:

# mdadm --manage /dev/md0 --fail /dev/sdb1
# mdadm --manage /dev/md0 --remove /dev/sdb1
# mdadm --manage /dev/md1 --fail /dev/sdb2
# mdadm --manage /dev/md1 --remove /dev/sdb2

Заглядываем в /proc/mdstat и убеждаемся что партации извлечены [U_]:

md0 : active raid1 sda1[0]
 24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0]
 24418688 blocks [2/1] [U_]

Далее, если сервер поддерживает горячую замену — выдёргиваем нужный диск и ставим новый. Если горячей замены сервер не поддерживает, выключаем его, заменяем диск и включаем обратно. При замене не забываем, что по объёму диск должен быть идентичен тому что был установлен ранее. Загрузив сервер, копируем разметку с рабочего диска на наш новый. Сделать это можно с помощью gdisk, либо с помощью sfdisk (использовать нужно что-то одно!):

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

Или:

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

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

# mdadm --manage /dev/md0 --add /dev/sdb1
# mdadm --manage /dev/md1 --add /dev/sdb2

Проверяем /proc/mdstat, видим что синхронизация данных уже началась:

md0 : active raid1 sda1[0] sdb1[1]
 24418688 blocks [2/1] [U_]
 [=>...................] recovery = 19.9% (9692672/48837376) finish=2.7min speed=197535K/sec

md1 : active raid1 sda2[0] sdb2[1]
 24418688 blocks [2/1] [U_]
 [=>...................] recovery = 3.2% (1572096/48837376) finish=1.8min speed=186512K/sec

И отправляемся пить чай, в ожидании завершения процесса. В ходе синхронизации возможно повышение нагрузки на дисковую подсистему, так что лучше всего в это время минимизировать какие-либо ресурсоёмкие операции.

@SysadminNotes

1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

1

27.04.2017, 16:29. Показов 59277. Ответов 20


Всем привет! На сервере IBM 3620 установлен raid 1 состоящий из 2 дисков seagate st2000nm0001 по 2 ТБ.
Один диск сломался, нужна замена. На замену предлагают два диска seagate st2000nm0033, либо seagate st2000nm0055.
Теперь сам вопрос — можно ли какой из этих дисков установить взамен сломанному? Будет ли с ним raid работать?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

27.04.2017, 16:34

2

любой, такого же или большего размера.

Добавлено через 3 минуты
и смотри, при ребилде источник с приемником не перепутай.



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

27.04.2017, 17:46

 [ТС]

3

А ребилд не автоматом запуститься? Я думал достаточно новый диск воткнуть, взамен старого, и все. Как ребилд осуществить?



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

27.04.2017, 17:49

4

откуда я знаю как конкретно у вас.
у интела — указываешь источник и приемник. если путаешь — получаешь рейд, но «чистый»
читайте доку.



1



kumehtar

27.04.2017, 18:04

Не по теме:

Цитата
Сообщение от magirus
Посмотреть сообщение

если путаешь — получаешь рейд, но «чистый»

Логичное последствие, но как подумаю — мороз по коже..



0



magirus

27.04.2017, 18:09

Не по теме:

поэтому и попросил обратить внимание на то кто из винтов будет источником а кто приемником.



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

27.04.2017, 18:17

 [ТС]

7

raid 1 поддерживает горячую замену. Как я понимаю, ребилд должен автоматом начаться. Конкретно у меня IBM с контроллером MegaRaid



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

27.04.2017, 18:19

8

Цитата
Сообщение от Mister_bin
Посмотреть сообщение

raid 1 поддерживает горячую замену.

сам по себе рейд ничего не поддерживает.
если рейд КОНТРОЛЛЕР поддерживает- другой вопрос.



0



81 / 70 / 4

Регистрация: 09.08.2016

Сообщений: 385

27.04.2017, 19:20

9

Добавлено через 21 минуту
В любом случае, перед ребилдом сохранить данные. Уже сколько раз приносили рейды после ребилда, где контроллер сошел с ума и посчитал новый диск адекватным участником и весело отребилдил нули на старый и актуальный



1



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

16.05.2017, 08:06

 [ТС]

10

Купили диск. Поменял. Ребилд, конечно же, не начался автоматом. Что делать дальше? Никогда ранее не менял диск в рейде. Удалять массив и создавать новый с уже новым диском? не потеряются ли данные? может ли старый диск (sas) работать в паре с новым диском (sata)

Миниатюры

В raid 1 полетел один диск, как поставить взамен?
 



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

16.05.2017, 08:09

11

Цитата
Сообщение от Mister_bin
Посмотреть сообщение

Удалять массив и создавать новый с уже новым диском? не потеряются ли данные?

обязательно потеряются.



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

16.05.2017, 08:19

 [ТС]

12

Так дальше поступать в данной ситуации?



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

16.05.2017, 10:00

13

читать руководство на ваш контроллер — как правильно запустить ребилд.



1



81 / 70 / 4

Регистрация: 09.08.2016

Сообщений: 385

16.05.2017, 11:00

14

Цитата
Сообщение от Mister_bin
Посмотреть сообщение

Так дальше поступать в данной ситуации?

Сохранить данные для перестраховки и запустить ребилд.



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

17.05.2017, 08:52

 [ТС]

15

Данные то сохранил. Вопрос в другом «Как запустить ребилд»? Никогда этого не делал. И второй вопрос, будут ли работать в паре SAS и SATA диски?



0



Модератор

Эксперт Hardware

20507 / 12397 / 2185

Регистрация: 23.11.2016

Сообщений: 61,988

Записей в блоге: 22

17.05.2017, 11:37

16

Mister_bin, какой у вас Рейд-контроллер? К нему есть руководство?



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

17.05.2017, 11:44

 [ТС]

17

Цитата
Сообщение от kumehtar
Посмотреть сообщение

Mister_bin, какой у вас Рейд-контроллер? К нему есть руководство?

serveRaid m5015. руководство нашел в интернете, сейчас читаю



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

17.05.2017, 13:43

 [ТС]

18

Вот такой мануал нашел. Но решения своей проблемы тут не нашел



0



1 / 1 / 0

Регистрация: 13.12.2010

Сообщений: 27

17.05.2017, 16:19

 [ТС]

19

Нашел ответ на свой вопрос, и он таков «SAS and SATA drives are supported, but the mixing of SAS and SATA in the same RAID array is not supported». Буду искать второй диск SATA



0



81 / 70 / 4

Регистрация: 09.08.2016

Сообщений: 385

17.05.2017, 17:29

20

Цитата
Сообщение от Mister_bin
Посмотреть сообщение

И второй вопрос, будут ли работать в паре SAS и SATA диски?

будут, но для нормальной работе на зеркале лучше пользовать 2 одинаковых диска

Добавлено через 43 секунды

Цитата
Сообщение от Mister_bin
Посмотреть сообщение

Вопрос в другом «Как запустить ребилд»? Никогда этого не делал.

Тогда зачем тудой лезем? есть для того сисадмин, или кто там у вас?



0



Вступление

В этой статье используется пример для описания необходимых шагов, связанных с заменой неисправного диска в программном RAID ( mdadm).

ВАЖНОЕ ПРИМЕЧАНИЕ: Все команды являются примерами и должны быть соответственно скорректированы!

Видео с инструкциями можно найти на нашем канале Hetzner на Youtube.

Пример сценария

Предполагается следующая конфигурация:

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
      1822442815 blocks super 1.2 [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
      1073740664 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      524276 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      33553336 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Всего разделов четыре:

  • / dev / md0 как своп
  • / dev / md1 как / boot
  • / dev / md2 как /
  • / dev / md3 как / home

/dev/sdbв данном случае неисправный привод. Отсутствующий или неисправный привод обозначается значками [U_]и / или [_U]. Если массив RAID не поврежден, он показывает [UU].

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1](F)
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[0] sdb3[1](F)
      1073740664 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1](F)
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0] sdb1[1](F)
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Изменения в программном RAID можно вносить во время работы системы. Если proc/mdstatпоказывает, что диск выходит из строя, как в примере здесь, то можно назначить встречу со специалистами службы поддержки для замены диска ( см. Ниже ).

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0]
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[0]
      1073740664 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda2[0]
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0]
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Удаление неисправного привода

Перед добавлением нового диска старый неисправный диск необходимо удалить из массива RAID. Это нужно сделать для каждого отдельного раздела.

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

Следующая команда показывает диски, которые являются частью массива:

# mdadm --detail /dev/md0

В некоторых случаях привод может быть неисправен только частично, например, только /dev/md0в [U_]состоянии, тогда как все другие устройства находятся в [UU]состоянии. В этом случае команда

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

беспокоит, поскольку /dev/md1массив в порядке.

В этом случае команда

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

сначала необходимо выполнить, чтобы перевести RAID в [U_]состояние.

Назначение встречи с поддержкой для обмена неисправного диска

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

Используйте раздел запросов на поддержку в Robot, чтобы связаться с техническими специалистами.

Подготовка нового диска

Оба диска в массиве должны иметь одинаковые разделы. В зависимости от типа используемой таблицы разделов ( MBRили GPT) должны использоваться соответствующие утилиты для копирования таблицы разделов. Таблица разделов GPT обычно используется в дисках емкостью более 2 ТБ (например, жесткие диски объемом 3 ТБ в EX4и EX6)

Резервное копирование MBR / GPT

Перед копированием MBR / GPT на новый диск необходимо создать резервную копию. Таким образом, если во время копирования что-то пойдет не так, оригинал все равно можно будет восстановить.

Резервное копирование с MBR

sfdisk --dump /dev/sda > sda_parttable_mbr.bak
sfdisk --dump /dev/sdb > sdb_parttable_mbr.bak
sfdisk --dump /dev/sdX > sdX_parttable_mbr.bak

Восстановить с MBR

sfdisk /dev/sda < sda_parttable_mbr.bak
sfdisk /dev/sdb < sdb_parttable_mbr.bak
sfdisk /dev/sdX < sdX_parttable_mbr.bak

Резервное копирование с помощью GPT

sgdisk --backup=sda_parttable_gpt.bak /dev/sda
sgdisk --backup=sdb_parttable_gpt.bak /dev/sdb
sgdisk --backup=sdX_parttable_gpt.bak /dev/sdX

Восстановить с помощью GPT

sgdisk --load-backup=sda_parttable_gpt.bak /dev/sda
sgdisk --load-backup=sdb_parttable_gpt.bak /dev/sdb
sgdisk --load-backup=sdX_parttable_gpt.bak /dev/sdX

Диски с GPT

На диске хранится несколько избыточных копий таблицы разделов GUID (GPT) , поэтому для редактирования таблицы необходимо использовать инструменты, которые поддерживают GPT, например, partedили GPT fdisksgdiskИнструмент из GPT FDISK (предварительно установленные при использовании системы аварийно ) может быть использован для копирования таблицы разделов на новый диск. Вот пример копирования таблицы разделов из sda в sdb:

sgdisk --backup=sda_parttable_gpt.bak /dev/sda
sgdisk --load-backup=sda_parttable_gpt.bak /dev/sdb

Затем диску нужно назначить новый случайный номер UUID:

sgdisk -G /dev/sdb

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

Festplatten mit MBR

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

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

где /dev/sda— исходный диск, а /dev/sdb— целевой диск.

(Необязательно): Если разделы не обнаруживаются системой, то таблица разделов должна быть перечитана из ядра:

# sfdisk -R /dev/sdb

Естественно, что перегородки также могут быть созданы вручную с помощью fdiskcfdiskили другими инструментами. Перегородки должны быть Linux raid autodetect (ID fd)типами.

E Интеграция нового привода

После удаления неисправного диска и установки нового его необходимо интегрировать в массив RAID. Это нужно сделать для каждого раздела.

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

Новый диск теперь является частью массива и будет синхронизирован. В зависимости от размера разделов эта процедура может занять некоторое время. Статус синхронизации можно наблюдать с помощью cat /proc/mdstat.

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdb4[1] sda4[0]
      1028096 blocks [2/2] [UU]
      [==========>..........]  resync =  50.0% (514048/1028096) finish=97.3min speed=65787K/sec

md2 : active raid1 sdb3[1] sda3[0]
      208768 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      2104448 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
      208768 blocks [2/2] [UU]

unused devices: <none>

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

Поскольку серийный номер диска изменился, нам нужно создать новую карту устройств с помощью GRUB2:

grub-mkdevicemap -n

Если вы делаете этот ремонт в загруженной системе, то для GRUB2 достаточно запустить grub-installна новом диске. Например:

grub-install /dev/sdb

В Grub1 ( grub-legacy) в зависимости от того, какой диск неисправен, может потребоваться больше шагов.

  • Запустите консоль GRUB: grub
  • Укажите раздел, где /bootнаходится:root (hd0,1) (/dev/sda2 = (hd0,1))
  • Установите загрузчик в MBR: setup (hd0)
  • Также для установки загрузчика на второй диск:
    • Подключите второй диск как hd0mappen:device (hd0) /dev/sdb
    • Точно повторите шаги 2 и 3 ( не меняйте команды! )
  • Выйдите из консоли GRUB: quit
Probing devices to guess BIOS drives. This may take a long time.


    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]
grub> device (hd0) /dev/sdb
device (hd0) /dev/sdb
grub> root (hd0,1)
root (hd0,1)
 Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  26 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+26 p (hd0,1)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
Done.
grub> quit
#

Для ремонта через Rescue System необходимо сначала смонтировать установленную систему . Все шаги по установке GRUB должны быть выполнены после chroot.

Ситуация (для примера): с помощью mdadm собран
программный RAID1(зеркало) /dev/md0 из 2-х разделов /dev/sda1 и
/dev/sdb1.

Задача: заменить сбойный диск /dev/sdb.

Прежде всего, смотрим диагностику:

cat /proc/mdstat

или

mdadm --detail /dev/md0

Если вместо [UU] видим [U_], то дело плохо, целостность одного
из дисков нарушена — нужно менять диск.

Для автоматического слежения и мониторинга
дисков и массивов можно и нужно использовать возможности пакетов

mdadm
(monitor mode) и
smartmontools
(технология S.M.A.R.T.).

-1- Прежде всего, делаем так, чтобы с устройством никто не
работал — см. п.1,2 Удаление
программного (software) массива RAID.

-2- Помечаем раздел как сбойный:

mdadm --manage /dev/md0 --fail /dev/sdb1

-3- Отключаем раздел (удаляем из RAID1):

mdadm --manage /dev/md0 --remove /dev/sdb1

-4- Выключаем машину, меняем диск.

-5- Создаем через cfdisk или fdisk идентичные разделы, или c
помощью sfdisk автоматически копируем структуру
разделов первого диска /dev/sda:

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

Этим способом можно пользоваться, поскольку в нашем примере
«зеркальный» RAID1. При других уровнях (raid level), нужно разбить
диск на раздел(ы) и пометить его(их) типом ФС «Linux raid
autodetect».

-6- Добавляем раздел в RAID1 массив:

mdadm --manage /dev/md0 --add /dev/sdb1

-7- Ждем синхронизации массива:

mdadm --wait /dev/md0

В этой статье мы рассмотрим ситуацию, когда нужна замена диска в программном RAID 1 с помощью утилиты MDADM.

  • Удаление сбойного диска из RAID
  • Клонирование раздел linux с разметкой MBR на новый диск
  • Клонирование раздел linux с разметкой GPT на новый диск
  • Добавление диска диска в массив RAID
  • Установка загрузчика GRUB2

Для начала посмотрим список наших дисков с разделами. Определим какой диск мы будем удалять из массива RAID 1 командой lsblk:

[root@localhost ~] lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 15G 0 disk
├─sda1 8:1 0 2G 0 part
│ └─md127 9:127 0 2G 0 raid1 [SWAP]
├─sda2 8:2 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda3 8:3 0 12G 0 part
└─md125 9:125 0 12G 0 raid1 /
sdb 8:16 0 15G 0 disk
├─sdb1 8:17 0 2G 0 part
│ └─md127 9:127 0 2G 0 raid1 [SWAP]
├─sdb2 8:18 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb3 8:19 0 12G 0 part
└─md125 9:125 0 12G 0 raid1 /
sr0 11:0 1 1024M 0 rom

В данной ситуации у нас есть 2 диска sda и sdb. Мы определили, что один из них выходит из строя и лучше его заменить. У меня это диск sda.
Как проверить жесткий диск в linux можно посмотреть в моей статье.

Посмотрим состояние нашего raid массива командой cat /proc/mdstat:

[root@localhost ~] cat /proc/mdstat
Personalities : [raid1]
md125 : active raid1 sdb3[1] sda3[2]
12569600 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md126 : active raid1 sdb2[1] sda2[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda1[2] sdb1[1]
2096128 blocks super 1.2 [2/2] [UU]

Если ваш вывод будет [_U] вместо [UU], то это значит рейд неисправен и работа одного диска уже нарушена.

Как удалить сбойный диск из RAID

Сначала нам нужно пометить диск sda как сбойный:

mdadm /dev/md125 --fail /dev/sda3
mdadm /dev/md126 --fail /dev/sda2
mdadm /dev/md127 --fail /dev/sda1

Теперь удалим разделы из нашего массива:

mdadm /dev/md125 —remove /dev/sda2
mdadm /dev/md126 —remove /dev/sda1
mdadm /dev/md127 —remove /dev/sda3

Проверим вывод команды cat /proc/mdstat и убедимся, что sda разделы удалены из массива. Далее выключаем сервер и меняем неисправный диск на новый.

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

Для определения какая таблица используется — GPT или MBR введите:

gdisk -l /dev/sdb

В выводе будет написано MBR: MBR only или GPT: present.

Как клонировать раздел linux с разметкой MBR

! В данном случае sdb исходный диск, а sda диск назначения.

sfdisk -d /dev/sdb | sfdisk --force /dev/sda:

Как клонировать раздел linux с разметкой GPT

! При использовании этой команды на sdb диск мы копируем разметку с диска sda

sgdisk -R /dev/sdb /dev/sda

Проверим нашу новую разметку, она должна совпадать на обоих дисках:

[root@localhost ~]# fdisk -l | grep dev
Disk /dev/sda: 16.1 GB, 16106127360 bytes, 31457280 sectors
/dev/sda1 2048 4200447 2099200 fd Linux raid autodetect
/dev/sda2 * 4200448 6299647 1049600 fd Linux raid autodetect
/dev/sda3 6299648 31457279 12578816 fd Linux raid autodetect
Disk /dev/sdb: 16.1 GB, 16106127360 bytes, 31457280 sectors
/dev/sdb1 2048 4200447 2099200 fd Linux raid autodetect
/dev/sdb2 * 4200448 6299647 1049600 fd Linux raid autodetect
/dev/sdb3 6299648 31457279 12578816 fd Linux raid autodetect

После разметки все готово, чтобы добавить новый диск в наш программный RAID 1.

Как добавить диск в массив RAID

Теперь добавим наши новые разделы в RAID:

mdadm /dev/md125 --add /dev/sda3
mdadm /dev/md126 --add /dev/sda2
mdadm /dev/md127 --add /dev/sda1

Статус синхронизации можно проверить несколькими командами:

cat /proc/mdstat и более детально mdadm —detail /dev/md125

Установка загрузчика grub2 на новый диск

В завершении всего нужно установить grub на новый диск и обновить конфигурацию.

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

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

Подробное описание команд утилиты MDADM.

Понравилась статья? Поделить с друзьями:
  • Замена диска в ноутбуке на ssd установка windows
  • Замена голоса в реальном времени windows
  • Закупки не удается безопасно подключиться к этой странице windows 10
  • Замена винчестера в ноутбуке на ssd с переустановкой windows
  • Замена видеокарты на компьютере своими руками windows 7 видео