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

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

1. Найти рабочий диск, например /dev/hda
{panel}
cat /proc/mdstat
{panel}
2. Найти новый/сбойнувший диск, например /dev/hdb
{panel}
cat /proc/partitions
{panel}
Видим:
{code}
  9     1    1044160 md1 0 0 0 0 0 0 0 0 0 0 0
   9     2    1044160 md2 0 0 0 0 0 0 0 0 0 0 0
   9     3  232693376 md3 0 0 0 0 0 0 0 0 0 0 0
   9     4   58163264 md4 0 0 0 0 0 0 0 0 0 0 0
   8     0  292968750 sda 32 144 352 60 0 0 0 0 0 60 60
   8     1     102400 sda1 13 63 152 24 0 0 0 0 0 24 24
   8     2  291887104 sda2 13 63 152 13 0 0 0 0 0 13 13
   8    16  292968750 sdb 10278 23561 266544 120180 16966 24283 342560 6129218 0 61470 6297908
   8    17    1044224 sdb1 3650 14116 141378 25627 4 3 32 23 0 18597 25650
   8    18    1044225 sdb2 28 97 262 73 1 0 8 5 0 78 78
   8    19  232693492 sdb3 6532 9204 124264 93640 16817 23727 336936 6103175 0 55273 6245323
   8    20   58163332 sdb4 62 126 592 815 144 553 5584 26016 0 23298 26831
{code}
Здесь видно что диск sda скорее всего новый(в данном случае это так). Лучше знать наверняка какой диск вы поменяли.

3. Допустим в рейде уже есть разделы /dev/sdb, а новый диск /dev/sda. Создаем таблицу разделов на новом диске
{panel}
sfdisk \-d /dev/sdb \| sfdisk \--force /dev/sda 
{panel}
После этого будет показана таблица новых разделов в формате:

{code}
Device Boot Start End #sectors Id System
/dev/sda1 * 1 2088449 2088449 83 Linux
/dev/sda2 2088450 4176899 2088450 82 Linux swap
/dev/sda3 4176900 469563884 465386985 83 Linux
/dev/sda4 469563885 585890549 116326665 83 Linux
Successfully wrote the new partition table
{code}
4. Подключаем созданные разделы в raid:

{panel}
mdadm \-a /dev/md1 /dev/sda1

mdadm \-a /dev/md2 /dev/sda2

mdadm \-a /dev/md3 /dev/sda3

mdadm \-a /dev/md4 /dev/sda4
{panel}
При этом могут выводится сообщения вида: *mdadm: hot added /dev/hdb1*

Проверить добавился ли диск можно командой:

{panel}
cat /proc/partitions
{panel}
Тогда вывод уже станет такой:

{code}
  9     1    1044160 md1 0 0 0 0 0 0 0 0 0 0 0
   9     2    1044160 md2 0 0 0 0 0 0 0 0 0 0 0
   9     3  232693376 md3 0 0 0 0 0 0 0 0 0 0 0
   9     4   58163264 md4 0 0 0 0 0 0 0 0 0 0 0
   8     0  292968750 sda 39 165 408 136 9009 86645 765266 33061 5 12557 33205
   8     1    1044224 sda1 14 66 160 31 9002 86645 765216 32972 5 12485 33010
   8     2    1044225 sda2 14 66 160 20 3 0 24 29 0 49 49
   8     3  232693492 sda3 1 3 8 20 2 0 16 30 0 50 50
   8     4   58163332 sda4 1 3 8 32 1 0 8 25 0 57 57
   8    16  292968750 sdb 43739 389173 3459312 263437 36005 44525 659920 11397382 0 151486 11724451
   8    17    1044224 sdb1 12644 101106 909250 28795 8 3 64 39 0 21074 28833
   8    18    1044225 sdb2 28 97 262 73 1 0 8 5 0 78 78
   8    19  232693492 sdb3 30998 287823 2549152 233729 35559 43682 649624 11331060 0 142846 11628413
   8    20   58163332 sdb4 62 126 592 815 437 840 10224 66281 0 63480 67096
{code}
5. Мониторим восстановление дисков командой 
{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). В остальных разделах пока по одному диску.

6. Меняем провода для жестких дисков.

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