2007/05/30

Инструкция по восстановлению Software RAID 1

В процессе установки Debian 4.0 (Etch) возможно создать Software (программный) RAID, повысив тем самым надежность хранения Ваших данных. Статья Install Debian Etch on a Software Raid 1 with S-ATA disks подробно описывает как это сделать в процессе инсталляции на примере создания RAID 1 (зеркальное копирование).
Советую протестировать "живучесть" работающего массива, сэмитировав возникновение проблемы с каким-либо диском в массиве. Приведенная ниже инструкция описывает как действовать в таких случаях на примере RAID 1 с двумя SCSI-дисками (/dev/sda, /dev/sdb) на Debian 4.0 (Etch).

Этап 1

Если проблемы с каким либо разделом в RAID (например, /dev/sdb2)
# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid5]
md1 : active raid1 sda2[0] sdb2[2](F)
63472704 blocks [2/1] [U_]
md2 : active raid1 sda3[0] sdb3[1]
3903680 blocks [2/1] [UU]
md0 : active raid1 sda1[0] sdb1[1]
3317312 blocks [2/1] [UU]
Необходимо удалить поврежденный раздел (прежде пометив его как fail), а потом его же добавить:
# mdadm /dev/md1 –f /dev/sdb2
# mdadm /dev/md1 -r /dev/sdb2
# mdadm /dev/md1 -a /dev/sdb2
После проделанных операций проверить его статус, как показано выше. Если проблема устранена, все md-разделы будут помечены как [UU].
Если это не помогает и массив по прежнему не восстанавливается, следует удалить все разделы испорченного диска (/dev/sdb1, /dev/sdb2), пометив прежде их как fail, и перейти к Этапу 2:
# mdadm /dev/md1 -f /dev/sdb1
# mdadm /dev/md1 -r /dev/sdb1
# mdadm /dev/md1 -f /dev/sdb2
# mdadm /dev/md1 -r /dev/sdb2
Этап 2

1. Выключить сервер
# shutdown -h now
2. Если проблема с вторичным диском - вставить новый диск на место старого, повторив установку перемычек (jumpers). Если проблема с первичным диском - вставить на место первичного диска (/dev/sda) вторичный диск (рабочий, /dev/sdb), повторив установку перемычек (jumpers), а на место вторичного установить новый диск.
3. Загрузить сервер.
4. Из под root выполнить комманды:
# sfdisk -d /dev/sda | sfdisk /dev/sdb # копирование таблицы разделов с /dev/sda на /dev/sdb
# fdisk -l # проверить, что оба диска имеют одинаковую разметку
# mdadm --add /dev/md0 /dev/sdb1 # добавление устройств в RAID
# mdadm --add /dev/md1 /dev/sdb2
# mdadm --add /dev/md2 /dev/sdb3
# grub
grub> root (hd1,0) # указать, где находится каталог /boot/grub на вторичном диске
grub> setup (hd1) # установить GRUB-загрузчик в MBR вторичного диска
grub> quit
5. Проверить состояние RAID устройств можно коммандой cat /proc/mdstat
Если всё, прошло успешно, вывод будет похож на:
# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid5]
md0 : active raid1 sda1[0] sdb1[1]
24418688 blocks [2/2] [UU]
md2 : active raid1 sda3[0] sdb3[1]
3903680 blocks [2/1] [UU]
md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]

6.Как только RAID восстановится, перегрузить сервер для проверки работоспособности.

Ссылки:
  1. GRUB - GRand мира загрузчиков
  2. How to boot Linux from RAID-1 with GRUB

1 comment:

Anonymous said...

nice