Перейти к основному содержанию
 

mdadm — конвертация RAID1 в RAID5

Linux

Имеем массив RAID1 из двух дисков. Задача: добавить третий диск и преобразовать RAID1 в RAID5 с минимальным временем простоя сервиса. У меня используются диски NVMe.

Выключаем сервер, устанавливаем новый физический диск, включаем сервер.

Информация о RAID1

Текущая статистика массивов:

cat /proc/mdstat

raid

Видим массив md127 в режиме raid1. Массив состоит из двух разделов: nvme2n1p1 и nvme1n1p1. Более подробная информация о текущем массиве:

mdadm --detail /dev/md127

raid

Запоминаем пути разделов:

  • /dev/nvme2n1p1
  • /dev/nvme1n1p1

Подготовка раздела

Выведем в виде дерева структуру разделов дисков:

lsblk | grep nvme

raid

Видно, что имеется три диска, на диске nvme0n1 разделов нет, значит, это наш новый диск. Диск большой, больше 2 ТБ, поэтому нужно создать на нём GPT раздел. Использую fdisk.

fdisk /dev/nvme0n1
  • g — метка GPT
  • n — новый раздел
  • w — сохранить

raid

Раздел на новом диске создан.

lsblk | grep nvme

​​raid

Видим, что появился новый раздел, который мы будем добавлять в массив:

  • /dev/nvme0n1p1

Добавление диска в RAID1

Добавляем новый раздел в RAID1:

mdadm --manage /dev/md127 --add /dev/nvme0n1p1

raid

Посмотрим текущее состояние массива:

mdadm --detail /dev/md127

raid

Видно, что новый раздел добавился в качестве spare. Массив пока RAID1.

Преобразование RAID1 в RAID5

Меняем RAID1 на RAID5:

mdadm --grow /dev/md127 --level 5 --raid-devices 3

raid

Посмотрим текущее состояние массива:

mdadm --detail /dev/md127

raid

Тип массива RAID5, в массиве три диска. Состояние — reshaping. Завершено 0%.

Текущая статистика массивов также показывает состояние:

cat /proc/mdstat

raid

Можно посмотреть время до окончания процесса перестроения массива и скорость перестроения.

raid

Через 1122 минуты (примерно) перестроение завершилось.

Расширение файловой системы

Осталось расширить файловую систему, для ext4 использую resize2fs:

resize2fs /dev/md127

raid

Теги