hostprofi.ru
Подобрать хостинг
Термин·буква L

LVM

краткое определение

LVM (Logical Volume Manager) — система управления дисковым пространством Linux. Создаёт виртуальные тома поверх физических дисков: позволяет менять размер разделов на лету, создавать снапшоты и объединять диски.

LVM (Logical Volume Manager) — уровень абстракции между физическими дисками и файловыми системами в Linux. Позволяет создавать, изменять размер, удалять логические тома без потери данных и без перезагрузки сервера. LVM используется по умолчанию в большинстве Linux-серверных дистрибутивов (RHEL, AlmaLinux, Ubuntu Server).

Как работает

LVM строится из трёх слоёв:

  • PV (Physical Volume) — физический диск или раздел (/dev/sda1, /dev/nvme0n1p2). Создаётся командой pvcreate /dev/sdb.
  • VG (Volume Group) — группа PV, объединяющая несколько дисков в одно пространство. Создаётся vgcreate vgdata /dev/sdb /dev/sdc.
  • LV (Logical Volume) — виртуальный том из пространства VG. Создаётся lvcreate -L 100G -n lvwww vgdata. На LV создаётся файловая система: mkfs.ext4 /dev/vgdata/lvwww.

Расширение тома без размонтирования: lvextend -L +50G /dev/vgdata/lvwww, затем resize2fs /dev/vgdata/lvwww (для ext4) или xfs_growfs /mnt/www (для XFS). Уменьшение тома возможно только для ext4 (не XFS) и требует размонтирования.

Снапшоты LVM создают точку восстановления без остановки сервиса: lvcreate -L 10G -s -n snap_www /dev/vgdata/lvwww. Снапшот хранит изменённые блоки — не копирует весь том. Используется для резервного копирования баз данных без lock-ов.

История

Концепция LVM пришла из HP-UX, где появилась в 1988 году. LVM для Linux создан Heinz Mauelshagen в 1998–1999 годах. LVM2 — переработанная версия — разрабатывается компанией Red Hat с 2002 года и является стандартным инструментом в современных дистрибутивах. Device Mapper — подсистема ядра Linux, лежащая в основе LVM2, Docker-хранилища и шифрования LUKS.

LVM: типичные операции и устранение неполадок

Ежедневные операции с LVM: pvs/vgs/lvs — показать физические тома, группы и логические тома; lvcreate -L 10G -n mydata vg0 — создать логический том 10 ГБ; mkfs.ext4 /dev/vg0/mydata — отформатировать; mount /dev/vg0/mydata /data — смонтировать. Расширение без остановки: lvextend -L +5G /dev/vg0/mydata && resize2fs /dev/vg0/mydata.

LVM snapshot — механизм copy-on-write: lvcreate -s -L 1G -n mydata_snap /dev/vg0/mydata создаёт снапшот. При изменении исходного тома оригинальные данные копируются в снапшот. Использование: создать снапшот перед обновлением БД, откатиться через lvconvert --merge при проблемах. Ограничение: размер снапшота должен покрывать объём изменений за время его жизни.

На что обращать внимание

LVM добавляет сложность: при повреждении метаданных VG восстановление данных значительно сложнее, чем с обычных разделов. Для VPS-серверов с хостером, поддерживающим снапшоты на уровне гипервизора (KVM), LVM менее критичен. В Docker: Docker может использовать devicemapper (LVM-based) как storage driver, но это устаревший подход — рекомендуется overlay2.

LVM на VPS и выделенных серверах

LVM устанавливается по умолчанию на большинстве Linux дистрибутивов при выборе LVM-разметки. На VPS: хостинг-провайдер использует LVM для управления дисковым пространством гипервизора — каждый VPS получает LV (Logical Volume). Docker может использовать LVM backend через devicemapper. Снапшоты LVM полезны перед системными обновлениями: lvcreate -s -L 5G -n snap /dev/vg0/root. Если обновление сломало систему, откат: lvconvert --merge /dev/vg0/snap. На AlmaLinux и RHEL LVM с файловой системой XFS — стандартная конфигурация.

Другие термины