Источник
Virtualization
Определение виртуализации, типы и ключевые подходы.
Виртуализация позволяет запускать несколько изолированных сред на одном физическом сервере. Для VM это означает несколько гостевых ОС поверх общего железа и гипервизора.
Какие виртуализации бывают
Аппаратная виртуализация
Создание виртуальных машин с отдельными гостевыми ОС.
Виртуализация на уровне ОС
Контейнеры разделяют ядро, но изолируют процессы и файловую систему.
Сетевая виртуализация
Виртуальные сети, свитчи и балансировщики поверх физической сети.
Виртуализация хранения
Логические тома и распределение дисков между VM.
Виртуализация для VM
Полная виртуализация
Гостевая ОС работает без модификаций, гипервизор эмулирует оборудование.
Паравиртуализация
Гостевая ОС знает о гипервизоре и оптимизирует обращения.
Аппаратно-ускоренная
Использует поддержку CPU (например, VT-x/AMD-V) для повышения производительности.
Type 1 (bare-metal)
Гипервизор работает напрямую на железе и управляет VM.
Type 2 (hosted)
Гипервизор работает поверх хостовой ОС и использует её драйверы.
На практике в облаках чаще используются Type 1 гипервизоры, а на рабочих станциях — Type 2.
Несколько VM на одном хосте
Гипервизор распределяет CPU, память, сеть и диск между виртуальными машинами, обеспечивая изоляцию.
Гипервизор виртуализирует CPU, память, сеть и диск, создавая изолированные VM.
Virtual machines inside host
VM 1
- Guest OS
- Nginx
- App A
VM 2
- Guest OS
- API
- Worker
VM 3
- Guest OS
- DB
- Cache
Все VM делят ресурсы одного хоста, но изолированы на уровне гостевой ОС и гипервизора.
Как запрос доходит до nginx внутри VM
Путь запроса проходит через сетевой интерфейс хоста, виртуальный свитч гипервизора, гостевую ОС и сервис внутри VM.
Путь запроса к nginx внутри VM
Путь запроса: интернет → хост → гипервизор → VM → сервис
External
Layer 1Host
Layer 2Hypervisor
Layer 3VM
Layer 4Service
Layer 5Активный шаг
Нажмите «Старт», чтобы пройти путь запроса.
Почему важно знать виртуализацию
- VM обеспечивают изоляцию и удобство миграции сервисов между хостами.
- Производительность зависит от гипервизора, I/O и выделенных ресурсов.
- Сетевые пути внутри VM добавляют задержки, что важно учитывать в SLA.
- Масштабирование часто строится вокруг VM как единицы развёртывания.
- Понимание VM помогает оценивать стоимость и плотность размещения сервисов.
