Рассмотрим работу утилиты mdam. Основные команды утилиты:
- сreate — создание RAID-массива из нескольких дисков;
- assemble — сборка (ранее созданного) массива и его активация;
- build — объединение дисков в массив (без суперблоков);
- manage — Управление массивом: добавление новых свободных дисков (spares) и удаление неработоспособных (faulty devices);
- follow/monitor — Следить за одним или несколькими md-устройствами и реагировать на изменение их состояния;
- grow — расширение или уменьшение размера (shrink) массива, либо иное его реформирование (reshape);
- misc — прочие операции с независимыми дисками;
- Проверка здоровья массива. Информацию о всех RAID массивах и дисках можно получить посмотрев содержимое файла /proc/mdstat
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda2[0] sdb2[1]
1947523904 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
5854144 blocks super 1.2 [2/2] [UU]
unused devices:Краткую информацию о райд массиве можно получить по ключу -Q
# mdadm -Q /dev/md0 /dev/md0: 2045.99MiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.
Более подробную информацию получаем ключом —detail или -D
mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Wed May 18 19:33:25 2016
Raid Level : raid1
Array Size : 1947523904 (1857.30 GiB 1994.26 GB)
Used Dev Size : 1947523904 (1857.30 GiB 1994.26 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue May 24 22:12:11 2016
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : dc:1 (local to host dc)
UUID : f1322837:05b3247f:e7529dd7:5c4b48ce
Events : 120
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
Из вывода команды видно что оба винта нормально функционируют, состояние active sync А так будет выглядеть вывод команды mdadm -D /dev/md0 при одном вышедшем из строя диске
mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Wed May 18 19:33:25 2016
Raid Level : raid1
Array Size : 1947523904 (1857.30 GiB 1994.26 GB)
Used Dev Size : 1947523904 (1857.30 GiB 1994.26 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue May 24 22:12:11 2016
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : dc:1 (local to host dc)
UUID : f1322837:05b3247f:e7529dd7:5c4b48ce
Events : 120Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
Замена вышедшего из строя диска. Сбойный диск следует удалить командой
mdadm --manage /dev/md0 --remove /dev/sdb1
а также не следует забывать, что sdb1 является логическим разделом жесткого диска, на этомже физическом диске могут находится разделы sdb2 и т.д. Их все тоже следует удалить из райд массивов если они в них еще находятся. После этого можно заменить сбойный диск новым, разметить его partitioner-ом или другой программой разметки соответственно разделам райд массива и выполнить команду
# mdadm --manage /dev/md0 --add /dev/sdb1 mdadm: added /dev/sdb1
Проверим состояние массива
# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed May 18 19:33:10 2016
Raid Level : raid1
Array Size : 5854144 (5.58 GiB 5.99 GB)
Used Dev Size : 5854144 (5.58 GiB 5.99 GB)
Raid Devices : 1
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Tue May 24 21:48:21 2016
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : dc:0 (local to host dc)
UUID : 5a9c11f3:842e3b63:052ff6f0:7e69a990
Events : 19Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
Порядок, новый диск добавляется в массив. Операция происходит в фоновом режиме, время до полного добавления зависит от объема и скорости диска. После этого он опять перейдет в состояние active sync. PS в редких случаях диск один из дисков может перейти в состояние failed ,без физической неисправности поэтому перед физической заменой жесткого диска стоит попробовать удалить диск с состоянием failed и добавить его снова командами —remove —add , если он снова перейдет в состояние failed то необходима физическая замена диска. PS2 если необходимо заменить еще работающий в райде диск то его сначала нужно пометить как сбойный командой:
mdadm --manage /dev/md0 --fail /dev/sdb1
и только после этого этот диск можно будет удалить командой
mdadm --manage /dev/md0 --remove /dev/sdb1