LVM¶
TL;DR¶
- PV (Physical Volume) — физический диск/раздел
- VG (Volume Group) — объединение PV в пул
- LV (Logical Volume) — виртуальный раздел из VG
- Можно менять размер LV на лету, делать снапшоты
Быстрый старт¶
Добавить новый диск и создать том:
Bash
pvcreate /dev/sdb
vgcreate data_vg /dev/sdb
lvcreate -L 50G -n app_lv data_vg
mkfs.ext4 /dev/data_vg/app_lv
mount /dev/data_vg/app_lv /mnt/app
Команды¶
Создание¶
Инициализировать диск как PV. Создать VG из нескольких PV. Создать LV на 10 ГБ.Расширение¶
Добавить 5 ГБ к LV и расширить ФС (ext4).Сокращение¶
Bash
Сначала уменьшить ФС, потом LV. Иначе потеря данных. umount /dev/my_vg/my_lv
e2fsck -f /dev/my_vg/my_lv
resize2fs /dev/my_vg/my_lv 15G
lvreduce -L 15G /dev/my_vg/my_lv
mount /dev/my_vg/my_lv /mnt
Снапшоты¶
Снапшот для бэкапа. Размер — под изменения на время жизни снапшота.Просмотр¶
Короткий / подробный вывод.Удаление¶
Подводные камни¶
lvreduceбез предварительногоresize2fs= потеря данных- Снапшот переполнится если изменений больше чем его размер — станет невалидным
- Для XFS используй
xfs_growfsвместоresize2fs