Как увеличить пространство LVM на Ubuntu Server
Важно: перед операциями с разделами сделайте резервную копию критичных данных или снимок виртуальной машины.
Почему LVM встречается на Ubuntu Server
LVM (Logical Volume Manager) — это слой управления дисками, который позволяет гибко распределять и менять размер логических томов без привязки к физическим разделам. На серверах Ubuntu LVM часто используется по умолчанию, потому что он упрощает масштабирование хранилища и снижает время простоя.
Ключевые преимущества:
- Эффективное использование места на диске. (Легко объединять диски в один пул.)
- Изменение размеров томов без перезагрузки. (Поддержка онлайн-расширения.)
- Распределение данных по нескольким физическим томам. (RAID/страйпы/зеркала возможны поверх LVM.)
Что обычно сбивает с толку
Команда df показывает размер уже смонтированной файловой системы — то есть только выделённую для LV часть. Она не показывает общий размер группы томов (VG), где может лежать свободное место, готовое для добавления в LV. Для этого используются команды LVM: vgdisplay, lvdisplay и pvdisplay.
Быстрая проверка свободного места (шаги)
- Просмотреть группу томов:
sudo vgdisplayОбратите внимание на поля:
- VG Size — общий размер группы томов (в ГБ).
- Alloc PE / Size — уже выделённое пространство.
- Free PE / Size — свободное пространство, доступное для распределения.
- Посмотреть список логических томов и точки монтирования:
sudo lvdisplay- Убедиться, какая файловая система использована (ext4, xfs и т. п.):
df -h
mount | grep /dev/mapperРасширение логического тома на работающем Ubuntu Server
Ниже — проверенный порядок действий. Все команды выполняются от root или через sudo.
Узнайте путь логического тома из lvdisplay, например: /dev/ubuntu-vg/ubuntu-lv.
Расширьте LV, используя всё доступное свободное пространство или процент:
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv- Опция -l +100%FREE означает «использовать всё свободное место VG». Можете указать процент (например, +50%FREE) или абсолютный размер (+20G).
- Увеличьте файловую систему, чтобы ОС увидела новый размер. Команда зависит от типа ФС:
- Для ext4 / ext2 / ext3:
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv- Для XFS (обычно требуется монтирование):
sudo xfs_growfs /mount/point- Проверьте результат:
df -h
sudo lvdisplay
sudo vgdisplayПример: что делать если df показывает мало места
Если df показывает, что корень 25 ГБ и заполнен, а vgdisplay показывает, что в VG всего 23 ГБ и свободно 12 ГБ, значит свободное место не добавлено в LV. Используйте lvextend и затем resize2fs, как описано выше.

ALT: жёсткий диск на столе — взгляд сверху, устройство для хранения данных
ALT: экран установки Ubuntu Server — выбор логического тома ubuntu-lv для корня
ALT: интерфейс установки показывает текущий и максимальный размер логического тома
Расширение LVM во время установки Ubuntu Server
При настройке хранилища в установщике выберите раздел ubuntu-lv, смонтированный как root (/), нажмите Enter и выберите Редактировать. В окне конфигурации укажите максимальный доступный размер или задайте собственный.
Это удобнее всего, если вы заранее знаете потребности, но на живом сервере вы тоже можете расширить LV без переустановки.
Когда расширение может не сработать
- Если в VG нет свободных PE (Physical Extents). Тогда сначала добавьте PV (физический том): подключите новый диск или расширьте существующий PV.
- Если файловая система не поддерживает онлайн-расширение (редко) — понадобится отмонтировать том или использовать вариант в офлайн-режиме.
- Если LVM настраивался нестандартно (шифрование, тонкие тома, snapshot) — дополнительные шаги и осторожность требуются.
Как добавить физический диск в VG (кратко)
- Подключите диск (например /dev/sdb).
- Создайте PV:
sudo pvcreate /dev/sdb- Добавьте PV в существующий VG:
sudo vgextend ubuntu-vg /dev/sdb- Увеличьте LV и файловую систему, как описано выше.
Альтернативные подходы
- Использовать LVM thin provisioning для тонкой тарификации места — полезно для многих маленьких томов.
- Пересмотреть схему разделения: отделить /var, /home, /opt в отдельные LV, чтобы ограничить влияние заполнения одного тома.
- Виртуальные машины: увеличить виртуальный диск в гипервизоре, затем расширить PV и VG.
Шпаргалка команд (чисто и коротко)
- Просмотр VG:
sudo vgdisplay- Просмотр LV:
sudo lvdisplay- Расширить LV:
sudo lvextend -l +100%FREE /dev/имя-vg/имя-lv- Включить в файл. систему (ext4):
sudo resize2fs /dev/mapper/имя--vg-имя--lv- Для XFS:
sudo xfs_growfs /точка/монтирования- Добавить диск в VG:
sudo pvcreate /dev/sdX
sudo vgextend ubuntu-vg /dev/sdXРоль-based чеклист перед расширением (кто что делает)
- Сисадмин:
- Проверяет vgdisplay и lvdisplay.
- Делает резервную копию или снимок VM.
- Выполняет lvextend и resize2fs/xfs_growfs.
- DevOps / инженер CI/CD:
- Отключает/перенаправляет ненужные задачи для снижения IO.
- Контролирует метрики нагрузки во время операции.
- Оператор хоста/виртуализации:
- Увеличивает виртуальный диск или подключает новый диск по запросу.
Критерии приёмки
- lvdisplay показывает увеличенный размер LV.
- df -h показывает ожидаемый увеличенный размер файловой системы.
- Сервисы, которые используют диск, работают корректно после операции.
- Нет ошибок в dmesg/syslog, связанных с дисками или LVM.
Ментальная модель (как думать о LVM)
Представьте LVM как пул воды (VG). Логические тома — это кувшины, которые вы можете наполнять и менять их объём по мере необходимости. Физические тома (PV) — это резервуары, в которые вы добавляете больше воды, чтобы пополнить пул.
Мини-методология: шаг за шагом (4 шага)
- Проверить: vgdisplay, lvdisplay, df -h.
- Если нужно — добавить PV в VG (pvcreate + vgextend).
- Расширить LV (lvextend).
- Расширить файловую систему (resize2fs или xfs_growfs) и верифицировать.
Частые ошибки и как их избежать
- Ошибка: попытка увеличить XFS через resize2fs — не сработает. Решение: используйте xfs_growfs.
- Ошибка: использование неправильного пути устройства. Решение: берите путь из lvdisplay и df.
- Ошибка: отсутствие резервной копии при работе с важными данными. Решение: снимок VM или бэкап перед изменениями.
Короткое резюме
LVM даёт гибкость при управлении дисковым пространством на Ubuntu Server. Если df показывает «мало места», сначала смотрите vgdisplay и lvdisplay. Расширить LV и файловую систему можно на работающем сервере без перезагрузки: lvextend затем resize2fs/xfs_growfs. Всегда делайте резервную копию перед операциями с томами.
Быстрый план действий (одна строка)
Проверить VG → при необходимости добавить PV → lvextend → resize2fs/xfs_growfs → проверить df.
ALT: вывод команды vgdisplay/ lvdisplay с полями размера и свободного пространства
ALT: вывод df -h на Ubuntu с информацией о точках монтирования и занятом пространстве
ALT: список логических томов и их свойств, показанный lvdisplay
Если нужно, могу подготовить готовый пошаговый playbook в формате Ansible или набор команд для вашей конкретной конфигурации (укажите вывод vgdisplay и lvdisplay).
Похожие материалы
Напоминания на Amazon Echo — как настроить
Как починить клавиатуру ноутбука самостоятельно
Приватный режим в браузерах Android
Как защитить беспроводной роутер
Темная тема в Google Calendar — Android, iPhone, веб