Виртуализация
Технология, позволяющая запускать на одном физическом сервере несколько изолированных виртуальных сред со своими ОС и ресурсами.
Что такое виртуализация
Виртуализация — технология, при которой физические ресурсы (процессор, память, диск, сеть) абстрагируются от железа и представляются программам в виде виртуальных. Одна машина превращается в несколько независимых сред, каждая со своей операционной системой, и ни одна не знает о существовании остальных.
Ради чего: сервер под одним приложением утилизируется на 10–15%, остальное оплаченное железо простаивает. Виртуализация превращает этот простой в полезную нагрузку. Без неё не было бы ни облачных вычислений, ни VPS, ни IaaS — вся аренда «серверов по клику» построена на ней.
Ключевой компонент — гипервизор: именно он делит ресурсы и держит изоляцию.
Что такое аппаратная виртуализация
Аппаратная виртуализация — поддержка виртуализации на уровне процессора: Intel VT-x и AMD-V. Процессор получает дополнительный режим выполнения, в котором гостевое ядро работает почти нативно, а при попытке привилегированной операции управление автоматически передаётся гипервизору.
Что это меняет: без аппаратной поддержки гипервизор вынужден анализировать и подменять инструкции программно — падение производительности в разы. С ней накладные расходы измеряются процентами.
Смежные технологии того же класса:
- EPT / NPT — аппаратная трансляция памяти гостя, снимает главный тормоз ранней виртуализации.
- IOMMU (Intel VT-d / AMD-Vi) — изоляция устройств по адресам DMA. Без неё невозможен GPU passthrough.
- SR-IOV — одно физическое устройство (обычно сетевая карта) представляется как несколько виртуальных.
# Проверить поддержку и что она включена в UEFI
egrep -c '(vmx|svm)' /proc/cpuinfo # 0 — выключено или нет поддержки
lscpu | grep -i virtualization # VT-x / AMD-V
dmesg | grep -i -e DMAR -e IOMMU # IOMMU активен
Если счётчик равен нулю на современном процессоре — включите Intel VT-x / AMD-V в UEFI/BIOS.
Виды виртуализации
| Вид | Что виртуализируется | Пример |
|---|---|---|
| Серверная | Целый компьютер с ОС | KVM, ESXi, Hyper-V |
| Контейнерная | Процессы поверх общего ядра | Docker, LXC |
| Сетевая | Коммутаторы, маршрутизаторы, сегменты | VLAN, VPC, SDN |
| Хранилища | Диски и тома поверх пула | СХД, vSAN, Ceph |
| Рабочих мест | Десктоп пользователя | VDI |
| GPU | Видеокарта | MIG, vGPU |
«Среда виртуализации» — собирательное название всего этого хозяйства на конкретной площадке: гипервизоры, хранилище, сеть и панель управления вроде Proxmox или vSphere.
Полная, пара- и контейнерная
- Полная виртуализация: гость запускается без изменений и считает, что работает на реальном железе. Универсально, но эмуляция устройств стоит производительности.
- Паравиртуализация: гость знает, что он виртуален, и вместо эмулируемых устройств использует специальные драйверы (virtio,
vmxnet3,pvscsi) — обращается к гипервизору напрямую. Заметно быстрее по диску и сети; ради этого и ставят гостевые дополнения вроде VMware Tools. - Контейнеризация: изоляция процессов средствами одного ядра (namespaces, cgroups). Не виртуализация в строгом смысле — гостевой ОС нет, — но решает ту же задачу уплотнения, дешевле и с меньшей изоляцией.
Что даёт на практике
- Уплотнение: 10–30 виртуальных машин на хост вместо одного приложения.
- Изоляция: сбой или взлом одного гостя не затрагивает соседей.
- Снапшоты и клонирование: откат за секунды, копия окружения за минуты.
- Живая миграция: обслуживание железа без остановки сервисов.
- Гибкость: добавить ВМ памяти — это правка конфига, а не поездка в ЦОД.
Цена виртуализации
Накладные расходы на CPU и память при аппаратной поддержке невелики. Заметнее другое: диск и сеть требуют paravirtual-драйверов, иначе теряется ощутимая доля производительности. Чувствительные к задержкам нагрузки и базы данных под предельной нагрузкой иногда всё ещё оставляют на голом железе. Для GPU-вычислений виртуализация неприемлема без passthrough: эмулированная видеокарта считать не умеет.
Связанные термины
- Гипервизор — программа, реализующая виртуализацию
- Виртуальная машина — результат виртуализации
- Гипервизоры (VirtualBox/KVM/Hyper-V) — конкретные инструменты
- Облачные вычисления — то, что построено на виртуализации
- контейнер — альтернативный подход к изоляции
- GPU passthrough — виртуализация с реальной видеокартой
Готовы запустить GPU-задачу?
Запустить GPU-сервер