lvm

Подготовка физических устройств

Инициализация диска/раздела как физического тома (PV):

pvcreate /dev/sdb /dev/sdc

Просмотр всех PV:

pvs
pvdisplay

Создание группы томов (VG)

Создать VG из одного или нескольких PV:

vgcreate vg_data /dev/sdb /dev/sdc

Просмотр групп томов:

vgs
vgdisplay vg_data

Создание логического тома (LV)

Создать логический том фиксированного размера:

lvcreate -n lv_documents -L 100G vg_data

Создать логический том, использующий весь доступный свободный размер:

lvcreate -n lv_all -l 100%FREE vg_data

Просмотр LV:

lvs
lvdisplay /dev/vg_data/lv_documents

Форматирование и монтирование

Форматировать в ext4:

mkfs.ext4 /dev/vg_data/lv_documents

Создать точку монтирования и смонтировать:

mkdir -p /mnt/documents
mount /dev/vg_data/lv_documents /mnt/documents

Добавить в /etc/fstab (пример):

/dev/vg_data/lv_documents  /mnt/documents  ext4  defaults  0 2

Изменение размера логического тома

Примечание: перед уменьшением размера файловой системы — её нужно уменьшить безопасно (например, для ext4 — umount и resize2fs), при увеличении — увеличить FS после увеличения LV.

Увеличить LV на 50G и расширить FS (онлайн, для ext4 через resize2fs):

lvextend -L +50G /dev/vg_data/lv_documents
resize2fs /dev/vg_data/lv_documents

Уменьшить LV (пошагово для ext4):

umount /mnt/documents
e2fsck -f /dev/vg_data/lv_documents
resize2fs /dev/vg_data/lv_documents 80G
lvreduce -L 80G /dev/vg_data/lv_documents
mount /dev/vg_data/lv_documents /mnt/documents

Добавление/удаление физических дисков в VG

Добавить новый диск в VG:

pvcreate /dev/sdd
vgextend vg_data /dev/sdd

Переместить данные и удалить диск из VG:

pvmove /dev/sdb
vgreduce vg_data /dev/sdb
pvremove /dev/sdb

Создание снимков (snapshot)

(устаревший метод для LVM2 — использовать с осторожностью)

Создать snapshot (пример):

lvcreate -L 10G -s -n lv_documents_snap /dev/vg_data/lv_documents

Восстановление из snapshot (пример):

lvconvert --merge /dev/vg_data/lv_documents_snap