Виртуализация — создание виртуальных аналогов ресурсов¶
Виртуализация — это технология создания программного (виртуального) представления вычислительных ресурсов — серверов, хранилищ, сетей или операционных систем, которое отделено от физического оборудования. Виртуальные ресурсы функционируют так, будто являются самостоятельными объектами, хотя физически используют общий аппаратный комплекс. Технология лежит в основе облачных вычислений, центров обработки данных и современных подходов к виртуализации рабочих мест.
¶История
Идея разделения аппаратных ресурсов между несколькими пользователями возникла ещё в 1960-х годах в рамках проекта IBM CP-40 и системы CP/CMS для мейнфреймов IBM System/360. Тогда виртуализация решала задачу совместного использования дорогого оборудования.
В 1970-е годы появилась система VM/370, развивавшая концепцию гипервизора. С распространением персональных компьютеров в 1980-е интерес к виртуализации снизился, поскольку одно устройство обслуживало одного пользователя.
Возрождение интереса произошло в конце 1990-х — начале 2000-х годов, когда компании VMware, XenSource и другие разработали решения для x86-серверов. В 2003 году VMware выпустила VMware ESX, ставшую одной из первых коммерческих платформ виртуализации для промышленных серверов. В 2007 году появился открытый гипервизор KVM, интегрированный в ядро Linux. В России в 2010-е годы на основе KVM были созданы отечественные гипервизоры, в частности «Базальт СПО РЕД Виртуализация» и решения «Яндекса» и Mail.ru Group для собственных облаков.
¶Классификация
Виртуализация подразделяется по типу виртуализируемых ресурсов и по архитектурному положению гипервизора.
¶По типу ресурсов
- Виртуализация серверов — создание нескольких виртуальных машин (ВМ) на одном физическом сервере. Каждая ВМ работает со своей операционной системой и изолирована от остальных.
- Виртуализация хранилищ — объединение физических дисковых массивов в единый логический ресурс, доступный нескольким серверам.
- Виртуализация сети — программное разделение физической сети на логические сегменты (VLAN, виртуальные коммутаторы, программно-определяемые сети SDN).
- Виртуализация рабочих мест (VDI) — перенос рабочего окна пользователя с локального компьютера в дата-центр; пользователь подключается к виртуальной машине по сети.
- Виртуализация операционной системы — запуск нескольких изолированных сред (контейнеров) на одном ядре ОС.
¶По типу гипервизора
| Тип | Описание | Примеры |
|---|---|---|
| Тип 1 (bare-metal) | Устанавливается напрямую на «железо», без промежуточной ОС | VMware ESXi, KVM, Xen, Hyper-V |
| Тип 2 (hosted) | Работает как приложение поверх обычной ОС | VirtualBox, VMware Workstation, Parallels Desktop |
¶Устройство и принцип работы
Центральный компонент системы виртуализации — гипервизор (hypervisor, монитор виртуальной машины). Он абстрагирует физическое оборудование (процессор, память, диски, сеть) и предоставляет каждому гостю (виртуальной машине или контейнеру) изолированный набор виртуальных устройств.
Виртуальная машина состоит из набора файлов: образ диска, конфигурация, файлы состояния. Благодаря этому ВМ можно копировать, переносить между физическими серверами (миграция в реальном времени, live migration), делать снимки и откатывать состояние.
Важное свойство — мультиплексирование: суммарная производительность виртуальных машин может превышать ресурсы одного физического сервера, так как не все ВМ работают на пиковой нагрузке одновременно.
¶Применение
- Центры обработки данных — основной сценарий: одна физическая стойка серверов заменяет десятки логических, что снижает затраты на оборудование, электропитание и охлаждение.
- Облачные вычисления — IaaS-сервисы (Яндекс Облако, Selectel, VK Cloud, AWS, Azure) построены на виртуализации: клиент арендует виртуальные серверы, не покупая физическое оборудование.
- Разработка и тестирование — быстрое развёртывание изолированных сред с разными ОС и конфигурациями.
- Восстановление после сбоев — снимки ВМ позволяют быстро вернуть систему к рабочему состоянию.
- Устаревшее ПО — запуск программ, требующих старых версий ОС, на современном оборудовании.
¶Преимущества и ограничения
К достоинствам относятся: повышение загрузки аппаратных ресурсов (типичный сервер без виртуализации используется на 5–15 %, с виртуализацией — на 60–80 %), изоляция сред, гибкость масштабирования, упрощение резервного копирования.
Ограничения: накладные расходы гипервизора (обычно 2–10 % производительности), сложность лицензирования, необходимость в обучении персонала, потенциальная уязвимость при некорректной настройке изоляции (побег из виртуальной машины).
¶Контейнерная виртуализация
В 2010-е годы альтернативой виртуальным машинам стали контейнеры (Docker, LXC, Kubernetes). Контейнеры виртуализируют не оборудование, а операционную систему: несколько контейнеров используют общее ядро хоста, что делает их легче и быстрее виртуальных машин, но требует одинаковой ОС у гостей. Контейнеры и виртуальные машины часто используются совместно: ВМ обеспечивает аппаратную изоляцию, контейнеры — удобство развёртывания приложений.
¶Источники
- Таненбаум Э., Бос Х. Современные операционные системы (главы о виртуализации)
- Documentation VMware, Red Hat (KVM), Xen Project
- Материалы Microsoft Learn по Hyper-V
- Открытая документация Docker и Kubernetes
