Физический сервер, гипервизор и виртуальные машины
Простая модель виртуализации выглядит так: физический сервер запускает гипервизор, а гипервизор — несколько VM. Физический сервер в этой схеме называют хостом виртуализации: его CPU, оперативная память, накопители и сетевые адаптеры являются общим пулом ресурсов для размещённых систем.
| Термин | Что означает |
|---|---|
| Хост виртуализации | Физический сервер, на котором работает гипервизор и размещаются VM. |
| Гипервизор | Программный слой, который создаёт, запускает и управляет виртуальными машинами, распределяя ресурсы хоста. |
| Виртуальная машина, VM | Логически изолированная вычислительная среда с виртуальными CPU, памятью, дисками и сетевыми устройствами. |
| Гостевая ОС | Операционная система внутри VM: например, серверный Linux или Windows Server. Она воспринимает виртуальное оборудование как доступную ей аппаратную платформу. |
| Виртуальный сервер | VM, на которой работают серверная ОС, приложение или сетевая служба для других систем и пользователей. |
VM не становится отдельным физическим сервером: её работа зависит от исправности хоста, доступности хранилища, сети и настроек платформы. Логическая изоляция снижает прямое влияние одной гостевой ОС на другую, но не устраняет общие точки отказа. Границы такой изоляции и требования к защите рассматриваются в статье «Защита виртуальных машин: изоляция, шифрование и границы ответственности гипервизора».
Как одна машина запускает несколько VM
Виртуальное оборудование — это набор логических устройств, который гипервизор показывает гостевой ОС. При создании VM администратор задаёт её параметры: число виртуальных процессоров, объём памяти, виртуальные диски, виртуальные сетевые адаптеры и, при необходимости, другие устройства. Гостевая ОС загружается и работает с этим набором так, как если бы он был её собственным сервером.
Виртуальные устройства VM обслуживаются физическими ресурсами хоста и подключённой инфраструктурой.
| Ресурс VM | Как он связан с хостом | Что ограничивает работу |
|---|---|---|
| vCPU | Гипервизор планирует выполнение виртуальных процессоров VM на физических ядрах и аппаратных потоках CPU хоста. | Конкуренция за процессорное время, загрузка хоста, число vCPU и ограничения платформы. |
| Оперативная память | Гипервизор сопоставляет память, видимую гостевой ОС, с RAM хоста. В зависимости от платформы могут применяться освобождение и перераспределение памяти, сжатие или подкачка; эти механизмы не создают дополнительную физическую RAM и способны увеличить задержки. | Объём RAM и давление памяти на хосте, конкуренция VM, настройки overcommitment и политики платформы. |
| Виртуальный диск | Обычно это файл, набор файлов VM или объект в подключённом хранилище. В VMware логическое место размещения таких файлов называют datastore. | Свободная ёмкость, задержки и пропускная способность накопителей, состояние RAID, SAN, NAS или другого хранилища. |
| Виртуальный сетевой адаптер | VM передаёт трафик через виртуальный сетевой адаптер и виртуальный коммутатор или сетевой мост (bridge), а затем, если это предусмотрено конфигурацией, через физические сетевые адаптеры хоста. | Настройки виртуальной и физической сети, VLAN, физические восходящие подключения хоста, пропускная способность и доступность сети. |
Для обычного запуска современных VM обычно нужна аппаратная виртуализация, поддерживаемая процессором и доступная гипервизору. Наличие этой возможности зависит от модели CPU, настроек firmware и конфигурации сервера. IOMMU — например, Intel VT-d или AMD IOMMU — не является обязательным условием для обычной VM: он требуется для отдельных сценариев управления DMA и передачи PCIe-устройств гостю, включая многие варианты GPU passthrough.
Что проверить до развёртывания
Условный пример размещения сервисов
Три роли на одном хосте
1. Три роли на одном хосте
Разделение ролей не устраняет общую зависимость
Зачем нужна виртуализация серверов
Практические преимущества и ограничения виртуализации
Преимущества
- ✅Консолидация: несколько совместимых серверных ролей используют один или несколько физических хостов вместо отдельного оборудования для каждой роли.
- ✅Логическое разделение: приложения с разными ОС, версиями библиотек или жизненным циклом можно размещать в отдельных VM.
- ✅Быстрое развёртывание: VM можно создавать из подготовленных образов или шаблонов, если это поддерживает выбранная платформа.
- ✅Упрощение переноса и восстановления: конфигурация и диски VM представляют собой управляемые объекты платформы, что может упростить отдельные операции миграции и восстановления.
- ✅Удобство лабораторий: изолированные VM подходят для обучения, тестирования обновлений и проверки конфигураций.
