LVM в Ubuntu — создание и управление логическими томами
Краткое определение
LVM — слой абстракции над физическими дисками, который разбивает диски на физические тома (PV), объединяет их в группы томов (VG) и делит группы на логические тома (LV). Это даёт гибкость при управлении пространством: добавлять диски, расширять или уменьшать тома без переразметки физических устройств.
Преимущества LVM
- Объединение нескольких физических дисков в один логический пул для удобного управления пространством.
- Создание и изменение размеров разделов (томов) по мере необходимости без перезагрузки в большинстве сценариев.
- Горизонтальное масштабирование: можно добавить новый диск в VG и перераспределить пространство.
Важно: в примерах ниже предполагается Ubuntu и наличие трёх дисков: /dev/sda, /dev/sdb и /dev/sdc. Все команды выполняйте от имени sudo или под root-пользователем.
Требования и предпосылки
- Резервное копирование данных перед изменением размеров томов или удалением — обязательно.
- Свободные неразмеченные диски или доступная область на диске для создания новых разделов.
- Установлены пакеты lvm2 (sudo apt install lvm2).
Создание разделов на /dev/sdb и /dev/sdc
Если у вас два пустых диска /dev/sdb и /dev/sdc, создайте на каждом таблицу разделов и один раздел, который будет использоваться как физический том.
Пример использования fdisk для /dev/sdb:
sudo fdisk /dev/sdbВ интерактивном режиме создайте новый раздел (n), примонтируйте его как primary, используйте весь доступный размер, затем запишите изменения (w). Повторите для /dev/sdc.

Чтобы перечитать таблицу разделов без перезагрузки, выполните:
sudo partprobe /dev/sdb
sudo partprobe /dev/sdcСоздание физических томов
На созданных разделах (например, /dev/sdb1 и /dev/sdc1) создайте физические тома LVM:
sudo pvcreate /dev/sdb1 /dev/sdc1Проверить созданные PV можно командой pvdisplay.
Создание группы томов
Группа томов объединяет один или несколько PV и предоставляет пул для логических томов. Создадим VG с именем VG1 на двух PV:
sudo vgcreate VG1 /dev/sdb1 /dev/sdc1Проверить информацию о VG:
sudo vgdisplay /dev/VG1
Теперь у нас есть единая группа томов размером примерно 19.52 GB (примерный результат зависит от реального дискового пространства).
Создание логических томов
Разделите VG на логические тома и назначьте им имена и размеры. Создадим два тома по 5 GB: LV1 и LV2.
sudo lvcreate -L 5G -n LV1 VG1
sudo lvcreate -L 5G -n LV2 VG1Пояснение: ключ -L задаёт размер, -n задаёт имя тома. Альтернативный синтаксис позволяет указывать относительный размер (+1G) для увеличения существующего тома.
Проверка логических томов:
sudo lvdisplay
Теперь у вас есть два логических тома по 5 GB в группе VG1.
Форматирование и монтирование логических томов (LV1, LV2)
Отформатируем тома в ext4 и смонтируем их в /mnt.
sudo mkfs.ext4 /dev/VG1/LV1
sudo mkfs.ext4 /dev/VG1/LV2Создайте точки монтирования:
sudo mkdir -p /mnt/LV1-mount /mnt/LV2-mountОткройте /etc/fstab для автоподключения при загрузке:
sudo nano /etc/fstabДобавьте строки:
/dev/VG1/LV1 /mnt/LV1-mount ext4 defaults 0 0
/dev/VG1/LV2 /mnt/LV2-mount ext4 defaults 0 0Подключите все записи из fstab без перезагрузки:
sudo mount -aПроверьте, что тома смонтированы:
df -h
Изменение размеров логических томов
LVM позволяет расширять и сужать логические тома. Важно: перед уменьшением всегда делайте резервную копию!
Расширение логического тома
Если в VG есть свободное место, расширьте LV и затем файловую систему:
sudo lvextend -L +1G /dev/VG1/LV1
sudo resize2fs /dev/VG1/LV1Первая команда добавит 1 GB к LV1, вторая — расширит файловую систему ext4 до нового размера тома.
Уменьшение логического тома
Порядок действий при уменьшении тома ext4:
- Резервная копия данных.
- Отмонтировать том.
- Проверить файловую систему и уменьшить её до желаемого размера.
- Уменьшить сам логический том.
- Проверить файловую систему и смонтировать снова.
Пример для уменьшения LV2 с 5G до 4G:
sudo umount /dev/VG1/LV2
sudo e2fsck -f /dev/VG1/LV2
sudo resize2fs /dev/VG1/LV2 4G
sudo lvreduce -L 4G /dev/VG1/LV2
sudo e2fsck -f /dev/VG1/LV2
sudo mount /dev/VG1/LV2 /mnt/LV2-mountЕсли lvreduce вы идёте без ключа –confirm, система может попросить подтверждение; будьте внимательны.
После операций проверьте df -h и lvdisplay для подтверждения размера.

Удаление логического тома
Перед удалением требуется отмонтировать том и убедиться, что на нём нет процессов:
sudo umount /dev/VG1/LV1
sudo lvremove /dev/VG1/LV1Для безопасного удаления проверьте состояние командой lvdisplay и убедитесь, что нужный том выбран правильно.
Контрольный список — быстрый справочник команд
- Просмотр PV, VG, LV:
- sudo pvdisplay
- sudo vgdisplay
- sudo lvdisplay
- Создание:
- sudo pvcreate /dev/sdb1
- sudo vgcreate VG1 /dev/sdb1
- sudo lvcreate -L 5G -n LV1 VG1
- Форматирование и монтирование:
- sudo mkfs.ext4 /dev/VG1/LV1
- sudo mkdir -p /mnt/LV1-mount
- /etc/fstab -> /dev/VG1/LV1 /mnt/LV1-mount ext4 defaults 0 0
- sudo mount -a
- Изменение размера:
- Расширить: sudo lvextend -L +1G /dev/VG1/LV1 && sudo resize2fs /dev/VG1/LV1
- Уменьшить: см. раздел выше (обязательно e2fsck и последовательность)
- Удаление:
- sudo umount /dev/VG1/LV1 && sudo lvremove /dev/VG1/LV1
Роли и обязанности (быстрый чеклист)
- Системный администратор:
- Планировать схему LVM, резервное копирование, мониторинг VG Utilization.
- Выполнять расширение/сжатие томов в окно обслуживания.
- Операционный инженер / DevOps:
- Автоматизировать создание LV для сервисов, писать playbook/скрипты.
- Настроить мониторинг свободного места в VG и оповещения.
- Разработчик / пользователь:
- Проверять точки монтирования и право доступа, запрашивать расширение томов через админов.
Когда LVM не подходит — контрпримеры
- Требуется максимально простая конфигурация и минимальное количество абстракций — обычные разделы могут быть предпочтительнее.
- Нужна встроенная дедупликация или контроль версий на уровне файловой системы — рассмотрите Btrfs или ZFS.
- Если целью является надёжность на уровне дисковых массивов — используйте RAID (через mdadm или аппаратный RAID) вместе с LVM или вместо него, в зависимости от требований.
Альтернативные подходы
- Btrfs и ZFS: продвинутые функции снапшотов и дедупликации.
- mdadm (software RAID) + LVM: комбинированный подход для отказоустойчивости и гибкости.
- Простые разделы: меньше слоёв, проще восстановление в некоторых сценариях.
Типичные ошибки и как их избежать
- Ошибка: уменьшение LV без резервной копии. Митигация: всегда делать резервную копию перед lvreduce.
- Ошибка: редактирование /etc/fstab с опечаткой — система может не загрузиться. Митигация: протестировать mount -a и оставлять второй способ доступа (консоль).
- Ошибка: уменьшение файловой системы после уменьшения LV. Митигация: сначала уменьшать FS, затем LV.
Критерии приёмки
- LV1 и LV2 существуют и отображаются в lvdisplay.
- Тома смонтированы и доступны: df -h показывает пункты /mnt/LV1-mount и /mnt/LV2-mount.
- Расширение: после lvextend и resize2fs df -h показывает увеличенный размер.
- Уменьшение: после последовательности e2fsck, resize2fs, lvreduce и проверки том работает и данные доступны.
Мини-методология при изменении томов (SOP)
- Сделать бэкап данных (snapshot, rsync, копия).
- Проверить свободное место в VG: sudo vgdisplay или vgs.
- Планировать операции в окно обслуживания, уведомить пользователей.
- Выполнить команды в тестовой среде перед продакшеном.
- Применить изменения, проверить целостность файловой системы и доступность сервисов.
Короткий глоссарий
- PV: физический том — раздел или диск, подготовленный для LVM.
- VG: группа томов — пул пространства из PV.
- LV: логический том — раздел, монтируемый в систему, создаваемый из VG.
Риски и рекомендации по безопасности
- Риск потери данных при неправильном уменьшении тома. Рекомендация: резервное копирование и тестирование на копиях.
- Если используется шифрование (LUKS), настройку шифрования выполняйте перед pvcreate или в соответствии с архитектурой (LUKS над LVM или LVM над LUKS в зависимости от требований).
Заключение
LVM даёт мощный и гибкий способ управления дисковым пространством в Linux. В этой инструкции показаны базовые операции: создание PV, VG, LV; форматирование и монтирование; изменение размеров; удаление. Следуйте контрольным спискам и всегда делайте резервные копии перед критическими операциями.
Если хотите, я могу подготовить для вас Ansible playbook для автоматизации этих шагов или проверить конкретный вывод ваших команд и подсказать дальнейшие действия.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента