До основного вмісту

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.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці