Открыть сервисСервис

Виртуализация — создание виртуальных аналогов ресурсов

Виртуализация — это технология создания программного (виртуального) представления вычислительных ресурсов — серверов, хранилищ, сетей или операционных систем, которое отделено от физического оборудования. Виртуальные ресурсы функционируют так, будто являются самостоятельными объектами, хотя физически используют общий аппаратный комплекс. Технология лежит в основе облачных вычислений, центров обработки данных и современных подходов к виртуализации рабочих мест.

История

Идея разделения аппаратных ресурсов между несколькими пользователями возникла ещё в 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
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru