Замена неисправного винчестера в RAID 1 в LINUX

1 вариант

Программный RAID1 /dev/md0 включает в себя разделы /dev/sda1 и /dev/sdb1.
Задача заменить диск /dev/sdb.

Диагностику смотрим через (если вместо [UU] видим [U_], то целостность одного из дисков нарушена):
cat /proc/mdstat

Помечаем раздел как сбойный:
mdadm —manage /dev/md0 —fail /dev/sdb1

Отключаем раздел (удаляем из RAID1)
mdadm —manage /dev/md0 —remove /dev/sdb1

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

Создаем через fdisk идентичные разделы, или копируем структуру первого диска /dev/sda:
sfdisk -d /dev/sda | sfdisk /dev/sdb

Добавляем раздел в RAID1 массив:
mdadm —manage /dev/md0 —add /dev/sdb1

==============================================

2 вариант

Ситуация (для примера): с помощью 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.

===============================================

Удаление программного (software) массива RAID.

Предположим, что:

с помощью mdadm был создан массив RAID5 /dev/md0 из 3-х разделов 3-х SATA-дисков;
/dev/md0 смонтирован на точку /var/spool/avreg.

-1- Останавливаем все процессы, которые могут работать с файлами в /var/spool/avreg.

Вывести список таких процессов поможет утилита fuser из пакета psmisc

fuser -mv /var/spool/avreg

-2- Отмонтируем подключенное устройство RAID.

umount /var/spool/avreg

-3- Останавливаем массив.

mdadm -S /dev/md0

-4- Очищаем суперблоки RAID на разделах из которого собран массив.

mdadm —zero-superblock /dev/sda1
mdadm —zero-superblock /dev/sdb1
mdadm —zero-superblock /dev/sdc1

=======================================================

-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

Оригинал http://24may.kharkov.ua/page130.html


Понравилась статья? Поделись с остальными.

Комментарии закрыты.