Содержание
1. Управление массивом
1.1 Создание массива
1 |
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc |
mdadm —create — команда на создание массива
verbose — подробный вывод создания массива
level=5 — уровень массива
raid-devices=3 количество устройств
/dev/sda /dev/sdb /dev/sdc — диски которые войдут в массив
Записываем информацию о массивах в mdadm.conf
1 |
sudo mdadm --examine --scan > /etc/mdadm/mdadm.conf |
И обновляем образ Initramfs
1 |
sudo update-initramfs -u |
1.2 Проверка состояния массива
1 |
cat /proc/mdstat |
1 2 3 4 5 6 7 8 9 10 11 |
Personalities : [raid10] [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] md1 : active raid1 sdf5[1] sde5[0] 976140288 blocks super 1.2 [2/2] [UU] bitmap: 0/8 pages [0KB], 65536KB chunk md0 : active raid1 sdf1[2] sde1[3] 486400 blocks super 1.2 [2/2] [UU] md2 : active raid10 sda[0] sdc[2] sdb[4] sdd[3] 1953260544 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] bitmap: 0/15 pages [0KB], 65536KB chunk |
Для просмотра статуса перестройки массива в реальном времени можно использовать команду
1 |
watch cat /proc/mdstat |
Проверка целостности массива
1 |
echo check | sudo tee /sys/block/md1/md/sync_action |
Смотрим прогресс
1 |
cat /proc/mdstat |
Результат проверки
1 |
cat /sys/block/md0/md/mismatch_cnt |
1.3 Работа с дисками
Пометка сбойного диска в массиве
1 |
sudo mdadm /dev/md0 --fail /dev/sda |
Удаление диска
1 |
sudo mdadm /dev/md0 --remove /dev/sda |
Добавление нового диска в массив
1 |
sudo mdadm /dev/md0 --add /dev/sda |
Просмотр информации о диске в массиве
1 |
sudo mdadm --examine /dev/sda |
1.4 Удаление массива и затирание информации superblock
Удаляем массив
1 |
sudo mdadm -S /dev/md0 |
Затираем superblock на дисках входящих в массив
1 2 |
sudo mdadm --zero-superblock /dev/sda sudo mdadm --zero-superblock /dev/sdb |
2. Мониторинг состояния массива через Zabbix
Для мониторинга нам понадобится установленный zabbix agent (первая или вторая версия не принципиально). Для того чтобы узнать статус массива нужно выполнить команду
1 |
cat /proc/mdstat |
1 2 3 4 5 6 7 8 9 10 11 |
Personalities : [raid10] [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] md1 : active raid1 sdf5[1] sde5[0] 976140288 blocks super 1.2 [2/2] [UU] bitmap: 0/8 pages [0KB], 65536KB chunk md0 : active raid1 sdf1[2] sde1[3] 486400 blocks super 1.2 [2/2] [UU] md2 : active raid10 sda[0] sdc[2] sdb[4] sdd[3] 1953260544 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] bitmap: 0/15 pages [0KB], 65536KB chunk |
В данном выводе у меня два массива raid-1 и один raid-10. Символы U говорят что диск исправен и с рейдом все хорошо, если диск вылетит будет стоять _. Для проверки мониторинга выполним команду
1 |
egrep -c "\[.*_.*\]" /proc/mdstat |
если вывод равен 0 то массив исправен в противном случае массив считается неисправным.
Добавляем в файл конфигурации агента
1 |
sudo nano /etc/zabbix/zabbix_agent2.conf |
1 |
UserParameter=mdadm.status,egrep -c "\[.*_.*\]" /proc/mdstat |
И перезапускаем агент
1 |
sudo systemctl restart zabbix-agent2.service |
Проверяем работу параметра
1 |
sudo zabbix_agent2 -t mdadm.status |
1 |
mdadm.status [s|0] |
Загружаем шаблон для zabbix (ТЫК) и используем.
3. Восстановление mdadm.conf (Initramfs)
Развалился массив и система перешла в режим только чтения. После перезагрузки загрузился initramfs с сообщениями об дублировании записей массива в файле конфигурации. Запускаем команду:
1 |
mdadm --detail --scan |
и если в выводе пусто или не хватает нужного массива то запускаем команду по определению массивов в системе
1 |
mdadm --examine --scan |
вывод у меня был следующий
1 2 3 |
ARRAY /dev/md/0 metadata=1.2 UUID=2209f872:088d57b0:62346d18:5d1bb8d7 name=DVR:0 ARRAY /dev/md/1 metadata=1.2 UUID=d396ef0c:99a65f80:247ca8d3:01c8e847 name=DVR:1 ARRAY /dev/md/2 metadata=1.2 UUID=26b492c6:cd350cca:e2afce29:7d201879 name=DVR:2 |
Теперь нужно записать данные в файл
1 |
mdadm --examine --scan > /etc/mdadm/mdadm.conf |
После этого нужно пересобрать массивы
1 |
mdadm --assemble --scan |
Далее выходит из Initramfs
1 |
exit |
Залогинившись нужно обновить mdadm в initramfs
1 2 |
mdadm --examine --scan > sudo /etc/mdadm/mdadm.conf update-initramfs -u |
И перезагружаем систему.