Уменьшение корневого раздела (LVM на mdadm RAID1) сервера в Selectel

Скрипт автоматической установки ОС на сервер в Selectel занимает под корневой раздел всё доступное пространство. Уменьшить корневой раздел можно загрузив сервер через Selectel Rescue.

При старте Selectel Rescue должна отработать команда infiltrate-root. В некоторых случаях infiltrate-root может не сработать. Одной из причин может быть то, что не собрался RAID.

Проверяем, как организована файловая система ОС:

fdisk -l

Если нет RAID (md0, md1 и т.д.), то его надо собрать  (пример для сервера с RAID1 из двух дисков):

mdadm --assemble /dev/md0 /dev/sda3 /dev/sdb3
mdadm --assemble /dev/md1 /dev/sda4 /dev/sdb4

Проверяем доступность физического тома LVM:

pvscan

Проверяем доступность групп томов:

vgscan

Активируем логические тома:

vgchange -a y

Смотрим логические тома:

lvscan

Выполняем проверку файловой системы тома:

fsck.ext4 /dev/mapper/vg0-root

Выполняем проверку на наличие ошибок:

e2fsck -f /dev/mapper/vg0-root

Уменьшаем размер файловой системы тома (указываем размер, который мы хотим задать для файловой системы, а не на который мы хотим уменьшить файловую систему):

resize2fs -p /dev/mapper/vg0-root 100G

Изменяем размер тома LVM:

lvreduce -L 100G /dev/mapper/vg0-root

Выполняем перезагрузку сервера в штатном режиме.