В чем разница между Physical Volume (PV) и Volume Group (VG) в LVM?

«В чем разница между Physical Volume (PV) и Volume Group (VG) в LVM?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В логической системе управления томами (LVM) Physical Volume (PV) и Volume Group (VG) — это базовые строительные блоки, представляющие разные уровни абстракции.

Physical Volume (PV) — Физический том:

  • Что это: Базовый физический (или виртуальный) носитель, подготовленный для работы с LVM. Им может быть целый диск (/dev/sdb), раздел диска (/dev/sdb1) или даже loop-устройство.
  • Аналогия: Это «кирпич». Сам по себе он бесполезен для строительства, но из него можно что-то собрать.
  • Действие: Диск или раздел инициализируется как PV с помощью команды pvcreate. На него записывается LVM-заголовок.
    # Делаем раздел /dev/sdb1 физическим томом LVM
    sudo pvcreate /dev/sdb1
    # Просмотр созданных PV
    sudo pvs

Volume Group (VG) — Группа томов:

  • Что это: Логический пул, который объединяет один или несколько Physical Volumes (PV). VG абстрагируется от конкретных дисков и создает единое виртуальное пространство для хранения.
  • Аналогия: Это «мешок с кирпичами». Все кирпичи (PV) свалены в одну кучу, и мы можем брать из этого мешка пространство для строительства.
  • Действие: VG создается из одного или нескольких PV с помощью vgcreate. Внутри VG пространство делится на мелкие блоки — Physical Extents (PE).
    # Создаем группу томов 'data_vg' из двух физических томов
    sudo vgcreate data_vg /dev/sdb1 /dev/sdc1
    # Просмотр информации о VG
    sudo vgs
    sudo vgdisplay data_vg

Итоговая цепочка создания логического тома:

  1. Физическое устройство -> pvcreate -> Physical Volume (PV)
  2. Один или несколько PV -> vgcreate -> Volume Group (VG)
  3. Пространство из VG -> lvcreate -> Logical Volume (LV), который уже можно форматировать (mkfs) и монтировать в файловую систему.

Разница: PV — это подготовленный для LVM диск. VG — это объединенное дисковое пространство из нескольких PV, из которого выделяются логические тома (LV).