Восстановление RAID5 под Linux

Дата: Январь 28, 2010 - 5:50 дп

В предыдущем посте мы разобрали как создать RAID5 массив в Linux-е.  Сегодня посмотрим что делать если в нашем массиве умер один из дисков.

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

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb1[0] sdc1[1]
2088192 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]

unused devices: <none>

# mdadm –detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Thu Jan 28 11:25:29 2010
Raid Level : raid5
Array Size : 2088192 (2039.59 MiB 2138.31 MB)
Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Thu Jan 28 13:47:19 2010
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 64K

UUID : e8375a4e:c6134e88:812de9a9:23180db0 (local to host linux-f9ij)
Events : 0.16

Number   Major   Minor   RaidDevice State
0       8       17        0      active sync   /dev/sdb1
1       8       33        1      active sync   /dev/sdc1
2       0        0        2      removed

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

Это просто замечательно.

Теперь добавим новый жесткий диск и заменим им вышедший из строя.

Загружаемся и видим fdisk -l неразмеченй диск.
Разметим его.
Размер раздела должен быть таким же как и для других дисков в массиве.

Добавляем диск в массив :

linux-f9ij:~ # mdadm /dev/md0 –add /dev/sdd1
mdadm: added /dev/sdd1

И смотрим как ребилдится массив:

Массив может ребилдиться очень долго, поэтому можно посмотреть какие скорости заданы для ребилдинга:
cat /proc/sys/dev/raid/speed_limit_max 200000
cat /proc/sys/dev/raid/speed_limit_min 1000

И изменить минимальную скорость :
echo 50000 >/proc/sys/dev/raid/speed_limit_min

(взято тут: http://www.ducea.com/2006/06/25/increase-the-speed-of-linux-software-raid-reconstruction/)

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[3] sdb1[0] sdc1[1]
2088192 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
[======>..............]  recovery = 32.3% (338816/1044096) finish=0.2min speed=48402K/sec

unused devices: <none>

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[3] sdb1[0] sdc1[1]
2088192 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
[========>............]  recovery = 44.8% (467968/1044096) finish=0.2min speed=42542K/sec

unused devices: <none>

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[2] sdb1[0] sdc1[1]
2088192 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

Рейд восстановился, смотрим детали.

# mdadm –detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Thu Jan 28 11:25:29 2010
Raid Level : raid5
Array Size : 2088192 (2039.59 MiB 2138.31 MB)
Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Thu Jan 28 14:05:03 2010
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 64K

UUID : e8375a4e:c6134e88:812de9a9:23180db0 (local to host linux-f9ij)
Events : 0.46

Number   Major   Minor   RaidDevice State
0       8       17        0      active sync   /dev/sdb1
1       8       33        1      active sync   /dev/sdc1
2       8       49        2      active sync   /dev/sdd1
linux-f9ij:~ #

Все ок.

Отлично.

В следующем посте мы рассмотрим расширение нашего массива путем добавления нового диска.

Оставить комментарий

CAPTCHA image