Перейти к содержанию

LVM2: обследование, расширение и ошибки

LVM — слой управления логическими томами между блочными устройствами и файловыми системами. В SPEC НАЙС.ОС CLOUD существует пакет lvm2, но его наличие на установленном минимальном образе надо проверить rpm -q lvm2. Это руководство начинается с чтения метаданных и только затем объясняет расширение уже существующего тома. Создание PV поверх ошибочно выбранного диска может уничтожить данные.

Уровни LVM

/dev/vdb (или раздел) → PV → VG data_vg → LV logs → ext4/XFS/Btrfs → /srv/logs

PV — физический том; VG — группа томов; LV — логический том. Между LV и каталогом может существовать ещё шифрование либо RAID, поэтому проверяйте фактическую схему, а не только пример.

Инвентаризация без изменений

pvs -o pv_name,vg_name,pv_size,pv_free,pv_uuid
vgs -o vg_name,vg_size,vg_free
lvs -a -o vg_name,lv_name,lv_size,lv_attr,devices
lsblk -f
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS

Если команды pvs/vgs/lvs отсутствуют, проверьте пакет. Не пытайтесь «восстановить» отсутствующий LVM, запустив pvcreate.

Перед увеличением тома

Проверьте свободное место внутри VG (vgs), размер целевого LV и тип ФС. Для безопасного расширения нужны актуальная резервная копия, свободные extents, понимание зависимости приложений и обслуживаемое окно для контроля результата.

Увеличение LV (пример, НЕ выполняйте без проверки)

# ИЛЛЮСТРАЦИЯ: увеличить существующий LV на 5 ГиБ
lvextend -L +5G /dev/data_vg/logs

Это увеличивает блочное устройство, но не обязательно файловую систему. Следующий шаг зависит от её типа:

# ext4: укажите полный путь к LV
resize2fs /dev/data_vg/logs

# XFS: требуется смонтированная целевая ФС и точка монтирования
xfs_growfs /srv/logs

resize2fs и xfs_growfs не взаимозаменяемы. Узнайте тип с findmnt -no FSTYPE /srv/logs и проверьте поддержку расширения используемой ФС. Если применяются шифрование или отдельный RAID, процесс сложнее и требует самостоятельного плана.

Контроль

lvs -a -o lv_name,lv_size,lv_attr,devices
findmnt /srv/logs
df -hT /srv/logs
journalctl -k -b --no-pager | tail -60

Сравните реальные размеры LV и ФС. Если файловая система не выросла, не запускайте сразу вторую команду расширения для другого типа ФС.

Чего нельзя делать наугад

  • pvcreate /dev/sdb на непроверенном устройстве.
  • vgremove, lvremove, pvremove — уничтожают метаданные/тома.
  • lvreduce без проверки допустимости уменьшения ФС. XFS не поддерживает обычное уменьшение.
  • fsck на смонтированной ФС или на PV вместо файловой системы.

При пропаже тома

Проверьте обнаружение дисков, статус VG, метаданные LVM и сообщения ядра. Не восстанавливайте метаданные командой vgcfgrestore до проверки резервной копии конфигурации LVM и полного устройства.

Источники: Core/lvm2/SPECS/lvm2.spec; LVM manuals.