====== 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