Сегодня будем добавлять диск в RAID5, собранный с помощью mdadm. Операция отработана, мы уже это делали раньше.
mdadm — добавляем диски в RAID5 массив
Есть одно маленькое отличие: мы не смогли найти такой же диск. Точно таких же дисков нет, в сервере стоят Intel. DWPD 3.
SSD 7.68 TB Intel P4610 Series SSDPE2KE076T801
Диски такого объёма в продаже есть, однако, с надёжностью у них не очень, везде DWPD 1. Меня это не устраивает, сервер критичный. Решили брать всё-таки DWPD 3, но большего объёма. Это допустимо для RAID массивов.
Взяли Micron объёмом 12.5 ТБ.
SSD Micron U.3 7450 Max 12.5TB — MTFDKCC12T8TFS-1BC1ZAB
Наш рабочий стенд:
- Сервер Supermicro SYS-2029U-TN24R4T
- И в нём куча NVMe дисков, не помню сколько, посмотрим
Установка диска
Еду в ЦОД. Извлекаю из сервера пустые салазки.
Вот, кстати, минус этих салазок. Заглушка закреплена саморезами, которые не подходят для крепления диска. Постоянно забываю про это. Хорошо, есть всегда с собой пакетик с разными винтами.
Устанавливаю диск в салазки.
Закрепляю винтами.
Не выключая сервер устанавливаю диск на горячую.
Диск определяется.
Салазки позволяют заблокировать механизм от случайного извлечения. Понадобится маленькая плоская отвёртка.
Поворот по часовой стрелке на 90 градусов.
На этом аппаратная часть закончена.
Сбор сведений
Проверим, что диск корректно определился с помощью NVMe Command Line Interface (NVMe-CLI).
nvme list
В сервере 16 дисков, новый будет 17-м.
Посмотрим текущее состояние массивов.
cat /proc/mdstat
Массив md0 состоит из 16 дисков, вернее разделов:
- nvme11n1p1
- nvme0n1p1
- nvme5n1p1
- nvme7n1p1
- nvme9n1p1
- nvme13n1p1
- nvme14n1p1
- nvme6n1p1
- nvme2n1p1
- nvme4n1p1
- nvme15n1p1
- nvme10n1p1
- nvme8n1p1
- nvme3n1p1
- nvme12n1p1
- nvme1n1p1
Все диски в состоянии U (Up). Есть один spare диск [S].
Массив в состоянии active, всё в порядке. Детальную информацию можно посмотреть командой:
mdadm --detail /dev/md0
Подготовка диска
Выводим все NVMe диски со структурой в виде дерева:
lsblk | grep nvme
Видим, что на новом диске нет разделов, он называется:
- nvme16n1
Создадим раздел на новом диске с помощью fdisk:
fdisk /dev/nvme16n1
g
n
w
Расширение массива
Добавляем новый раздел в массив:
mdadm /dev/md0 -a /dev/nvme16n1p1
Операция быстрая.
mdadm --detail /dev/md0
Разделы добавился как второй spare.
Теперь расширяем массив:
mdadm -G /dev/md0 --raid-devices=16 --backup-file=/var/backup
Где raid-devices — новое количество активных дисков (не считая spare), а backup-file — файл с сохранённой структурой массива.
mdadm --detail /dev/md0
Статус массива active, resharping. 0% complete. Массив перестраивается, при этом активно используется базой, простоя нет.
Можно узнать скорость перестроения и время до окончания процесса:
cat /proc/mdstat
Осталось 6183 минуты, показан процент завершения, скорость 20 мегабайт в секунду. Это очень медленно. Ускорим.
mdadm — увеличиваем скорость синхронизации массива
echo 1200000 > /proc/sys/dev/raid/speed_limit_max
После окончания процедуры можно будет расширить файловую систему. Основная работа сделана, можно приступить к чаю.