23.06.2025

LVM: создание и удаление томов

Погружаясь в недры Linux, все больше начинаешь понимать, что это не просто операционная система с минимальными требованиями, а огромный швейцарский нож. Таящий в себе огромное количество неизведанного, спускаешься на уровень namespace-пространств и контейнеров, eBPF возможностей в ядре и понимаешь насколько огромна система. Однако сегодня поговорим про более очевидные и понятные слои айсберга операционной системы и рассмотри гибкое управление дисковым пространством, при помощи утилиты LVM!

Что такое LVM?

LVM или же Logical Volume Management представляет собой программную прослойку для управления дисковым пространством, а точнее их логическими томами. Основная проблема, которую решает данная прослойка заключается в недостаточно гибком управлении дисками. К примеру, у нас есть сервис, который требует 3 ГБ свободного пространства, но есть только 2ГБ на одном физическом диске и 1 ГБ на другом, что делать? Ведь они находятся в разных пространствах?

Верно, здесь поможет LVM! Обратите внимание на архитектуру самого решения и задумку работы утилиты:

Скриншот №1 — Схема работы LVM

Физические диски имеют логическое пространство называемое разделами или в LVM Physical Volumes, как раз они на программном уровне объединяются в Volume Groups. После чего все место в VM распределяется между новыми логическими пространствами, а так же достаточно гибко обмениваются свободным местом с друг другом!

Единственный раздел файловой системы, который не может находится в LVM это /boot, так как загрузка на низком уровне ядра ОС осуществляется с него, а потом уже подключается LVM на программном для разделения пространства.

Классически схема деления выглядит следующим образом:

Скриншот №2 — Разделение дискового пространства

Каждый из томов выделен в отдельный не просто так, концепция логического пространства позволяет гибко определить пространство для каждого из. Так и администрирование логическим томом проще, так как для полной очистки логов не нужно выискивать определенный участок их нахождения в физическом пространстве. Представлены такие разделы, как:

От слов к делу, создадим первое LVM пространство с нуля и рассмотрим основные функции системы!

Как создать том LVM?

Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:

Скриншот №3 — Создание сервера

Установим необходимые пакеты и предварительно обновим репозитории с помощью пакетного менеджера:

apt update && apt upgrade -y && apt install lvm2 -y

Скриншот №4 — Процесс установки LVMПосле того, как установка произошла – необходимо просканировать текущие диски и логические тома, относительно которых будем строить логическую структуру LVM. Выполним команду:

lsblk

Скриншот №5 — Структура разделов на машине

Как видно на изображении, всего к системе подключен один диск с двумя логическими томами. К сожалению, распределить пространство vda1 не возможно на горячую, так как он смонтирован в корневой раздел. Поэтому необходимо подключиться к машине с liveboot OS и уже вносить изменения на диске или воспользоваться иным пространством, которое можно отмонтировать.

В данном кейсе мы будем использовать раздел sda6, для начала отмонтируем его командой:

umount /dev/sda6

Выберем физический раздел будущего LVM, в нашем случае это /dev/sda6, вы можете создать неограниченное количество physical volume.

pvcreate /dev/sda6

Далее необходимо подняться выше по схеме и создать volume group, который объединит уже созданные physical volume.

vgcreate main /dev/sda6

После необходимо общее пространство диска структурировать на логические тома будто это обычный диск. Выполним команду:

lvcreate -L 2GB main

Скриншот №6— Создание LVM тома

Теперь у нас создан логический том, который управляется LVM на разделе /dev/sda6. Но чтобы ОС могла работать с ним необходимо установить файловую систему внутрь этого логического тома самого LVM. Выполним команду сканирования логических томов и выберем нужный:

lvscan

Пропишем команду создания файловой системы:

mkfs.ext4 /dev/main/lvol0

После того, как область очиститься и инсталлирует систему, можно перейти к монтированию тома и проверке:

mount /dev/main/lvol0 /home && df -H

Скриншот №7— Монтирование диска

Отлично, том добавлен и смонтирован в директорию /home, но что делать если наоборот нужно удалить ее? Идти в обратном порядке.

Как удалить том LVM?

Для этого пойдем обратным путем и пропишем удаление логических томов, их так же можно просканировать прописав команду:

lvscan

Далее перейдем к удалению логического тома командой:

lvremove /dev/main/lvol0

После чего удалим общую группу и физический раздел:

vgremove /dev/main && pvremove /dev/sda6

Скриншот №8— Удаление lvm тома

После манипуляций выше на машине остался логический том диска sda6 без изменений, его так же можно удалить по желанию утилитой parted.