Тема виртуализации важна тем, что виртуальная машина - это не просто способ «запустить ещё одну ОС», а инструмент изоляции, многоарендности и управления эксплуатационным риском.
На практике глава помогает выбирать уровень изоляции и понимать цену гипервизора: как он влияет на плотность размещения, безопасность, соседние шумные нагрузки и чувствительные к задержке сервисы.
В интервью и архитектурных обсуждениях это даёт ясный каркас для сравнения VM, выделенных серверов и контейнеров через последствия, а не через лозунги.
Практическая польза главы
Изоляция контуров
Помогает выбирать уровень изоляции и понимать, как он влияет на безопасность и плотность размещения.
Накладные расходы
Учит учитывать стоимость виртуализации при проектировании сервисов, чувствительных к задержке.
Управляемость платформы
Показывает, где модель виртуальных машин остаётся предпочтительной для контроля среды и совместимости.
Сравнение подходов
Даёт ясные критерии сравнения VM и контейнеров в архитектурном ответе.
Источник
Virtualization
Определение виртуализации, типы и ключевые подходы.
Виртуализация важна не только как способ плотнее использовать железо, но и как базовый слой изоляции, многоарендности и управляемости инфраструктуры. Именно здесь появляется цена гипервизора, накладных расходов и соседних нагрузок.
Для виртуальных машин ключевая фигура здесь — , который делит один физический хост на несколько изолированных сред, каждая со своей . Это важно и для изоляции, и для многоарендности, и для контроля над тем, как соседние нагрузки создают эффект .
Если смотреть именно на виртуальные машины, полезно различать , и . У них разная цена по изоляции, накладным расходам и тому, как они влияют на и соблюдение .
Даже в и рядом с этот слой не исчезает: контейнерные платформы часто живут поверх VM, а внутри каждой гостевой системы по-прежнему есть граница между и .
Какая виртуализация бывает
Аппаратная виртуализация
Виртуальные машины с отдельными гостевыми операционными системами поверх гипервизора.
Виртуализация на уровне ОС
Контейнеры разделяют одно ядро, но изолируют процессы, файловые системы и сетевое окружение.
Сетевая виртуализация
Виртуальные сети, коммутаторы и балансировщики поверх физической сети.
Виртуализация хранения
Логические тома, пулы хранения и абстракция физических дисков для разных нагрузок.
Как устроена виртуализация виртуальных машин
Полная виртуализация
Гостевая операционная система работает без модификаций, а гипервизор воспроизводит аппаратный интерфейс.
Паравиртуализация
Гостевая система или её драйверы знают о гипервизоре и используют более короткие пути обращения к ресурсам.
Аппаратно-ускоренная
Использует расширения процессора вроде VT-x или AMD-V, чтобы уменьшить накладные расходы виртуализации.
Гипервизор первого типа
Работает напрямую на физическом сервере и сам управляет виртуальными машинами.
Гипервизор второго типа
Работает поверх хостовой операционной системы и использует её драйверы и сервисы.
В облаках чаще встречаются гипервизоры первого типа, а на рабочих станциях — второго.
Сравнение подходов к виртуализации VM
Полная виртуализация
- Гостевая ОС: Гостевая операционная система запускается без изменений.
- Производительность: Выше накладные расходы на процессор и операции ввода-вывода.
- Совместимость: Высокая совместимость, в том числе со старыми системами.
- Где применяют: Лабораторные среды, сценарии совместимости и редкие гостевые ОС.
Паравиртуализация
- Гостевая ОС: Гостевая система или драйверы знают о гипервизоре.
- Производительность: Быстрее полной эмуляции за счёт специальных интерфейсов доступа.
- Совместимость: Нужна поддержка паравиртуализированных интерфейсов или драйверов.
- Где применяют: Ускорение сети и диска внутри виртуальных машин.
Аппаратно-ускоренная
- Гостевая ОС: Гостевая операционная система обычно работает без модификаций.
- Производительность: Лучший практический баланс между изоляцией и скоростью для боевых сред.
- Совместимость: Широкая при наличии VT-x/AMD-V.
- Где применяют: Облачные платформы и большинство кластеров с реальной нагрузкой.
На практике для боевых сред часто выбирают аппаратно-ускоренную VM вместе с ускоренными драйверами сети и диска.
Примеры реальных систем
Полная виртуализация
- QEMU в режиме TCG (эмуляция без VT-x/AMD-V).
- Сценарии совместимости в VMware Workstation и VirtualBox для старых гостевых систем.
Выбирают там, где важнее совместимость, чем максимальная производительность.
Паравиртуализация
- Xen PV с паравиртуализированными гостевыми системами.
- KVM/QEMU + virtio для ускоренных сетевых и дисковых устройств.
- VMware VMXNET3 и PVSCSI как паравиртуализированные драйверы ввода-вывода.
На практике это часто гибридный слой ввода-вывода поверх аппаратно-ускоренных виртуальных машин.
Аппаратно-ускоренная
- KVM (Linux), VMware ESXi, Microsoft Hyper-V, Xen HVM.
- Google Compute Engine, AWS Nitro и Azure VM как примеры облачной реализации.
Путь по умолчанию для боевых сред благодаря хорошему соотношению производительности и изоляции.
Несколько VM на одном хосте
Эта схема помогает увидеть, как гипервизор делит процессор, память, сеть и диск между несколькими виртуальными машинами и где именно появляется цена изоляции.
Гипервизор виртуализирует процессор, память, сеть и диск, создавая изолированные виртуальные машины.
Виртуальные машины внутри хоста
VM 1
- Гостевая ОС
- Nginx
- Приложение A
VM 2
- Гостевая ОС
- API
- Обработчик
VM 3
- Гостевая ОС
- База данных
- Кэш
Все виртуальные машины делят ресурсы одного хоста, но остаются изолированными на уровне гостевой ОС и гипервизора.
Как запрос доходит до Nginx внутри VM
Даже простой HTTP-запрос проходит здесь через несколько слоёв: сетевую карту хоста, виртуальный коммутатор гипервизора, сетевой стек гостевой системы и только потом доходит до Nginx внутри VM.
Путь запроса к Nginx внутри VM
Путь запроса: интернет → хост → гипервизор → VM → сервис
Внешняя сеть
Слой 1Хост
Слой 2Гипервизор
Слой 3VM
Слой 4Сервис
Слой 5Текущий шаг
Нажмите «Старт», чтобы пройти путь запроса.
Почему это важно для системного дизайна
- Виртуальные машины дают сильную изоляцию и удобный перенос нагрузок между хостами.
- Итоговая производительность зависит не только от CPU, но и от пути сети, диска и решений гипервизора по распределению ресурсов.
- Дополнительные сетевые и дисковые слои могут увеличить задержку и влиять на выполнение соглашения об уровне сервиса.
- Во многих платформах именно виртуальная машина остаётся единицей развёртывания, даже если сверху уже живут контейнеры.
- Понимание виртуализации помогает оценивать стоимость, плотность размещения и влияние соседних нагрузок на сервис.
Связанные главы
- Почему фундаментальные знания важны - даёт контекст, как ограничения железа и ОС влияют на модель виртуализации.
- Операционная система: обзор - объясняет границу между пользовательским пространством и пространством ядра, важную для понимания гипервизора.
- Linux: серверная платформа - показывает основу большинства хостов, на которых работают виртуальные машины и облачная инфраструктура.
- Modern Operating Systems (short summary) - углубляет тему планирования, памяти и ввода-вывода, от которых зависит эффективность виртуальных машин.
- Контейнеризация - помогает сравнить изоляцию VM и контейнеров и выбрать подход под задачу.
- Зачем знать Cloud Native и 12 факторов - связывает слой виртуализации с эксплуатационными практиками облачно-ориентированных платформ.
- Kubernetes Fundamentals (v1.36): архитектура, объекты и базовые практики - показывает, как оркестрация контейнеров работает поверх VM-инфраструктуры.
- RAM и хранилище - дополняет тему лимитами памяти и диска, а также влиянием задержек хранилища на виртуальные машины.
