К основному содержимому

LXC или виртуальная машина в Proxmox: как выбрать

Proxmox VE · 09.10.2026 · 3 мин чтения
Иллюстрация к статье «LXC или виртуальная машина в Proxmox: как выбрать»

Контейнер LXC стоит выбирать, если нужен обычный Linux-сервис и важна экономия памяти. Виртуальная машина нужна там, где требуется другое ядро, своё ядро или полная изоляция от хоста.

Чем контейнер и виртуальная машина отличаются внутри

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

  • контейнер запускается почти мгновенно, потому что не грузит отдельное ядро
  • контейнер не может работать с другой операционной системой или другой версией ядра
  • виртуальная машина изолирована сильнее, потому что не делит ядро ни с хостом, ни с соседями

Базовые понятия платформы разобраны в статье что такое Proxmox VE.

Таблица выбора: на что смотреть

Для конкретного сервиса решение обычно сводится к нескольким практическим критериям, а не к общему «что лучше».

КритерийLXCВиртуальная машина
Расход памятиниже, память не резервируется заранее целикомвыше, память выделяется под гостевую ОС
Скорость запускапочти мгновеннополноценная загрузка ядра и сервисов
Своё ядронет, общее с хостомда, отдельное
Модули ядраограничено, зависят от ядра хосталюбые, подходящие гостевой ОС
Windowsневозможнода
Проброс устройствограниченно, через bind-mountполноценный проброс PCI и USB
Миграцияпроще и быстреевозможна живая миграция
Изоляцияна уровне пространств имён ядрана уровне виртуального железа

Что обычно берут в контейнер

Контейнер подходит для сервисов без особых требований к ядру и собственной операционной системе:

  • веб-серверы и обратные прокси
  • базы данных без специфичных модулей ядра
  • сетевые сервисы вроде DNS или DHCP
  • системы мониторинга и сбора логов
  • лёгкие служебные утилиты и планировщики задач

Что обязательно нужно виртуальной машиной

Есть задачи, где контейнер в принципе не подойдёт, потому что ему не хватит собственного ядра или изоляции:

  • любая не-Linux система, включая Windows
  • своё ядро или свои модули ядра, отличные от ядра хоста
  • вложенная виртуализация внутри гостя
  • проброс дисков и видеокарт в режиме, недоступном контейнеру
  • сервисы, которым нужна полная изоляция от остальных нагрузок на узле

Почему виртуальные машины «медленные»

Жалоба на медленную виртуальную машину почти всегда объясняется настройками, а не самой технологией виртуализации:

  • дисковый контроллер и режим кэширования выбраны не под нагрузку
  • в гостевой системе не установлены гостевые драйверы виртуального железа
  • виртуальной машине выделено больше процессорных ядер, чем физически доступно хосту
  • память отдана с запасом, а хост вынужден её возвращать через подкачку

Что нельзя делать в контейнере

Контейнеру не стоит давать повышенные привилегии ради удобства: привилегированный контейнер делит ядро с хостом практически без барьера, и уязвимость внутри него угрожает всему узлу. То, что требует root-доступа к ядру хоста, стоит переносить в виртуальную машину, а не решать правами контейнера.

Как перейти с одного на другое, если выбор оказался неверным

Переезд обычно означает перенос данных и конфигурации сервиса на новый носитель, а не копирование самого контейнера или машины целиком, потому что внутреннее устройство у них разное. Шаги по созданию контейнера описаны в статье LXC-контейнеры в Proxmox.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке