LVM (Logical Volume Manager) — это прослойка между диском и файловой системой, которая превращает жёсткие разделы в гибкие «виртуальные» тома. Их можно объединять, расширять и сжимать на лету, а ещё делать мгновенные снапшоты для отката. Установка Arch с LVM почти не отличается от обычной: добавляется один пакет, пара команд для создания томов и одна строка в mkinitcpio. Разберём по шагам.
Обычные разделы — это навсегда. Создал корень на 50 ГБ, через год он заполнился — и начинается цирк: перенос данных, переразметка, переустановка. LVM решает это раз и навсегда:
Плата за это — чуть более сложная установка и initramfs, который должен уметь поднимать LVM до монтирования корня. Но это один раз.
Разметка упрощается: вместо кучи разделов под корень, swap и /home нужны всего два — ESP и один раздел под LVM. Всё остальное живёт внутри LVM.
sudo fdisk /dev/nvme0n1
В fdisk вводим:
g → новая GPT-таблица
n 1 [Enter] +1G → ESP, 1 ГБ
t 1 → тип EFI System
n 2 [Enter] [Enter] → весь остаток диска под LVM
t 2 → тип Linux LVM
w → записать
В fdisk тип LVM выбирается по имени — просто введи lvm на запрос типа. Форматируем только ESP, раздел под LVM остаётся «сырым» — его заберёт LVM:
sudo mkfs.fat -F 32 /dev/nvme0n1p1
Подробнее про GPT и типы разделов — в статье «Разметка диска с нуля: GPT vs MBR».
Три уровня LVM: физический том (PV) — это сам раздел, группа томов (VG) — пул из одного или нескольких PV, логический том (LV) — «виртуальный раздел», который ты форматируешь и монтируешь.
Создаём PV на разделе, затем VG с именем vg0:
sudo pvcreate /dev/nvme0n1p2
sudo vgcreate vg0 /dev/nvme0n1p2
Теперь логические тома. Корень 50 ГБ, swap 8 ГБ, остальное — /home:
sudo lvcreate -L 50G -n root vg0
sudo lvcreate -L 8G -n swap vg0
sudo lvcreate -l 100%FREE -n home vg0
Тома появляются как /dev/vg0/root, /dev/vg0/swap, /dev/vg0/home. Форматируем и монтируем:
sudo mkfs.ext4 /dev/vg0/root
sudo mkswap /dev/vg0/swap
sudo swapon /dev/vg0/swap
sudo mkfs.ext4 /dev/vg0/home
sudo mount /dev/vg0/root /mnt
sudo mount --mkdir /dev/nvme0n1p1 /mnt/boot
sudo mount /dev/vg0/home /mnt/home
Дальше обычный pacstrap, но с пакетом lvm2:
sudo pacstrap -K /mnt base linux linux-firmware lvm2
После genfstab и arch-chroot продолжайте по пошаговому руководству установки Arch 2026.
Это ключевой момент. Без него система не загрузится: initramfs не знает про LVM и не найдёт корень. В chroot откройте /etc/mkinitcpio.conf и добавьте lvm2 в массив HOOKS — строго перед filesystems:
nano /etc/mkinitcpio.conf
HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block lvm2 filesystems fsck)
Порядок важен: lvm2 должен подняться до того, как filesystems попытается смонтировать корень. Пересобираем initramfs:
mkinitcpio -P
Если /boot лежит на LVM-томе, GRUB нужен модуль lvm. Хорошая новость: grub-install определяет это сам и ставит модуль автоматически. От вас — только стандартные команды:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
В нашем примере /boot — это отдельный ESP, так что GRUB вообще не трогает LVM, но на других схемах разметки это знание пригодится.
Снапшот — это копия тома по технологии copy-on-write: создаётся мгновенно, занимает место только по мере изменения данных. Перед большим обновлением:
sudo lvcreate -s -L 5G -n snap vg0/root
Том vg0/snap — замороженная копия корня. Если что-то сломалось, откатываемся:
sudo lvconvert --merge vg0/snap
Слияние произойдёт при следующей загрузке, и корень вернётся в состояние на момент снапшота. Снапшот после слияния исчезает. Учтите: снапшот — не бэкап, он не защищает от смерти диска, но от кривого обновления — идеально.
Заполнился корень — расширяем, не выходя из системы:
sudo lvresize -L +10G --resizefs vg0/root
--resizefs растянет и сам том, и файловую систему ext4 одной командой. Если места в группе томов нет — добавьте второй диск:
sudo pvcreate /dev/sdb1
sudo vgextend vg0 /dev/sdb1
И снова lvresize. Вот и вся магия: разделы больше не ограничивают вас.
LVM замедляет систему?
На практике разница незаметна. На десктопе с NVMe ты её не увидишь вообще. LVM добавляет один слой device-mapper, но современное железо это компенсирует.
Можно ли добавить LVM на уже установленную систему?
Да, но муторно: создайте PV на свободном разделе, добавьте в VG и перенесите данные через pvmove. Проще переустановить — это займёт меньше времени.
Снапшот — это бэкап?
Нет. Снапшот живёт на том же диске и хранит изменения относительно оригинала. Умер диск — умерли и снапшоты. Для бэкапов нужен отдельный носитель.
Что делать после установки?
Стандартный набор: sudo, пароль, обновление, зеркала. Подробнее — в статье «Что делать после установки Arch: первый час».
LVM — это страховка от главной боли с разделами: «места нет, а переразметка — это переустановка». Установка Arch с LVM добавляет всего несколько команд: pvcreate, vgcreate, lvcreate, строку lvm2 в HOOKS и пакет lvm2 в pacstrap. Дальше ты получаешь тома, которые растут на лету, и снапшоты для отката. Один раз настроил — и забыл про нехватку места навсегда.
Задай вопрос в чате — отвечаем быстро, по делу и без воды.
Комментарии