mdadm - программный рейд Linux

Любой слабенький комп на райзене, а уж тем более современные 8 ядерные процы с достаточным объемом оперативной памяти способны создать достаточно быстрый массив, который уделает бюджетные контроллеры и к тому же более предсказуем, переставляем диски на любой другой комп даже через usb-корзину и собираем Raid.

Создание массива

На всякий случай потрем суперблоки, чтобы не возникало ошибок после перезагрузки, на основе этих суперблоков при старте собираются массивы, я один раз совершил ошибку, расформировал Raid-1 и собрал Raid-0, а при перезагрузке получил совсем не тот массив что собирал с поломанными данными

В данном примере рассматриваем создание массива из цельных дисков, если указывать номер раздела, то можно тоже самое делать с разделами, это удобно при зеркалировании дисков разных размеров, например есть диск на 10 террабайт и на 5, можно на двух дисках создать разделы по 5 террабайт и зазеркалить и еще 5 террабайт будут без зеркала или подключены в другой массив...
mdadm --zero-superblock /dev/sdx
mdadm --zero-superblock /dev/sdy

Если выдает ошибку, значит суперблоков нет, всё ок.

Затрем метаданные на дисках

wipefs --all --force /dev/sdx
wipefs --all --force /dev/sdy

Создаем устройство

  • -l 0 - RAID-0
  • -n 2 - два диска в массиве
mdadm --create --verbose /dev/md8 -l 0 -n 2 /dev/sdd /dev/sda

Создаем файловую систему на md устройстве

mkfs.ext4 /dev/md8

Расформирование массива

Если вдруг захотели из Raid1 переделать в Raid0, то действия следующие

Отмонтируем диск

umount /dev/md8

Остановим массив

mdadm -S /dev/md8

Далее, чтобы при рестарте системы у нас не собрался непредсказуемый массив основанный на устаревших данных в дисках, нужно затереть суперблоки

mdadm --zero-superblock /dev/sdx1
mdadm --zero-superblock /dev/sdy1

Обновление конфигурации

Бывает такое что после удаления и вновь создания массивов возникают проблемы с нумерацией, когда вместо md1 создается md127, решается это примерно так

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Далее нужно открыть файл /etc/mdadm/mdadm.conf и удалить или закомментировать там дублирующие старые строчки, а потом обновить initramfs и перезагрузиться

update-initramfs -u
reboot 

Вывод из режима read-only

Для raid5 может такое произойти что диск синхронизировался, вы не дождались полной синхронизации и перезагрузили компьютер

md5 : active (auto-read-only) raid5 sdd[2] sda[1] sdc[4] sdf[0]
      52734587904 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
      bitmap: 0/131 pages [0KB], 65536KB chunk

Чтобы вывести диск из этого режима нужно выполнить команду

mdadm -w /dev/md5

Иногда рейд переходит в автоматический RO лишь по причине что раздел не примонтирован, стоит его смонтировать и всё будет как обычно.

Показать комментарии