Установка Arch с LVM: зачем и как
LVM (Logical Volume Manager): прослойка между диском и файловой системой, которая превращает жёсткие разделы в гибкие «виртуальные» тома. Их можно объединять, расширять и сжимать на лету, а ещё делать мгновенные снапшоты для отката. Установка Arch с LVM почти не отличается от обычной: добавляется один пакет, пара команд для создания томов и одна строка в mkinitcpio. Разберём по шагам.
Зачем нужен LVM
Обычные разделы: навсегда. Создал корень на 50 ГБ, через год он заполнился, и начинается цирк: перенос данных, переразметка, переустановка. LVM решает это раз и навсегда:
- Resize на лету. Том можно расширить прямо на работающей системе, не перезагружаясь. Файловая система ext4 растёт онлайн.
- Объединение дисков. Несколько физических дисков складываются в одну группу томов, а логические тома распределяются по ним как угодно.
- Снапшоты. Мгновенная «фотография» тома для отката перед обновлением или экспериментом.
- Независимость от порядка разделов. Тому не важно, где физически лежат его данные: в начале диска, в конце или на другом диске.
Плата за это: чуть более сложная установка и initramfs, который должен уметь поднимать LVM до монтирования корня. Но это один раз.
Как разметить диск под 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».
Как создать PV, VG и LV
Три уровня 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.
Как настроить mkinitcpio для LVM
Это ключевой момент. Без него система не загрузится: 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
Как настроить GRUB с LVM
Если /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, но на других схемах разметки это знание пригодится.
Как делать снапшоты 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. Дальше ты получаешь тома, которые растут на лету, и снапшоты для отката. Один раз настроил, и забыл про нехватку места навсегда.
Полезные ресурсы
- LVM (ArchWiki). Полная документация: тома, снапшоты, RAID, thin provisioning
- Install Arch Linux on LVM (ArchWiki). Официальная инструкция установки с LVM
Не получилось? Поможем настроить
Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Комментарии