Просмотр Исходного

*Предварительно рекомендуем скопировать бэкап на отдельный диск.*

# Найдите рабочий диск, например /dev/sda
{panel}
cat /proc/mdstat
{panel}
# Найдите сбойнувший диск, например /dev/sdb
Установите пакет с программой smartctl
{panel}
yum -y install smartmontools
{panel}
Узнайте серийный номер диска.
{panel}
smartctl --all /dev/sdb | fgrep 'Serial Number'
{panel}
Пример вывода:
{panel}
Serial Number: WD-WCAW00000111
{panel}
Физически удалите диск с номером из сервера.
# Установите новый диск в сервер. Он может быть определён с темже названием, что и старый, например /dev/sdb
# Найдите новый диск, например /dev/sdb
{panel}
cat /proc/partitions
{panel}
Видим:
{code}
  # cat /proc/partitions
major minor #blocks name

8 0 244140625 sda
8 1 3906233 sda1
8 2 14648320 sda2
8 3 33164288 sda3
8 4 1952768 sda4
8 5 145993728 sda5
8 6 22110208 sda6
8 7 11054080 sda7
9 3 33164224 md3
9 4 1952704 md4
9 5 145993664 md5
9 6 22110144 md6
9 7 11054016 md7
9 1 3906112 md1
9 2 14648256 md2
8 16 244140625 sdb
{code}
Здесь видно что диск sdb скорее всего новый(в данном случае это так). Лучше знать наверняка, какой диск вы поменяли. Проверьте его серийный номер(пункт 2).
# Допустим в рейде уже есть разделы /dev/sda, а новый диск /dev/sdb. Создаем таблицу разделов на новом диске
*Важно: не перепутайте диски местами*
{panel}
sgdisk \-R /dev/sdb /dev/sda
sgdisk \-G /dev/sdb
{panel}
Проверяем что разделы создались
{panel}
cat /proc/partitions
{panel}
Видим:
{code}
# cat /proc/partitions
major minor #blocks name

8 0 244140625 sda
8 1 3906233 sda1
8 2 14648320 sda2
8 3 33164288 sda3
8 4 1952768 sda4
8 5 145993728 sda5
8 6 22110208 sda6
8 7 11054080 sda7
9 3 33164224 md3
9 4 1952704 md4
9 5 145993664 md5
9 6 22110144 md6
9 7 11054016 md7
9 1 3906112 md1
9 2 14648256 md2
8 16 244140625 sdb
8 17 3906233 sdb1
8 18 14648320 sdb2
8 19 33164288 sdb3
8 20 1952768 sdb4
8 21 145993728 sdb5
8 22 22110208 sdb6
8 23 11054080 sdb7
{code}
# Подключаем созданные разделы диска sdb в raid:
{panel}
mdadm \-a /dev/md1 /dev/sdb1

mdadm \-a /dev/md2 /dev/sdb2

mdadm \-a /dev/md3 /dev/sdb3

mdadm \-a /dev/md4 /dev/sdb4

mdadm \-a /dev/md5 /dev/sdb5

mdadm \-a /dev/md6 /dev/sdb6

mdadm \-a /dev/md7 /dev/sdb7
{panel}
При этом могут выводится сообщения вида: *mdadm: added /dev/sdb6*
# Мониторим восстановление дисков командой 
{code}
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md4 : active raid1 sda4[2] sdb4[1]
58163264 blocks [2/1] [_U]

md3 : active raid1 sda3[2] sdb3[1]
232693376 blocks [2/1] [_U]

md2 : active raid1 sda2[2] sdb2[1]
1044160 blocks [2/1] [_U]
[===========>.........] recovery = 59.2% (619264/1044160) finish=0.3min speed=21353K/sec
md1 : active raid1 sda1[0] sdb1[1]
1044160 blocks [2/2] [UU]
{code}
Здесь видно, что прошло заполнение раздела md1. В нем уже видно два диска (символы UU). В остальных разделах пока по одному диску.
# Ожидаем заполнения дисков.

{info}
Примечание: Если на живой системе восстановить не удается из-за занятости устройств, можно загрузиться с установочного CD-диска и выполнить эти команды на консоли ALT+F2.
{info}