Шпаргалка сисадмина

mdadm — создаём RAID5 массив

28.02.2025 | Категория: Linux

mdadm — создаём RAID5 массив

Как создать REID10 - тут

Установка дисков

Диски объёмом 12.8 ТБ:

Samsung SSD MZPLJ12THALA-00007 — NVMe 12.8 ТБ

Устанавливаю в сервер HP ProLiant DL360 Gen9:

HPE ProLiant DL360 Gen9 — обзор

HP Proliant DL360 Gen9 — установка PCIe NVMe диска

В эту модель сервера можно установить максимум три таких диска. В первый слот понадобится полнопрофильная планка, во второй и третий — укороченная, придётся поработать отвёрткой.

Модели дисков можно посмотреть с помощью команды nvme из пакета nvme-cli:

nvme list

После установки дисков и загрузки сервера выполняем:

lsblk | grep nvme

Видим, что диски определились как nvme0n1, nvme2n1, nvme1n1.

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

Объём NVMe превышает 2 ТБ, поэтому создадим GPT разделы на дисках, а уже потом объединим их в RAID5 массив. Есть разные способы создать GPT раздел:

Linux — создать GPT раздел более 2 терабайт

Создаём GPT раздел на диске nvme0n1. Я использую fdisk:

[root@db02 ~]# fdisk /dev/nvme0n1
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): g
Building a new GPT disklabel (GUID: 30FC3176-F4BE-4888-A503-0684B1F9ECD6)

Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-25000148958, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-25000148958, default 25000148958):
Created partition 1

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Аналогично создаём GPT раздела на дисках nvme2n1, nvme1n1:

fdisk /dev/nvme2n1
fdisk /dev/nvme1n1Копировать

Проверяем что получилось:

lsblk | grep nvme

У нас теперь есть три раздела:

  • /dev/nvme0n1p1
  • /dev/nvme2n1p1
  • /dev/nvme1n1p1

mdadm — создаём RAID5

Я использую б/у диски из другого сервера, поэтому не помешает их почистить:

mdadm --zero-superblock /dev/nvme0n1p1
mdadm --zero-superblock /dev/nvme2n1p1
mdadm --zero-superblock /dev/nvme1n1p1
wipefs --all --force /dev/nvme0n1p1
wipefs --all --force /dev/nvme2n1p1
wipefs --all --force /dev/nvme1n1p1Копировать

Проверим какие уже есть массивы:

cat /proc/mdstat

Массивов нет, нам же проще. Создавать будем массив md10.

mdadm --create --verbose /dev/md10 --level=5 --raid-devices=3 /dev/nvme0n1p1 /dev/nvme1n1p1 /dev/nvme2n1p1
или
mdadm --create --verbose /dev/md10 -l 5 -n 3 /dev/nvme0n1p1 /dev/nvme2n1p1 /dev/nvme1n1p1

Массив /dev/md10 создан. Проверим состояние.

mdadm --detail /dev/md10

Состояние массива clean, degraded, recovering. Не пугаемся, всё в порядке. Начинается перестроение массива, но даже в таком состоянии диском можно уже пользоваться.

Создаём mdadm.conf

Чтобы после перезагрузки массив так и остался с названием md10, нужно сделать файл mdadm.conf. Создаём директорию:

mkdir /etc/mdadmКопировать

Заполняем конфигурационный файл:

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Конфигурационный файл создан.

cat /etc/mdadm/mdadm.conf

Я перезагружаю сервер, чтобы проверить, что имя массива после перезагрузки md10, но это не обязательно.

Создание файловой системы

Создаём файловую систему EXT4:

mkfs.ext4 -m 0 /dev/md10

Определяем идентификатор UUID:

blkid /dev/md10

В ответ получаем:

/dev/md10: UUID="b1c72884-b7f5-4154-bd99-16dbcaf7bf39" TYPE="ext4"Копировать

Создаём директорию /u01 для монтирования:

mkdir /u01Копировать

В /etc/fstab добавляем опцию монтирования:

UUID=b1c72884-b7f5-4154-bd99-16dbcaf7bf39 /u01  ext4  defaults  0 0Копировать

Монтируем:

mount -a
df -h | grep u01

Теперь в системе есть новая директория на 24 ТБ. Директорией можно пользоваться, но осторожно, так как перестроение ещё не закончилось.

Заключение

Время перестроения можно узнать:

cat /proc/mdstat

Осталось 992 минуты.

После перестроения:

cat /proc/mdstat
mdadm --detail /dev/md10

Теперь массив выдержит выход из строя одного диска.

 

Источник

Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.