Виртуализация на выделенном сервере: KVM, Proxmox или ESXi
На своём железе выбирают из трёх вариантов: чистый KVM с libvirt, Proxmox VE (тот же KVM плюс контейнеры LXC и веб-панель) или VMware ESXi. Для большинства задач берут Proxmox VE: он ставится поверх Debian, ведёт и машины, и контейнеры, и не требует покупки лицензии. ESXi имеет смысл там, где уже есть инфраструктура VMware и персонал под неё.
- Аппаратная виртуализация должна быть включена в BIOS: на Intel это VT-x, флаг
vmxв /proc/cpuinfo. - Память не переподписывают: RAM всех машин плюс 2–4 GB гипервизору должна помещаться в физическую.
- Ядра переподписывают спокойно: при неравномерной нагрузке нормально 3–4 vCPU на физический поток.
- Каждой машине с собственным публичным адресом нужен отдельный IPv4: $5/мес.
- Без KVM/IPMI ошибка в конфигурации моста отрезает доступ к серверу; опция стоит $5/мес.
Что требуется от железа
Гипервизор упирается в память и диск раньше, чем в процессор. Память гостю выделяется целиком и не сжимается, поэтому 16 GB на тарифе Start — это реально 12–13 GB под машины после вычета гипервизора и кеша. Диски нужны с запасом по IOPS: десять машин пишут случайно и одновременно, так что NVMe в RAID1 отличается от пары SATA SSD не процентами, а разами.
ECC-память здесь не роскошь: одна перевёрнутая ячейка в памяти хоста портит страницу любой из гостевых систем, и диагностировать это потом крайне тяжело. Все выделенные серверы ZevsHost идут с DDR4 ECC, конфигурации перечислены на странице выделенных серверов.
Третье требование — удалённое управление: установка гипервизора и восстановление после неудачного обновления ядра делаются через консоль, а не по SSH. Как это работает — в статье про IPMI и KVM-over-IP.
Проверка поддержки виртуализации
Первое, что делают на новой машине, — убеждаются, что KVM доступен. Если флагов нет, виртуализация выключена в BIOS, и поднять её по SSH не получится.
# флаг vmx (Intel) или svm (AMD) в описании процессора
grep -c -E 'vmx|svm' /proc/cpuinfo
# модуль ядра загружен и устройство создано
lsmod | grep kvm
ls -l /dev/kvm
# Debian/Ubuntu: полная проверка готовности хоста
apt-get install -y libvirt-clients qemu-kvm
virt-host-validate qemu 2>&1 | grep -v PASS
# RHEL/AlmaLinux/Rocky
dnf install -y libvirt-client qemu-kvm
virt-host-validate qemu
Вывод virt-host-validate без строк WARN и FAIL означает, что хост готов.
Какой гипервизор выбрать
| Вариант | Управление | Когда брать | Чего стоит |
|---|---|---|---|
| KVM + libvirt | virsh, virt-install, файлы XML | 2–5 машин, всё автоматизируется скриптами или Ansible | Нет панели, снапшоты и бэкапы настраиваете сами |
| Proxmox VE | Веб-панель, API, CLI (qm, pct) | Смешанная нагрузка, машины и контейнеры, бэкапы и кластер | Требует отдельного раздела под хранилище, свой стек сети |
| VMware ESXi | Host Client, vCenter | Уже есть инфраструктура и специалисты VMware | Жёсткие требования к драйверам, лицензирование |
| LXC-контейнеры | pct в Proxmox или lxc | Однотипные Linux-окружения, плотность важнее изоляции | Общее ядро с хостом, чужое ядро внутри не запустить |
Если машин больше трёх, панель окупается за первую неделю. Что такое Proxmox и чем он отличается от голого KVM — в статье Proxmox: что это такое, пошаговая установка разобрана в установке Proxmox, а выбор хранилища — в материале про хранилище ZFS в Proxmox.
Сеть: мост и адреса
Схем две. Мост выносит гостей в ту же сеть, что и хост: каждой машине нужен свой публичный IPv4. NAT оставляет гостей в приватной подсети и пробрасывает порты с единственного адреса хоста.
# Debian/Proxmox: мост поверх физического интерфейса
cat << 'EOF' > /etc/network/interfaces.d/vmbr0
auto vmbr0
iface vmbr0 inet static
address 203.0.113.10/24
gateway 203.0.113.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
EOF
# применяем и сразу проверяем, что мост поднялся
ifreload -a
ip -br addr show vmbr0
bridge link show
Адреса и подсети для гостей заказываются отдельно, по $5/мес за IPv4; как их маршрутизировать — в статье про дополнительные IPv4 и подсети.
Сколько машин помещается на тариф
| Тариф | RAM | Диски | Реалистичная плотность |
|---|---|---|---|
| Dedicated Start DE, $49 | 16 GB ECC | 2×500 GB SSD, RAID1 | 3–4 машины по 2–4 GB |
| Dedicated Pro DE, $99 | 32 GB ECC | 2×1 TB NVMe, RAID1 | 6–8 машин по 4 GB |
| Dedicated Enterprise US, $149 | 64 GB ECC | 4×1 TB NVMe, RAID10 | 12–16 машин по 4 GB |
Цифры даны с запасом на гипервизор и кеш. Под снапшоты закладывайте ещё 20–30% диска: снапшот растёт на объём изменённых блоков.
Переподписка памяти на гипервизоре без swap заканчивается тем, что OOM killer убивает не виноватую машину, а самую крупную — обычно как раз продуктивную базу. Проверяйте free -m на хосте при запущенных под нагрузкой гостях: available должно оставаться не меньше 10% физической. Второй способ потерять сервер — перенастроить мост по SSH: соединение рвётся на команде применения, и без KVM/IPMI машину не поднять. Меняйте сеть только из консоли IPMI.
Коротко
- Proxmox VE закрывает большинство сценариев: KVM, LXC, панель, бэкапы; чистый libvirt оправдан при 2–5 машинах.
- Перед установкой проверьте флаг vmx и вывод virt-host-validate: без аппаратной поддержки гипервизор не запустится.
- Память не переподписывают, ядра переподписывают: 3–4 vCPU на поток при неравномерной нагрузке.
- Каждой машине с публичным адресом нужен свой IPv4 за $5/мес, либо NAT с пробросом портов.
- Сеть перенастраивают только из IPMI-консоли: ошибка в мосте отрезает SSH мгновенно.