В пердидущей статья мы рассмотрели создание райд 1 массива и установку на него ОС. Сегодня рассмотрим утилиту мониторинга и обслуживания райд массивов mdadm. С помощью этой утилиты можно выполнять следующие операции:
- Create — создание RAID-массива из нескольких дисков
- Assemble — сборка (ранее созданного) массива и его активация.
- Build — объединение дисков в массив (без суперблоков).
- Manage — Управление массивом: добавление новых свободных дисков (spares) и удаление неработоспособных (faulty devices).
- Follow/Monitor — Следить за одним или несколькими md-устройствами и реагировать на изменение их состояния.
- Grow — расширение или уменьшение размера (shrink) массива, либо иное его реформирование (reshape).
- Misc — прочие операции с независимыми дисками.
В рамках данной статьи нас интересуют команды вывода состояния массива и команда Manage для оперативной замены вышедшего из строя диска.
Состояние массива.
Информацию о всех райд массивах и дисках из которых они состоят можно получить выводом файла «/proc/mdstat»
linux-g20u:/ # cat /proc/mdstat Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md0 : active raid1 sda1[0] sdb1[1] 2095092 blocks super 1.0 [2/2] [UU] bitmap: 0/1 pages [0KB], 65536KB chunk md1 : active raid1 sda2[0] sdb2[1] 6292468 blocks super 1.0 [2/2] [UU] bitmap: 1/1 pages [4KB], 65536KB chunk unused devices: linux-g20u:/ #
Краткую информацию о райд массиве можно получить по ключу -Q
linux-g20u:/ # mdadm -Q /dev/md0 /dev/md0: 2045.99MiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail. linux-g20u:/ #
Более подробную информацию получаем ключом —detail или -D
linux-g20u:/ # mdadm -D /dev/md0 /dev/md0: Version : 1.0 Creation Time : Wed Jul 27 13:48:33 2011 Raid Level : raid1 Array Size : 2095092 (2046.33 MiB 2145.37 MB) Used Dev Size : 2095092 (2046.33 MiB 2145.37 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Thu Jul 28 16:18:43 2011 State : active Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : linux:0 UUID : c1aeb84b:d577e3ef:eff28640:d91c9a84 Events : 43 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 linux-g20u:/home/teis/Рабочий стол #
Из вывода команды видно что оба винта нормально функционируют, состояние active sync
А так будет выглядеть вывод команды mdadm -D /dev/md0 при одном вышедшем из строя диске
linux-g20u:/ # mdadm -D /dev/md0 /dev/md0: Version : 1.0 Creation Time : Wed Jul 27 13:48:33 2011 Raid Level : raid1 Array Size : 2095092 (2046.33 MiB 2145.37 MB) Used Dev Size : 2095092 (2046.33 MiB 2145.37 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Jul 31 16:21:08 2011 State : active, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 Name : linux:0 UUID : c1aeb84b:d577e3ef:eff28640:d91c9a84 Events : 44 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 0 0 1 removed 1 8 17 - faulty spare /dev/sdb1 linux-g20u:/ #
Замена вышедшего из строя диска.
Сбойный диск следует удалить командой
mdadm --manage /dev/md0 --remove /dev/sdb1
а также не следует забывать, что sdb1 является логическим разделом жесткого диска, на этомже физическом диске могут находится разделы sdb2 и т.д. Их все тоже следует удалить из райд массивов если они в них еще находятся. После этого можно заменить сбойный диск новым, разметить его partitioner-ом или другой программой разметки соответственно разделам райд массива и выполнить команду
linux-g20u:/ # mdadm --manage /dev/md0 --add /dev/sdb1 mdadm: added /dev/sdb1
Проверим состояние массива
linux-g20u:/ # mdadm -D /dev/md0 /dev/md0: Version : 1.0 Creation Time : Wed Jul 27 13:48:33 2011 Raid Level : raid1 Array Size : 2095092 (2046.33 MiB 2145.37 MB) Used Dev Size : 2095092 (2046.33 MiB 2145.37 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Jul 31 16:38:51 2011 State : active, degraded, recovering Active Devices : 1 Working Devices : 2 Failed Devices : 0 Spare Devices : 1 Rebuild Status : 9% complete Name : linux:0 UUID : c1aeb84b:d577e3ef:eff28640:d91c9a84 Events : 68 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 2 8 17 1 spare rebuilding /dev/sdb1 linux-g20u:/ #
Порядок, новый диск добавляется в массив. Операция происходит в фоновом режиме, время до полного добавления зависит от объема и скорости диска. После этого он опять перейдет в состояние active sync.
PS в редких случаях диск один из дисков может перейти в состояние failed ,без физической неисправности поэтому перед физической заменой жесткого диска стоит попробовать удалить диск с состоянием failed и добавить его снова командами —remove —add , если он снова перейдет в состояние failed то необходима физическая замена диска.
PS2 если необходимо заменить еще работающий в райде диск то его сначала нужно пометить как сбойный командой:
mdadm --manage /dev/md0 --fail /dev/sdb1
и только после этого этот диск можно будет удалить командой
mdadm --manage /dev/md0 --remove /dev/sdb1