В материале подробно рассмотрено управление LVM: создание и изменение физических, групповых и логических томов, настройка зеркалирования и чередования данных в CentOS Stream 10.
Содержание:
1. Физические тома (PV)
2. Группы томов (VG)
3. Логические тома (LV)
4. Зеркалирование (Mirror)
5. Чередование (Stripe)
1. Физические тома (PV)
Для нового диска sdb создайте раздел GPT и подготовьте его:
root@srv ~# parted --script /dev/sdb "mklabel gpt" root@srv ~# parted --script /dev/sdb "mkpart 'Linux LVM' 0% 100%" root@srv ~# parted --script /dev/sdb "set 1 lvm on"
Инициализация PV:
root@srv ~# pvcreate /dev/sdb1
Указать конкретный размер:
root@srv ~# pvcreate --setphysicalvolumesize 50G /dev/sdb1
Просмотр информации:
root@srv ~# pvdisplay /dev/sdb1 "/dev/sdb1" is a new physical volume of "<160.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 PV Size <160.00 GiB Allocatable NO
Изменение размера:
root@srv ~# pvresize --setphysicalvolumesize 50G /dev/sdb1
Краткий отчёт и сканирование:
root@srv ~# pvs /dev/sdb1 root@srv ~# pvscan
Удаление PV:
root@srv ~# pvremove /dev/sdb1
2. Группы томов (VG)
Создание группы из одного или нескольких PV:
root@srv ~# vgcreate vg_data /dev/sdb1 root@srv ~# vgcreate vg_data /dev/sdb1 /dev/sdd1
Просмотр и переименование:
root@srv ~# vgdisplay vg_data root@srv ~# vgrename vg_data vg_newname
Отчёты и сканирование:
root@srv ~# vgs root@srv ~# vgscan
Расширение и уменьшение:
root@srv ~# vgextend vg_data /dev/sdc1 root@srv ~# vgreduce vg_data /dev/sdc1
Деактивация и удаление:
root@srv ~# vgchange -a n vg_data root@srv ~# vgremove vg_data
3. Логические тома (LV)
Создание тома заданного размера или на всё свободное место:
root@srv ~# lvcreate -L 30G -n lv_data vg_data root@srv ~# lvcreate -l 100%FREE -n lv_data vg_data
Просмотр, переименование и отчёты:
root@srv ~# lvdisplay /dev/vg_data/lv_data root@srv ~# lvrename vg_data lv_data lv_storage root@srv ~# lvs root@srv ~# lvscan
Создание снимка (snapshot):
root@srv ~# lvcreate -s -L 30G -n snap-lv_data /dev/vg_data/lv_data
Расширение на лету (с последующим растягиванием ФС XFS):
root@srv ~# lvextend -L 50G /dev/vg_data/lv_data root@srv ~# xfs_growfs /mnt
Уменьшение (только для ext4, требуется отмонтировать и проверить ФС):
root@srv ~# e2fsck -f /dev/vg_data/lv_storage root@srv ~# resize2fs /dev/vg_data/lv_storage 30G root@srv ~# lvreduce -L 30G /dev/vg_data/lv_storage
Удаление LV:
root@srv ~# lvchange -an /dev/vg_data/lv_storage root@srv ~# lvremove /dev/vg_data/lv_storage
4. Зеркалирование (Mirroring)
Создание зеркалированного тома (аналог RAID 1):
root@srv ~# vgcreate vg_mirror /dev/sdb1 /dev/sdc1 root@srv ~# lvcreate -L 50G -m1 -n lv_mirror vg_mirror
Преобразование существующего LV в зеркало:
root@srv ~# vgextend vg_data /dev/sdc1 root@srv ~# lvconvert -m1 /dev/vg_data/lv_data /dev/sdc1
Проверка синхронизации (столбец Cpy%Sync должен стать 100):
root@srv ~# lvs
Отключение зеркалирования:
root@srv ~# lvconvert -m0 /dev/vg_data/lv_data
5. Чередование (Striped)
Создание тома с чередованием для повышения производительности:
root@srv ~# vgcreate vg_striped /dev/sdb1 /dev/sdc1 root@srv ~# lvcreate -L 50G -i2 -I 64 -n lv_striped vg_striped
Проверка распределения данных по дискам:
root@srv ~# lvs -a -o vg_name,name,devices,size

