Hetzner: Создание Raid массива, из дополнительных дисков в CentOS 8
Сегодня настраивал очередной сервер от Hetzner-а. У него была конфигурация из 2х пар дисков: 1ая пара SSD по 250 Гб и вторая SATA по 2 Гб. Необходимо было сделать два рейд массива первого уровня, для каждой из пар...
Т.к. сервер покупал абсолютно чистый, то при установке системы первый рейд массив создал прямо во время установки. Про то, как это сделать я уже писал тут: Hetzner: установка CentOS 7 с диском на 3 TB , так что не буду повторяться. Единственное, что стоит заметить, это необходимость исключить вторую пару, просто закомментировав строчки второй пары дисков и выбрав правильный уровень рейда в конфигурации:
1 2 3 4 5 6 7 8 9 10 |
... DRIVE1 /dev/sda DRIVE1 /dev/sda # DRIVE2 /dev/sdb # DRIVE3 /dev/sdc ... SWRAIDLEVEL 1 ... |
1 2 3 4 5 6 7 |
ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdc /dev/sdd |
как видим sdc и sdd остались не размечены, поэтому размечаем их.
Сперва выбираем таблицу разметки. Т.к. у меня 2TB диски, я выбираю GPT.
1 2 3 4 |
parted /dev/sdc mklabel gpt parted /dev/sdd mklabel gpt |
Далее создаем раздел, я использую все доступное место: от 0% до 100%
1 2 3 4 |
parted -a optimal -- /dev/sdc mkpart primary 0% 100% parted -a optimal -- /dev/sdd mkpart primary 0% 100% |
теперь помечаем диски, указывая что они используются в рейде
1 2 3 4 |
parted /dev/sdc set 1 raid on parted /dev/sdd set 1 raid on |
после этого проверяем появились ли они устройствах
1 2 3 4 5 6 7 8 |
ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1 |
видим, что появились sdc1 и sdd1
Проверяем какой рейд id у нас следующий
1 2 3 4 5 |
ls /dev/md* /dev/md0 /dev/md1 /dev/md2 |
в моем случае следующий 3, т.е. устройство назову /dev/md3. Создаю рейд
1 2 3 4 5 6 |
mdadm --create /dev/md3 --auto md --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md3 started. |
Тут система написала нам, что создание массива началось. Для того чтобы диски синхронизировались потребуется некоторое время.
Проверить статус можно так
1 2 3 4 5 6 7 8 9 |
cat /proc/mdstat Personalities : [raid1] md3 : active raid1 sdd1[1] sdc1[0] 1953381376 blocks super 1.2 [2/2] [UU] [==>..................] resync = 12.2% (238910464/1953381376) finish=188.8min speed=151328K/sec bitmap: 14/15 pages [56KB], 65536KB chunk |
Если вы видите, что скорость синхронизации маленькая, то можно проверить лимиты скорости и при необходимости увеличить их. Сперва смотрим какие лимиты установлены
1 2 3 4 5 6 7 |
cat /proc/sys/dev/raid/speed_limit_min 1000 cat /proc/sys/dev/raid/speed_limit_max 200000 |
Далее, увеличиваем их вот так
1 2 3 4 |
echo 250000 > /proc/sys/dev/raid/speed_limit_min echo 500000 > /proc/sys/dev/raid/speed_limit_max |
После синхронизации возвращаем обратно
1 2 3 4 |
echo 1000 > /proc/sys/dev/raid/speed_limit_min echo 200000 > /proc/sys/dev/raid/speed_limit_max |
Если хочется позалипать в процесс синхронизации дисков, можно сделать это так
1 2 3 |
watch -n 5 cat /proc/mdstat |
Пока массив синхронизировался я занялся настройкой файрвола и забыв о рейде перезагрузил сервер. После перезагрузки, статус синхронизации установился в PENDING
1 2 3 4 5 6 7 8 9 |
cat /proc/mdstat Personalities : [raid1] md127 : active (auto-read-only) raid1 sdd1[1] sdc1[0] 1953381376 blocks super 1.2 [2/2] [UU] resync=PENDING bitmap: 6/15 pages [24KB], 65536KB chunk |
а номер массива изменился на md127. Продолжить синхронизацию можно так
1 2 3 |
mdadm --readwrite /dev/md127 |
а чтобы переименовать в /dev/md3, ищем его UUID
1 2 3 4 5 |
mdadm --detail /dev/md127 | grep UUID UUID : a96df874:dd05a3a9:96448f9a:019b43fa |
добавляем в mdadm.conf
1 2 3 |
nano /etc/mdadm.conf |
и добавляем по аналогии с существующими записями
1 2 3 |
ARRAY /dev/md/3 metadata=1.2 UUID=a96df874:dd05a3a9:96448f9a:019b43fa name=rescue:3 |
после этого обновляем имя и перегенериваем initramfs
1 2 3 4 |
mdadm --assemble --update=name --name=3 /dev/md3 /dev/sdc1 /dev/sdd1 dracut --force |
дожидаемся синхронизации и перезагружаемся. Проверяем, что диск именуется правильно
1 2 3 4 5 6 |
ls -al /dev/md* /dev/md0 /dev/md1 /dev/md2 /dev/md3 /dev/md: 0 1 2 3 |
После того, как массив будет создан форматируем его в ext4.
1 2 3 |
mkfs.ext4 /dev/md3 |
Теперь можно попробовать примонтировать массив в ручном режиме
1 2 3 4 |
mkdir -p /mnt/disk-2 mount /dev/md3 /mnt/disk-2 |
Проверяем что все подмонтировано хорошо и мы можем писать в указанную папку
1 2 3 4 |
df -h echo 123 > /mnt/disk-2/test.txt |
Для того, чтобы отмонтировать его выполняем
1 2 3 |
umount /mnt/disk-2 |
Теперь можно добавить ему автоматическое монтирование при старте системы. Для этого смотрим UUID диска
1 2 3 4 5 |
blkid /dev/md3 /dev/md3: UUID="022f84a8-56f5-430b-b736-7f83844c8de5" TYPE="ext4" |
и добавляем его в /etc/fstab
1 2 3 |
nano /etc/fstab |
и внутрь добавляем
1 2 3 4 |
/dev/md/3 UUID=022f84a8-56f5-430b-b736-7f83844c8de5 /mnt/disk-2 ext4 defaults 0 0 |
теперь осталось только перезагрузиться и проверить что диск автоматически смонтирован в /mnt/disk2
Доугие полезные статьи про Raid массивы на хетцнере
Author: | Tags: /
| Rating:
Leave a Reply