LVM. Уменьшение (Reduce/Decrease/Shrink) объема раздела LVM
Описание
В данной инструкции мы уменьшаем системный раздел root, но она также подойдет и для уменьшения НЕсистменого раздела.
Грузимся с загрузочного LIVE дистрибутива Linux. Например, с SystemRescueCD
Все действия производим в LIVE системе.
Вариант 1. XFS файловая система на разделе LV
Активируем LVM разделы
vgchange -ay
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 28.99g swap centos_centos7-test01 -wi-a----- 2.00g data data -wi-a----- 508.00m
Создаем директорию для монтирования системы root
mkdir /mnt/root_lv
Создаем директорию для бэкапа файлов раздела root в образ
mkdir /mnt/root_backup
Монтируем раздел root в директорию
mount /dev/centos_centos7-test01/root /mnt/root_lv/
Монтируем сетевую шару, на которую будем бэкапировать файлы раздела root (для этого подойдет и обычный раздел локального диска, например, подключенного через USB)
mount -t cifs -o username=admin,password=fTrerior //192.168.17.12/img/tmp/root /mnt/root_backup/
Бэкапим файлы раздела root в образ
xfsdump -l 0 -L "root_backup" -M "root_backup" -f /mnt/root_backup/root_backup.img /mnt/root_lv
Демонтируем раздел root
umount /mnt/root_lv
Удаляем раздел root, чтобы на его месте создать новый root уменьшенного размера
lvremove /dev/centos_centos7-test01/root
Создаем новый root уменьшенного размера
lvcreate -Zy -L 15G -n root centos_centos7-test01
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-a----- 15.00g swap centos_centos7-test01 -wi-a----- 2.00g data data -wi-a----- 508.00m
vgs
VG #PV #LV #SN Attr VSize VFree centos_centos7-test01 1 2 0 wz--n- <31.00g <14.00g data 1 1 0 wz--n- 1020.00m 512.00m
Форматируем новый раздел root
В mkfs.xfs (начиная с версии 3.2.4 xfsprogs) недавно стал использоваться по умолчанию суперблок версии 5 с множеством новых улучшений, таких как контрольные суммы метаданных CRC. Чтобы избежать ошибки, требуется "-m reflink=0", что отключает несовместимую поддержку копирования при записи reflink.
mkfs.xfs -m reflink=0 /dev/centos_centos7-test01/root
Монтируем новый раздел в директорию
mount /dev/centos_centos7-test01/root /mnt/root_lv/
Восстанавливаем файлы root из сохраненного образа
xfsrestore -f /mnt/root_backup/root_backup.img /mnt/root_lv
Демонтируем раздел root и директорию для бэкапа
umount /mnt/root_*
Перезагружаемся, систем должна загрузиться
reboot