Что такое LVM? Для решения каких задач он предназначен?devops-72

LVM (Logical Volume Manager) — это система управления дисковым пространством в Linux, которая предоставляет гибкость в работе с разделами и физическими носителями. Она абстрагирует физические устройства хранения (диски, разделы) в логические единицы, позволяя динамически управлять пространством без необходимости перезагрузки системы.

Основные компоненты LVM

  1. Физические тома (PV, Physical Volume)

    pvcreate /dev/sdb1  # Создание физического тома из раздела
    

    Это базовые "строительные блоки" LVM — физические диски или разделы, включенные в LVM.

  2. Группы томов (VG, Volume Group)

    vgcreate my_vg /dev/sdb1  # Создание группы томов
    

    Объединяет PV в единый пул хранения. Из этого пула выделяется место для логических томов.

  3. Логические тома (LV, Logical Volume)

    lvcreate -L 10G -n my_lv my_vg  # Создание логического тома размером 10ГБ
    

    Аналог разделов, но с возможностью динамического изменения размера.

Ключевые задачи LVM

  1. Динамическое изменение размера томов

    • Увеличение/уменьшение LV без размонтирования (для некоторых ФС):
    lvextend -L +5G /dev/my_vg/my_lv  # Расширение тома
    resize2fs /dev/my_vg/my_lv         # Изменение ФС (для ext4)
    
  2. Объединение нескольких дисков в один логический том
    Позволяет создавать тома, превышающие размер одного физического диска.

  3. Создание снапшотов (snapshots)

    lvcreate -s -n snap -L 1G /dev/my_vg/my_lv  # Создание снапшота
    

    Моментальные копии томов для резервного копирования или тестирования.

  4. Миграция данных между дисками

    pvmove /dev/sdb1 /dev/sdc1  # Перенос данных с одного PV на другой
    

    Позволяет заменять диски "на лету".

  5. Шифрование и другие расширенные функции
    LVM интегрируется с dm-crypt для полного шифрования томов.

Преимущества перед традиционными разделами

  • Гибкость: можно изменять размеры томов после создания
  • Отказоустойчивость: поддержка зеркалирования (аналогично RAID1)
  • Упрощение администрирования: единый пул хранения вместо работы с отдельными дисками

Ограничения LVM

  • Дополнительный уровень абстракции (может влиять на производительность)
  • Не все ОС поддерживают LVM "из коробки" (особенно Windows)
  • Требует аккуратного планирования при развертывании

Практический пример использования

# 1. Инициализируем физические тома
pvcreate /dev/sdb /dev/sdc

# 2. Создаем группу томов
vgcreate data_vg /dev/sdb /dev/sdc

# 3. Создаем логический том на 20ГБ
lvcreate -L 20G -n database data_vg

# 4. Создаем файловую систему и монтируем
mkfs.ext4 /dev/data_vg/database
mount /dev/data_vg/database /mnt/db

Резюмируем: LVM — это мощный инструмент для управления дисковым пространством в Linux, который особенно полезен в средах, где требования к хранилищу часто меняются. Он идеально подходит для серверов, облачных сред и любых систем, где важна гибкость работы с дисками.