При установке Proxmox VE на сервер с одним диском инсталлятор по умолчанию создаёт структуру, где диски виртуальных машин размещаются в LVM-Thin пуле data, — и именно на этом этапе многие администраторы впервые сталкиваются с выбором: оставить тонкое выделение или перейти на классический thick LVM. Неправильный выбор на старте потом оборачивается либо невозможностью делать снапшоты, либо переполнением тонкого пула с остановкой всех виртуальных машин разом.
Оба варианта построены на одной технологии — Logical Volume Manager, но принципиально различаются способом выделения пространства. В этой статье разберём, чем отличаются LVM и LVM-Thin в контексте Proxmox, какие ограничения есть у каждого варианта и как проверить текущую конфигурацию хранилища на уже работающем гипервизоре.
Чем классический LVM отличается от LVM-Thin
Thick LVM (толстые тома) выделяет всё запрошенное пространство сразу: если вы создали диск ВМ на 100 ГБ, эти 100 ГБ физически зарезервированы в группе томов, независимо от того, сколько данных реально записано. Пространство расходуется предсказуемо, переполнение невозможно, но суммарный объём всех дисков не может превышать ёмкость хранилища.
LVM-Thin работает иначе: создаётся тонкий пул (thin pool), внутри которого тома получают блоки по мере фактической записи данных. Диск на 100 ГБ с 10 ГБ реальных данных занимает физически около 10 ГБ. Это позволяет суммарный номинальный объём дисков сделать больше физического — так называемый overprovisioning.
Ключевое практическое различие: снапшоты дисков виртуальных машин в Proxmox на блочном LVM поддерживаются только в варианте LVM-Thin. На классическом thick LVM кнопка создания снапшота для ВМ будет недоступна, что для многих сценариев становится решающим аргументом.
Сравнительная таблица LVM и LVM-Thin
| Критерий | Thick LVM | LVM-Thin |
|---|---|---|
| Выделение места | Сразу полный объём | По мере записи данных |
| Снапшоты ВМ в Proxmox | Не поддерживаются | Поддерживаются |
| Риск переполнения пула | Отсутствует | Есть, при overprovisioning |
| Эффективность использования диска | Низкая | Высокая |
| Производительность | Стабильная, предсказуемая | Зависит от заполненности пула |
Преимущества и недостатки LVM-Thin
Тонкое выделение особенно выгодно, когда на гипервизоре размещается много виртуальных машин с большими номинальными дисками, но небольшой фактической заполненностью. Типичный пример — десяток ВМ с дисками по 200 ГБ, в каждой из которых реально занято 20–40 ГБ.
- 📸 Снапшоты — мгновенные точки восстановления перед обновлениями и экспериментами.
- 💾 Экономия места — физически расходуется только реально записанный объём.
- ⚡ Быстрое создание дисков — том создаётся мгновенно, без выделения полного объёма.
- 📊 Overprovisioning — можно выдать ВМ больше места, чем есть физически (с осторожностью).
Обратная сторона — риск исчерпания тонкого пула. Когда thin pool заполняется полностью, виртуальные машины, пытающиеся записать данные, получают ошибки ввода-вывода и могут остановиться с повреждением файловых систем гостевых ОС. Это самая тяжёлая аварийная ситуация для LVM-Thin.
⚠️ Внимание: следите за заполненностью тонкого пула через lvs (столбец Data%) или в веб-интерфейсе Proxmox. При приближении к 80–85% пора либо расширять пул, либо переносить часть ВМ на другое хранилище. Промедление грозит одновременной остановкой всех машин на этом пуле.
Когда выбрать классический thick LVM
Толстые тома оправданы в сценариях, где важнее предсказуемость, чем гибкость. Если на хосте работает одна-две критичные ВМ с базами данных, занимающими почти весь выделенный объём, тонкое выделение не даёт никакой экономии — зато добавляет точку отказа в виде метаданных пула.
Также thick LVM проще в аварийном восстановлении: тома можно смонтировать стандартными средствами LVM без активации тонкого пула. Для небольших установок, где снапшоты заменяются регулярными бэкапами через Proxmox Backup Server или vzdump, отсутствие снапшотов не критично.
- 🎯 Максимальная предсказуемость — свободное место группы томов всегда соответствует реальности.
- 🛠️ Простота восстановления — тома доступны без активации thin pool.
- 🚫 Нет риска overprovisioning — переполнение исключено архитектурно.
Как проверить текущую конфигурацию хранилища
Определить, что используется на работающем сервере, можно за минуту через консоль. Выполните команду просмотра логических томов:
lvs -a
Если в выводе виден пул с именем data и типом tw-pool, а тома ВМ имеют тип V (thin volume) — у вас LVM-Thin. Толстые тома отображаются как обычные линейные тома linear без привязки к пулу. Дополнительно посмотрите конфигурацию хранилищ Proxmox:
cat /etc/pve/storage.cfg
В этом файле хранилище типа lvmthin будет описано директивой lvmthin с указанием vgname и thinpool, а классический вариант — директивой lvm только с группой томов.
Что означают поля в выводе lvs
Столбец Attr показывает атрибуты тома: буква t указывает на thin pool, V — на тонкий том. Столбец Data% для пула показывает фактическую заполненность — это главный показатель для мониторинга. Столбец Meta% отражает заполненность метаданных пула, которые тоже могут закончиться при большом числе томов и снапшотов.
Создание и расширение LVM-Thin пула
Тонкий пул можно создать вручную на отдельном диске или разделе. Сначала создаётся физический том и группа томов, затем сам пул:
pvcreate /dev/sdb
vgcreate pve-data /dev/sdb
lvcreate -l 95%FREE -T pve-data/thinpool
После этого хранилище регистрируется в Proxmox через веб-интерфейс: Datacenter → Storage → Add → LVM-Thin, либо командой pvesm add lvmthin. Оставлять часть группы томов незанятой (как в примере выше — 95% вместо 100%) полезно: запас понадобится для расширения метаданных пула или самого пула без остановки ВМ.
☑️ Безопасная настройка LVM-Thin
⚠️ Внимание: снапшот — не замена резервной копии. Снапшоты LVM-Thin хранятся в том же пуле на том же физическом диске: при отказе носителя пропадут и ВМ, и все её снапшоты. Резервные копии всегда размещайте на отдельном хранилище.
Производительность и нюансы эксплуатации
По скорости линейного чтения и записи оба варианта близки, поскольку работают поверх одного механизма device mapper. Разница проявляется в момент первого выделения блоков тонкому тому и при сильной фрагментации заполненного пула. На практике для большинства домашних и офисных нагрузок разница незаметна, а вот для высоконагруженных СУБД стоит тестировать оба варианта на своём железе.
Отдельный нюанс — очереди отброшенных блоков (discard/TRIM). Если гостевая ОС и диск ВМ настроены с поддержкой discard, удалённые внутри ВМ файлы будут освобождать место в тонком пуле. Без этого пул со временем «распухает»: данные в госте удалены, а физически место не возвращается. Проверьте, что для диска ВМ включена опция Discard в настройках оборудования, если ваша модель использования этого требует.
Итоговые рекомендации по выбору
Для большинства установок Proxmox разумным выбором остаётся LVM-Thin: снапшоты, экономия места и гибкость перевешивают риск переполнения, который полностью нейтрализуется мониторингом заполненности пула. Именно поэтому инсталлятор Proxmox создаёт тонкий пул по умолчанию.
Выбирайте thick LVM, когда диски ВМ заранее известны и почти полностью заполнены данными, снапшоты не нужны (есть внешняя система бэкапов), а максимальная простота и предсказуемость важнее гибкости. Ничто не мешает комбинировать: держать часть ВМ на тонком пуле, а критичные базы данных — на толстых томах или отдельном хранилище.
Частые вопросы
Можно ли преобразовать thick LVM в LVM-Thin без потери данных?
Прямой конвертации существующего толстого тома в тонкий штатными средствами Proxmox нет. Обычный путь — создать тонкий пул, перенести диски ВМ через Move Disk в веб-интерфейсе или восстановить машины из резервных копий на новое хранилище.
Что произойдёт, если LVM-Thin пул заполнится на 100%?
Операции записи в тонкие тома начнут завершаться с ошибками ввода-вывода. Гостевые системы могут перевести файловые системы в режим только для чтения или аварийно остановиться. Потребуется срочно освободить место (удалить ненужные тома или снапшоты) либо расширить пул командой lvextend.
Делают ли снапшоты LVM-Thin ВМ медленнее?
Каждый активный снапшот добавляет уровень косвенности при обращении к данным. Один-два снапшота обычно незаметны, но длинные цепочки старых снапшотов могут снижать производительность и расходовать метаданные пула. Удаляйте снапшоты после того, как они перестали быть нужны.
Как расширить тонкий пул, если место заканчивается?
Если в группе томов есть свободное пространство, выполните lvresize -L +100G pve/data (подставив своё имя VG и пула). Если места нет — добавьте новый диск в группу томов через pvcreate и vgextend, затем расширьте пул.
Что лучше для Proxmox: LVM-Thin или ZFS?
ZFS даёт снапшоты, сжатие и контроль целостности данных, но требователен к оперативной памяти и требует понимания своей модели хранения. LVM-Thin проще и легче по ресурсам. Для серверов с небольшим объёмом RAM LVM-Thin часто предпочтительнее, для больших систем с ECC-памятью многие выбирают ZFS.