Все о GNU/Linux

Что такое LVM и зачем он нужен?

Джун (Junior):
«LVM — это что-то типа виртуального диска, чтобы было проще менять размер томов».

Мидл (Middle):
«LVM (Logical Volume Manager) даёт уровень абстракции над физическими дисками: есть Physical Volumes (PV), которые входят в Volume Groups (VG), и на их основе создаются Logical Volumes (LV). Это упрощает расширение томов, создание снапшотов и управление пространством».

Сеньор (Senior):
«LVM полезен для гибкого управления дисковым пространством: можно объединять несколько дисков в один VG, динамически создавать/увеличивать/удалять LV, делать снапшоты для бэкапа и использовать thin provisioning. Основные команды:

  • подготовка: pvcreate /dev/sdb1
  • создание VG: vgcreate vg_data /dev/sdb1
  • создание LV: lvcreate -L 100G -n lv_data vg_data
  • формат/монтирование: mkfs.xfs /dev/vg_data/lv_data && mount /dev/vg_data/lv_data /mnt/data
  • расширение LV: lvextend -L +50G /dev/vg_data/lv_data && xfs_growfs /mnt/data (для XFS) или resize2fs для ext4.
  • снапшот: lvcreate -s -n snap1 -L 1G /dev/vg_data/lv_data (учесть влияние на производительность и место).
    Важные нюансы: уменьшать LV с файловой системой безопасно только в офлайн-режиме (и делать бэкап перед этим); следить за метрикой VG: если VG заполнен, расширение невозможно; для продакшна продумывать I/O и резервирование.»