Если вы думаете, что управление дисковыми разделами требует остановки системы и последующей молитвы об удачной перезагрузке — мне вас искренне жаль. Жаль, что вы не знаете о возможностях LVM-монтирования в Linux и ещё не поняли, что управление хранилищем может быть куда проще.
В этом руководстве вы узнаете, как создать LVM в Linux, монтировать LVM-разделы и управлять логическими томами без остановки системы. Мы разберём основные команды Linux LVM, которые работают на системах Ubuntu LVM и CentOS — точнее, на их современных заменах.
Коротко о главном
- LVM создаёт гибкий промежуточный слой между физическими дисками и файловыми системами, позволяя изменять размер разделов без остановки системы.
- Установите командой apt install lvm2 на Ubuntu или dnf install lvm2 на Rocky Linux/AlmaLinux (CentOS больше не поддерживается — используйте их вместо него)
- Создайте LVM: инициализируйте диски командой pvcreate, объедините их в группу с помощью vgcreate, затем создайте логические тома командой lvcreate
- Монтируйте LVM-разделы как обычные — после форматирования с помощью mkfs.ext4 и добавления записей в /etc/fstab
- Основные команды: ПВС, ВГС, тот же посмотреть текущую конфигурацию; lvresize изменить размер без остановки системы; lvcreate -s создать снимок
Что такое LVM в Linux?

LVM (Logical Volume Manager) находится между физическими дисками и файловыми системами. Вместо того чтобы нарезать фиксированные разделы прямо на дисках, LVM создаёт гибкий слой, в котором можно изменять размер, перемещать и делать снимки хранилища - всё это без остановки системы.
Вот как это устроено внутри. Физические диски становятся «физическими томами». Они объединяются в «группы томов». Из этих групп создаются «логические тома», которые ведут себя как обычные разделы, но без жёстких ограничений.
Разница становится очевидной, когда нужно расширить хранилище. С обычными разделами нужно останавливать систему, загружаться с USB и надеяться, что данные не потеряются. С LVM достаточно одной команды - система продолжает работать. Я убедился в этом во время миграции сервера: расширение /home на 200GB заняло около 30 секунд вместо целых выходных.
Как работают физические тома
Физический том - это любое устройство хранения, которое LVM может использовать. Жёсткие диски, SSD, RAID-массивы и даже loop-устройства подходят. Для инициализации используется команда pvcreate, которая записывает метаданные LVM и помечает устройство как доступное для групп томов.
Физическому тому неважно, какое железо лежит в основе. 500GB жёсткий диск и новый 2TB диск NVMe выглядят для LVM одинаково. Это удобно при смешивании разных типов хранилищ.
Группы томов
Группы томов объединяют несколько физических томов в одно хранилище. Например, три диска по 1TB превращаются в один пул на 3TB. Группа томов создаётся командой vgcreate и в неё можно добавлять или удалять физические тома по мере изменения объёмов.
Такой подход снимает привязку к конкретным дискам. Нужно больше места - добавьте ещё один диск в группу томов. Заменяете старый диск - перенесите с него данные командой pvmove пока система работает, а затем замените железо.
Что делают логические тома

Логические тома — это то, с чем вы работаете напрямую. Они создаются из групп томов и ведут себя как обычные разделы. Форматируйте их в ext4 или xfs, монтируйте куда угодно, изменяйте размер в любой момент. Главное отличие — они не привязаны к физическим границам дисков.
Когда вы выполняете lvcreate -L 50G -n data datavg, вы выделяете 50 ГБ из пула группы томов. Это пространство может находиться на одном диске или быть распределено между несколькими. Вам не нужно об этом думать — LVM сам управляет распределением.
Физические экстенты: как это работает
Физический экстент — минимальная единица выделения в LVM, как правило блок размером 4 МБ. При создании логического тома LVM выделяет физические экстенты из группы томов. Такой подход позволяет точно управлять размером томов.
Размер экстента важен для больших томов. Большие экстенты снижают накладные расходы на метаданные, но делают выделение менее точным. Значение по умолчанию — 4 МБ — подходит для большинства задач. Я менял его только на очень крупных массивах хранения, где это было математически оправданно.
Снимки для резервного копирования на момент времени
Снимки фиксируют состояние логического тома в конкретный момент. LVM использует технологию копирования при записи. Исходные данные остаются на месте. При изменении данных LVM сохраняет старые блоки в снимке, а новые данные записывает в основной том.
Хотите протестировать обновления системы? Сначала сделайте снимок. Что-то пошло не так? Восстановитесь из снимка. Вся операция занимает секунды, потому что LVM отслеживает только изменённые блоки, а не копирует всё подряд.
Я делаю снимки производственных баз данных перед крупными изменениями схемы. Накладные расходы минимальны, а за счёт отката неудачных миграций я уже три раза избегал полного восстановления с нуля.
Когда использовать LVM-стриппинг
Стриппинг распределяет данные между несколькими физическими томами, по принципу RAID 0. При записи файла LVM одновременно распределяет блоки по разным дискам. Такая параллельная запись ускоряет как чтение, так и запись — особенно для больших файлов и баз данных.
Прирост производительности зависит от характера нагрузки. Больше всего выигрывают последовательное чтение больших файлов. При случайном доступе улучшение менее заметно. Серверы баз данных и рабочие станции для видеомонтажа ощущают разницу вполне реально.
LVM-зеркалирование для отказоустойчивости
Зеркалирование дублирует данные на нескольких физических томах. Если один диск выйдет из строя, данные сохранятся на зеркале. LVM управляет синхронизацией автоматически. Потери в производительности оправданы, когда простой обходится дороже дополнительного места.
В современных конфигурациях часто используют RAID для отказоустойчивости и LVM поверх него для гибкости. Вы получаете защиту на уровне железа плюс управление на уровне ПО. Связка работает лучше, чем каждое решение по отдельности.
Если вы сравниваете подходы к управлению хранилищем, ознакомьтесь со статьёй LVM против ZFS , чтобы понять, какой вариант лучше подходит для вашей нагрузки.
Как установить LVM на Ubuntu и CentOS?

Установка LVM занимает около 60 секунд, если знать нужные команды. Современные дистрибутивы Linux подтягивают зависимости автоматически. Устанавливаете пакет, проверяете работу — и можно настраивать хранилище.
Важное замечание перед началом: CentOS перестал получать поддержку в 2020 году. Если вы до сих пор используете CentOS, переходите на Rocky Linux или AlmaLinux. Они полностью совместимы и регулярно получают обновления безопасности. Все команды в этой статье одинаково работают на Rocky Linux 9, AlmaLinux 9, Ubuntu 24.04 и актуальных выпусках Debian.
Сначала обновите систему
Начните с обновления списка пакетов. Так вы получите последнюю версию LVM2 со всеми патчами безопасности и исправлениями ошибок.
Для систем на базе Ubuntu:
sudo apt update
Для систем на базе CentOS (Rocky Linux/AlmaLinux):
sudo dnf update
Современные системы на базе RHEL используют dnf в качестве пакетного менеджера. Если в старых руководствах упоминается yum, не обращайте на это внимания. DNF заменил yum в 2015 году и лучше разрешает зависимости.
Установите пакет LVM2
Пакет называется lvm2 во всех дистрибутивах. При установке зависимости подтягиваются автоматически: утилиты device-mapper и сопутствующие библиотеки.
Установка Ubuntu Logical Volume Manager:
sudo apt install lvm2
Установка CentOS Logical Volume Manager (Rocky/AlmaLinux):
sudo dnf install lvm2
Дождитесь завершения установки. На современном железе с нормальным интернетом это займёт 10-15 секунд. Пакет небольшой — около 2-3 МБ плюс зависимости.
Проверьте успешность установки
Убедитесь, что LVM2 установлен корректно, и проверьте текущую версию:
sudo lvm version
Вы увидите информацию о версии и детали сборки. Актуальные версии — 2.03.x и выше. Если команда не выполняется или возвращает "command not found", что-то пошло не так при установке.
Современные дистрибутивы на базе systemd активируют LVM автоматически при загрузке. Вручную включать службы, как это делалось в старых init-системах, не нужно. За всё отвечает lvm2-activation-generator. Одной задачей при настройке меньше.
Хотите протестировать LVM на системе, где не хранятся важные данные? Попробуйте запустить лучший Linux VPS где можно экспериментировать, не рискуя производственными файлами.
Как создать LVM в Linux?

Создание LVM состоит из трёх шагов: инициализация физических томов, объединение их в группу томов и выделение логических томов. Звучит сложнее, чем есть на самом деле. Понадобится примерно шесть команд.
Перед началом определите, какие диски вы хотите использовать. В примерах ниже используется /dev/sdX в качестве заглушки. Реальные имена устройств будут другими. Выполните lsblk чтобы увидеть все подключённые устройства.
Инициализация физических томов
Физические тома сообщают LVM, какие диски он может использовать. Инициализируйте диск командой pvcreate:
sudo pvcreate /dev/sdb
Замените /dev/sdb замените на имя вашего устройства. Команда записывает метаданные LVM на диск и помечает его как доступный. После этого традиционная разметка разделов диску не нужна.
Хотите инициализировать несколько дисков сразу? Перечислите их все:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM работает с ними как с единым целым. Проверьте результат:
sudo pvs
Команда покажет все физические тома, их размер и группу томов, к которой они относятся (пока ни к какой).
Создание группы томов
Группы томов объединяют физические тома в единое хранилище. Создайте группу томов с именем «datavg»:
sudo vgcreate datavg /dev/sdb
Добавьте несколько дисков в одну группу при создании:
sudo vgcreate datavg /dev/sdb /dev/sdc
Теперь эти диски работают как единый пул. Проверьте группу томов:
sudo vgs
Вы увидите общий размер, сколько выделено под логические тома и сколько свободного места осталось для дальнейшего использования.
Создание логических томов
Логические тома — это то, что вы форматируете и монтируете. Они создаются из доступного пространства группы томов. Создайте том на 50 ГБ:
sudo lvcreate -L 50G -n data datavg
Эта команда создаёт логический том с именем «data» из группы томов «datavg». Полный путь к устройству будет следующим: /dev/datavg/data.
Хотите использовать всё доступное пространство, не задавая размер вручную?
sudo lvcreate -l 100%FREE -n data datavg
Параметр -l 100%FREE — этот параметр выделяет все оставшиеся байты. Удобно для простых конфигураций, где один логический том занимает всю группу томов.
Форматирование логического тома
Логические тома, как и обычные разделы, нуждаются в файловой системе. Отформатируйте с ext4:
sudo mkfs.ext4 /dev/datavg/data
На небольших томах это занимает несколько секунд, на больших — дольше. В выводе отображается информация о блоках и индексных дескрипторах. Если ничего не пошло не так, на детали можно не обращать внимания.
Предпочитаете xfs? Замените ext4 на xfs. Оба варианта работают нормально. Ext4 чаще используется на системах Ubuntu. Rocky Linux по умолчанию использует xfs для большинства задач.
Будьте предельно осторожны с командами LVM. Они напрямую изменяют конфигурацию хранилища. Однажды я допустил опечатку в имени устройства и уничтожил 2 ТБ клиентских файлов. Делайте резервные копии важных данных перед любыми изменениями конфигурации хранилища.
Как монтировать разделы LVM?
Монтирование раздела LVM ничем не отличается от монтирования любого другого раздела. Вы создаёте каталог точки монтирования, выполняете команду mount и при необходимости добавляете запись в /etc/fstab для автоматического монтирования при загрузке.
Единственное отличие — путь к устройству. Вместо /dev/sda1используется /dev/volumegroup/logicalvolume. Всё остальное остаётся без изменений.
Создайте директорию точки монтирования
Точки монтирования — это обычные директории, через которые вы обращаетесь к файловой системе. Создайте её там, где это удобно для вашего сценария использования:
sudo mkdir /mnt/data
Используйте понятные имена. /mnt/data, /mnt/backup, /home/shared всё работает одинаково. Расположение не влияет на функциональность. Некоторые предпочитают /mnt для временных точек монтирования и выделенных директорий в / для постоянных.
Подключите логический том
Примонтируйте отформатированный логический том к точке монтирования:
sudo mount /dev/datavg/data /mnt/data
Замените путь к устройству и точку монтирования на актуальные значения. Файловая система теперь доступна по адресу /mnt/data. Все файлы, которые вы создаёте в этой директории, хранятся на логическом томе.
Проверьте, что монтирование прошло успешно:
df -h /mnt/data
Вы увидите общий размер тома, занятое пространство, свободное место и точку монтирования. Если ничего не отображается, команда монтирования завершилась с ошибкой. Проверьте путь к устройству и убедитесь, что логический том существует с помощью тот же.
Сделать монтирование постоянным
Временные монтирования исчезают после перезагрузки. Добавьте записи в /etc/fstab для постоянного монтирования:
sudo nano /etc/fstab
Добавьте эту строку в конец:
/dev/datavg/data /mnt/data ext4 defaults 0 0
Формат записи: устройство, точка монтирования, тип файловой системы, параметры монтирования, приоритет dump, порядок fsck. Нули в конце подходят для большинства случаев. Замените ext4 на тип файловой системы, которую вы использовали.
Сохраните файл и закройте редактор. Проверьте запись в fstab без перезагрузки:
sudo mount -a
Эта команда монтирует всё, что указано в fstab и ещё не смонтировано. Если появятся ошибки — вы допустили опечатку в fstab. Исправьте её до перезагрузки, иначе система может не запуститься.
Производительность важна при монтировании томов для рабочих нагрузок. После настройки LVM проверьте скорость диска в Linux чтобы измерить реальную пропускную способность и задержку.
Монтирование LVM при установке Ubuntu
Установщик Ubuntu поддерживает настройку LVM в процессе установки системы. На экране разметки диска выберите «Ручная» разметка, затем «Настроить менеджер логических томов».
Этот способ удобен при новой установке. Вы настраиваете группы томов и логические тома до установки операционной системы. Установщик сам создаёт записи /etc/fstab в fstab автоматически.
На работающих системах командная строка даёт больше контроля и позволяет точно понять, что происходит на каждом шаге.
Устранение проблем с монтированием
Если раздел LVM не монтируется, сначала проверьте типичные причины:
Группа томов не активирована:
sudo vgchange -ay
Команда активирует все группы томов. Иногда они не активируются автоматически после добавления новых дисков или перезагрузки.
Неверный путь к устройству: Убедитесь, что логический том существует, с помощью тот же и используйте полный путь вида /dev/volumegroup/logicalvolume, а не сокращённые варианты.
Ошибки файловой системы: Запустите проверку файловой системы на отмонтированном томе:
sudo fsck /dev/datavg/data
Повреждение файловой системы не даёт смонтировать том. Утилита fsck умеет автоматически устранять большинство таких проблем.
Какие команды LVM Linux нужно знать в первую очередь?
Команды LVM Linux позволяют управлять всей структурой хранилища прямо из командной строки. Это команды, которые реально используются на практике, а не теоретические примеры из устаревшей документации.
Просмотр физических томов
Показать все физические тома в системе:
sudo pvs
Выводится компактная таблица с именами устройств, группами томов, форматом, атрибутами, размером и свободным пространством. Для подробных сведений о конкретном физическом томе:
sudo pvdisplay /dev/sdb
В детальном представлении отображаются размер физического экстента, общее и выделенное число экстентов, а также UUID. Пригодится, когда нужны точные цифры для планирования ёмкости.
Просмотр групп томов
Список всех групп томов:
sudo vgs
Отображаются имена групп томов, количество физических и логических томов, атрибуты, общий размер и свободное пространство. Для полной информации:
sudo vgdisplay datavg
Здесь видно всё: размер экстента, общее число экстентов, политику выделения и UUID. Эту команду удобно запускать перед созданием новых логических томов, чтобы точно знать, сколько места осталось.
Просмотр логических томов
Список всех логических томов:
sudo lvs
В выводе показаны имена логических томов, их группы томов, атрибуты, размер и задействованные физические экстенты. Для полной информации:
sudo lvdisplay /dev/datavg/data
Команда показывает путь к логическому тому, блочное устройство, время создания, статус и сегменты. Помогает при отладке проблем с монтированием и анализе связей между снимками.
Расширение групп томов
Добавьте физические тома в существующую группу томов, когда потребуется больше места:
sudo vgextend datavg /dev/sdd
Это добавляет /dev/sdd в группу томов "datavg". Свободное пространство сразу становится доступным для существующих логических томов или создания новых. Перезапуск не требуется.
Я добавил диск на 2TB в группу томов резервного копирования именно так, пока бэкапы активно выполнялись. Вся операция заняла около 5 секунд.
Изменение размера логических томов
Увеличьте логический том, чтобы добавить ему пространства:
sudo lvresize -L +50G /dev/datavg/data
Это добавляет 50GB к логическому тому. После изменения размера расширьте файловую систему, чтобы использовать новое пространство:
Для ext4:
sudo resize2fs /dev/datavg/data
Для xfs:
sudo xfs_growfs /mnt/data
Файловая система расширяется, заполняя логический том. Всё происходит без размонтирования и остановки работы. Пользователи ничего не заметят — только увидят, что свободного места стало больше.
Хотите уменьшить том? Это рискованнее и требует предварительного размонтирования. Перед уменьшением томов всегда делайте резервную копию.
Создание снимков томов
Снимки фиксируют текущее состояние логического тома для резервного копирования или тестирования:
sudo lvcreate -s -L 10G -n data-snapshot /dev/datavg/data
Эта команда создаёт снимок размером 10GB с именем "data-snapshot" для логического тома "data". Снимок использует технологию копирования при записи: ему нужно место только для изменённых блоков, а не для всего тома.
Смонтируйте снимок в режиме только для чтения, чтобы получить согласованную резервную копию:
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
Создавайте резервную копию из /mnt/snapshot пока оригинальный том продолжает принимать записи. Это решает проблему резервного копирования работающей базы данных без лишних сложностей.
Удаление логических томов
Удалите логические тома, которые больше не нужны:
sudo lvremove /dev/datavg/old-data
Команда запросит подтверждение перед удалением. Логический том и все данные на нём будут уничтожены безвозвратно. Убедитесь, что у вас есть резервные копии всего важного.
Перемещение физических экстентов
Перенесите данные с физического тома перед его удалением:
sudo pvmove /dev/sdb
LVM автоматически перемещает все физические экстенты из /dev/sdb на другие физические тома в группе. Операция выполняется в фоновом режиме — система остаётся в работе.
Это меня выручило, когда один из дисков начал показывать ошибки SMART. Я перенёс всё с проблемного диска, исключил его из группы томов и заменил в рамках планового обслуживания. Без единой минуты простоя.
Поиск групп томов
Иногда группы томов не отображаются после добавления новых дисков или перезагрузки. Запустите принудительное сканирование:
sudo vgscan
sudo vgchange -ay
Первая команда ищет группы томов. Вторая активирует всё найденное. После этого логические тома снова становятся доступными.
Если вы настраиваете LVM на Ubuntu для сред разработки, вам также могут пригодиться руководства по установке Hadoop на Ubuntu, установке Redis на Ubuntu, или установке XRDP на Ubuntu для удалённого доступа к системам под управлением LVM.
Заключение
LVM меняет подход к управлению хранилищем на Linux: вместо жёсткого планирования разделов вы получаете гибкое распределение ёмкости. Динамическое изменение размеров, моментальные снимки, объединение разрозненных дисков в единое хранилище — и всё это без остановки систем.
Основной рабочий процесс одинаков во всех дистрибутивах. Инициализируйте физические тома с помощью pvcreate, объединяйте их в группы томов с помощью vgcreate, создавайте логические тома с помощью lvcreate, форматируйте в нужную файловую систему и монтируйте как обычный раздел. Команды работают одинаково как в LVM на Ubuntu, так и в конфигурациях Rocky Linux.
Если вы только начинаете работать с логическими томами, начните с малого. Создайте тестовую группу томов на запасном диске. Потренируйтесь изменять размер логических томов, делать снимки, перемещать данные между физическими томами. Ошибки на не-продакшн хранилище обходятся дешевле.
Одно замечание о CentOS: проект закрыт. Используйте Rocky Linux или AlmaLinux. Оба бинарно совместимы с RHEL и активно поддерживаются. Команды LVM работают идентично, зато вы получаете актуальные обновления безопасности.
Хотите практиковать LVM, не рискуя локальными файлами? Запустите Ubuntu VPS где можно свободно экспериментировать. Ломайте, учитесь на ошибках и осваивайте команды до того, как применять их в продакшене.
Выберите экономный или премиальный Linux VPS для хостинга сайта или удалённого рабочего стола по минимальной цене. VPS работает на базе Linux KVM для повышения эффективности и использует производительное железо с хранилищем NVMe SSD для максимальной скорости.
Читать далее