KVM vs LXC-контейнеры

KVM vs LXC: изоляция против плотности

Краткий ответ

LXC-контейнеры используют общее ядро хоста и запускаются за миллисекунды с почти нулевыми накладными расходами; виртуальные машины KVM загружают собственное ядро с 2–5% накладных расходов и настоящей границей безопасности. Для мультиарендного хостинга разница решающая: уязвимость ядра на LXC-хосте — это уязвимость всех арендаторов на нём.

KVM vs LXC-контейнеры — бок о бок
ПараметрKVMLXC-контейнеры
Граница изоляцииАппаратнаяНеймспейсы ядра
Время загрузки5–15 секундМенее секунды
Overhead2–5%Менее 1%
ПлотностьНижеЗначительно выше
Выбор ядраВашеЯдро хоста
Безопасность мультиарендностиСильнаяПолностью зависит от ядра хоста

Что выбрать?

KVM

Выбирайте KVM, когда арендаторы не доверяют друг другу — а это любой коммерческий хостинг.

LXC-контейнеры

LXC отлично подходит внутри вашей собственной доверенной среды, например, как контейнеры на уже принадлежащем вам инстансе KVM.

Часто задаваемые вопросы

Менее ли безопасен LXC, чем KVM?

Изоляция по построению слабее. Побег из ядра в LXC достигает каждого контейнера на хосте; аналогичный побег в KVM требует побега из гипервизора, что является существенно более сложным классом ошибок.

Можно ли запустить LXC внутри KVM VPS?

Да, и это хороший шаблон: аппаратная изоляция от других клиентов, дешевая контейнерная изоляция для ваших собственных сервисов.