Серверная виртуализация

Серверная виртуализация: что это, как работает и зачем нужна

Как гипервизор делит ресурсы физического сервера между виртуальными машинами, чем VM отличается от VPS и когда нужен кластер.

14 минут
абстрактная иллюстрация виртуализации серверных ресурсов
Серверная виртуализация позволяет запустить на одном физическом сервере несколько логически обособленных систем — виртуальных машин. Гипервизор предоставляет каждой VM виртуальные процессоры, память, диски и сеть, но все они используют ресурсы общего хоста. Такой подход удобен для консолидации сервисов, быстрого развёртывания сред и разделения ролей, однако не отменяет планирование ресурсов, резервное копирование и защиту от отказов.

Физический сервер, гипервизор и виртуальные машины

Простая модель виртуализации выглядит так: физический сервер запускает гипервизор, а гипервизор — несколько 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.

Что проверить до развёртывания

Поддержку процессора, сетевых адаптеров, контроллеров хранения, микропрограммы сервера и гостевых ОС проверяют по документации выбранного гипервизора и производителя оборудования. Для VMware используют VMware Compatibility Guide, для Hyper-V — официальные требования к оборудованию хоста и перечни поддерживаемых гостевых ОС, для Proxmox VE — официальные системные требования и руководство администратора. Названия параметров BIOS/UEFI, пунктов меню и доступных функций зависят от модели сервера, поколения и версии микропрограммы; универсального пути в меню нет. Типовой порядок проверки и включения VT-x, AMD-V и IOMMU приведён в статье «Как включить Intel VT-x, AMD-V и IOMMU в BIOS/UEFI сервера».

Условный пример размещения сервисов

Три роли на одном хосте

1. Три роли на одном хосте
Применение:Организации нужны прикладной сервис, база данных и отдельная тестовая среда. Их не обязательно размещать в одной ОС: обновление или эксперимент в тестовой среде не должны напрямую менять конфигурацию прикладного сервиса.
Почему:На одном хосте создают отдельные VM: одну для приложения, вторую для СУБД, третью для тестов. Каждой VM назначают свои vCPU, память, виртуальные диски и сетевое подключение, а правила доступа между сегментами сети задают отдельно.
Роли разделены на уровне гостевых ОС и конфигураций VM.Тестовую среду можно разворачивать и удалять без переустановки основного сервиса.Ресурсы и обновления каждой системы можно учитывать отдельно.

Разделение ролей не устраняет общую зависимость

Если единственный хост выключится, потеряет питание, столкнётся с отказом накопителя или критической проблемой гипервизора, все три VM могут стать недоступны одновременно. Перегрузка CPU, памяти, дисковой подсистемы или сети также способна одновременно ухудшить работу нескольких VM.

Зачем нужна виртуализация серверов

Практические преимущества и ограничения виртуализации

Преимущества
  • ✅Консолидация: несколько совместимых серверных ролей используют один или несколько физических хостов вместо отдельного оборудования для каждой роли.
  • ✅Логическое разделение: приложения с разными ОС, версиями библиотек или жизненным циклом можно размещать в отдельных VM.
  • ✅Быстрое развёртывание: VM можно создавать из подготовленных образов или шаблонов, если это поддерживает выбранная платформа.
  • ✅Упрощение переноса и восстановления: конфигурация и диски VM представляют собой управляемые объекты платформы, что может упростить отдельные операции миграции и восстановления.
  • ✅Удобство лабораторий: изолированные VM подходят для обучения, тестирования обновлений и проверки конфигураций.
Недостатки
  • ❌Все VM конкурируют за ограниченные ресурсы CPU, памяти, хранилища и сети.
  • ❌Одиночный хост остаётся единой точкой отказа для размещённых на нём сервисов.
  • ❌Проблемы производительности и заполнение хранилища могут затронуть сразу несколько VM.
  • ❌Нужны отдельные процессы обновления гипервизора, мониторинга, контроля доступа и резервного копирования.
  • ❌Доступность функций, поддержка оборудования и лицензирование зависят от платформы, её версии, редакции и архитектуры.

В небольшой инфраструктуре виртуализация часто используется для файлового сервиса, внутреннего веб-приложения, контроллера домена, тестовой VM или отдельной базы данных — если допустимый риск единого хоста понятен и есть план восстановления. В компании она помогает разделять прикладные роли, разворачивать типовые среды для разработки и тестов, централизованно управлять большим числом VM и строить инфраструктуру с несколькими узлами. При этом виртуализация для продакшена требует оценки не только числа VM, но и характера нагрузки, допустимого простоя, требований приложений и возможностей команды сопровождения.

VM в собственной инфраструктуре и арендуемый VPS/VDS

Выражение «виртуальный сервер» неоднозначно. Оно может означать VM на сервере организации или арендуемую услугу VPS/VDS у внешнего провайдера. Названия VPS и VDS сами по себе не определяют технологию изоляции: провайдер может предоставить полноценную VM с собственной гостевой ОС либо контейнерную среду, использующую ядро хоста. Доступные клиенту функции и границы ответственности определяются реализацией и условиями услуги.

ВопросVM в собственной инфраструктуреАрендуемый VPS/VDS
Где работает средаНа физическом сервере организации или в её частной инфраструктуре.На инфраструктуре провайдера; технически это может быть VM или контейнер.
Кто управляет физическим хостом и слоем виртуализацииОбычно внутренняя ИТ-команда или привлечённый оператор.Провайдер в пределах выбранной услуги.
Кто отвечает за хранилище и сеть хостаОрганизация проектирует, обслуживает и контролирует их сама.Провайдер предоставляет инфраструктурный слой по условиям услуги; клиент управляет только доступным ему уровнем.
Что получает пользовательКонтроль над размещением VM, сетями, хранилищем и политиками платформы в пределах собственной архитектуры.Виртуальную среду с параметрами, гарантиями и ограничениями, установленными договором; название VPS/VDS само по себе не гарантирует физически выделенные ресурсы.

Аренда VPS/VDS как услуги не равна самостоятельному созданию VM на собственном оборудовании. Клиент обычно администрирует доступный ему уровень ОС или пользовательской среды: обновляет доступные компоненты, настраивает приложения и права доступа, защищает данные. Точная граница ответственности зависит от технологии виртуализации и от того, какие работы включены в услугу провайдера.

Какие риски создаёт консолидация

Виртуализация не добавляет физических ресурсов. Если несколько VM одновременно активно используют CPU, память, диски или сеть, они начинают конкурировать за общий ресурс. Назначение VM суммарно большего объёма ресурсов, чем есть у хоста, называют overcommitment. Это может быть допустимой политикой при известном профиле нагрузки, но не является безопасной настройкой по умолчанию.

  • CPU: высокий спрос нескольких VM увеличивает ожидание процессорного времени; добавление vCPU не всегда ускоряет гостевую систему.
  • Память: нехватка RAM у хоста может привести к механизмам экономии памяти гипервизора и к ухудшению отклика VM.
  • Хранилище: задержки накопителей, неисправности массива или исчерпание свободного места затрагивают VM, использующие это хранилище.
  • Сеть: общий uplink, неверная VLAN-конфигурация или отказ коммутатора могут нарушить доступ одновременно к нескольким сервисам.
  • Администрирование: ошибка в сети управления, обновлении гипервизора или правах доступа способна иметь более широкий эффект, чем ошибка внутри одной гостевой ОС.

Для поиска узких мест недостаточно смотреть только на назначенные VM vCPU и RAM: сопоставляют показатели гостевой ОС, загрузку хоста, задержки хранилища и сетевые события за один интервал. Подробный разбор метрик и overcommitment — в статье «Производительность виртуализации: ресурсы VM, overcommitment, метрики и поиск узких мест».

Почему VM сама не даёт резервную копию и отказоустойчивость

Созданная VM — это только рабочая вычислительная среда. Она не получает автоматически вторую копию данных, запасной хост или непрерывную работу при сбое. Высокая доступность, живая миграция, репликация, снимки и резервное копирование — разные механизмы с разными целями и условиями.

МеханизмДля чего применяетсяЧего сам по себе не гарантирует
Резервное копированиеСоздание отдельной копии данных или VM для восстановления после удаления, повреждения, ошибки или части аварийных сценариев.Мгновенное переключение на работающую копию и нулевую потерю последних изменений.
SnapshotФиксация состояния VM в рамках возможностей платформы, обычно для краткосрочных операций и отката.Самостоятельную резервную копию: снимок может зависеть от базовых файлов и того же хранилища.
Живая миграцияПеренос работающей VM между совместимыми хостами для обслуживания или балансировки.Защиту от повреждения данных, отказа общего хранилища или отказоустойчивость приложения.
HAПопытка автоматически восстановить или перезапустить VM на другом подходящем узле при отказе хоста в подготовленной архитектуре.Непрерывную работу приложения без перезапуска и защиту от всех отказов инфраструктуры.
Автоматическая балансировкаРаспределение VM или нагрузки между хостами, если платформа, кластер и лицензия предоставляют такую функцию.Резервное копирование и возможность пережить отказ без запаса ресурсов.

Снимок — не замена резервной копии

Снимок обычно остаётся зависимым от исходных виртуальных дисков и хранилища. Его длительное хранение может увеличить расход места и усложнить операции с VM. Для защиты данных нужны отдельная политика резервного копирования, проверка восстановления и хранение копий в соответствии с рисками. Различия между клонами, шаблонами и снимками разобраны в статье «Клоны, шаблоны и снимки виртуальных машин: когда использовать и как снизить риск потери данных».

Названия и условия функций различаются между платформами. В VMware vSphere технология vMotion переносит работающую VM между совместимыми хостами, vSphere HA перезапускает VM после отказа узла, а vSphere DRS помогает распределять ресурсы и выбирать размещение VM. Условия и ограничения этих функций проверяют в официальной документации VMware vSphere. В Hyper-V у Live Migration, Storage Migration, Hyper-V Replica и отказоустойчивого кластера также разные назначения и требования. Доступность функций зависит от версии, редакции, архитектуры, компонентов управления и действующих лицензионных условий, поэтому окончательные условия проверяют в документации для используемого релиза.

Когда достаточно одного хоста, а когда нужен кластер

Одиночный хост может быть оправдан для обучения, домашней или рабочей лаборатории, разработки, некритичного тестового контура либо небольшой нагрузки с приемлемым простоем. В таком сценарии заранее определяют, где лежат резервные копии, как восстановить хост или VM и сколько времени сервис может быть недоступен.

Несколько совместимых хостов и кластерные функции рассматривают, когда отказ одного сервера не должен надолго останавливать сервисы, VM требуется автоматически запускать на другом узле или оборудование нужно обслуживать с минимальным перерывом. Такая архитектура требует запаса мощности на случай отказа узла, планирования сетей управления и миграции, подходящего общего или распределённого хранилища либо иной схемы доступности данных, а также проверенного резервного копирования. Критичность нагрузки к задержкам и конкуренции ресурсов требует отдельного расчёта производительности и изоляции, но сама по себе не означает, что обязательно нужен кластер.

Кластер не равен отсутствию простоя

Кластерная функция HA обычно пытается перезапустить VM на доступном узле после обнаружения отказа. Это может сократить время восстановления, но гостевая ОС и приложение проходят запуск заново. Для непрерывности конкретного сервиса может потребоваться отказоустойчивость на уровне самого приложения, базы данных или балансировщика.

Выбор числа хостов, хранилища и сетей должен опираться на профиль сервисов: фактическое потребление CPU и памяти, задержки и IOPS, сетевые потоки, критичность и допустимое время восстановления. Эти вопросы подробно рассматривает статья «Как спроектировать виртуальную инфраструктуру для продакшена, разработки, тестов и 1С».

Серверные и настольные гипервизоры

Для серверной эксплуатации обычно выбирают серверные гипервизоры и платформы виртуализации: например, VMware ESXi и vSphere, Hyper-V, Proxmox VE, стек KVM/QEMU/libvirt или решения экосистемы Xen. Их сопоставление не сводится к типу гипервизора: важны поддержка оборудования и гостевых ОС, средства управления, сети, хранилище, требования к доступности, компетенции команды и условия лицензирования.

Настольные продукты Type 2, такие как VirtualBox или VMware Workstation, используют службы основной ОС для доступа к оборудованию и обычно подходят для обучения, разработки и тестовых лабораторий. Их не следует автоматически считать заменой серверной платформы для продакшена. Классификация Type 1 и Type 2 описывает архитектурное место гипервизора, но сама по себе не определяет производительность, безопасность или набор функций конкретного решения.

Подробности классификации приведены в статье «Гипервизоры и типы виртуализации: Type 1, Type 2, полная и паравиртуализация». Для выбора платформы по требованиям инфраструктуры используйте сравнение решений серверной виртуализации; для первой учебной VM на настольном компьютере — материал о VirtualBox и VMware Workstation.

Термины в статье

Аппаратная виртуализация — способ запуска ВМ с поддержкой процессора и платформы, где привилегированные операции гостя обрабатываются специальными механизмами CPU, а не только программной эмуляцией.
Технология абстрагирования физических вычислительных ресурсов, позволяющая создавать виртуальные серверы, хранилища, сети и другие логические ресурсы.
Изолированная вычислительная среда с виртуальными процессорами, памятью, дисками и сетевыми адаптерами, в которой под управлением гипервизора работает гостевая ОС.
Виртуальная сеть — логическая сеть, реализованная программными средствами для связи ВМ и других виртуальных нагрузок между собой и, при необходимости, с физической сетью.
Виртуальное оборудование — логическая аппаратная платформа, которую гипервизор предоставляет ВМ: виртуальные процессоры, память, устройства и системную прошивку.
Виртуальная машина, на которой работают серверная ОС, сетевые службы или приложения и которая предоставляет их другим системам и пользователям.
Высокая доступность (HA) — способность системы сохранять сервис или автоматически восстанавливать его с минимальным простоем при отказе компонентов.
Программный слой, который абстрагирует ресурсы физического хоста, выполняет виртуальные машины и управляет ими.
Гипервизор, работающий непосредственно на аппаратном уровне, а не как приложение хостовой ОС, и распределяющий ресурсы сервера между виртуальными машинами.
Создание копии виртуальной машины как отдельной ВМ; полный клон независим от исходной ВМ, а связанный использует её базовые виртуальные диски.
Системная служба — программный компонент, которым ОС управляет как логической единицей для фонового выполнения задач или предоставления функций программам и пользователям.
Зафиксированное гипервизором состояние поддерживаемых виртуальных дисков и конфигурации ВМ на определённый момент, иногда также памяти, к которому можно выполнить откат.
Хост виртуализации — физический сервер или вычислительная система, на которой работает гипервизор и размещаются виртуальные машины; его CPU, память, сеть и хранилище распределяются между гостями.
Подготовленный объект платформы виртуализации с образом ОС и заданной конфигурацией для повторяемого развертывания новых виртуальных машин.
Логический контейнер хранилища в VMware для размещения файлов виртуальных машин (диски, конфигурации, логи)
Функция VMware vSphere для управления размещением ВМ в кластере и балансировки ресурсов хостов с помощью рекомендаций или автоматических миграций vMotion.
Режим назначения физического GPU виртуальной машине через PCIe/IOMMU, при котором гостевая ОС обращается к устройству напрямую с минимальными накладными расходами.
Операционная система, установленная в виртуальной машине и работающая под управлением гипервизора; не следует путать с хостовой ОС гипервизора типа 2.
Платформа виртуализации Microsoft с гипервизором типа 1, доступная как роль Windows Server и компонент Windows 10/11 Pro, Enterprise и Education.
Встроенный механизм Hyper-V для асинхронного поддержания копии виртуальной машины на другом хосте или кластере с целью аварийного восстановления.
Intel VT-d — технология аппаратной виртуализации ввода-вывода Intel, ограничивающая DMA устройств и позволяющая безопаснее назначать их виртуальным машинам.
Intel VT-x — расширение процессоров Intel для аппаратной виртуализации x86, вводящее режимы VMX для выполнения гостевых ОС под контролем гипервизора без полной программной эмуляции.
IOMMU — аппаратный блок, который преобразует адреса DMA-запросов устройств в адреса физической памяти и ограничивает их доступ; нужен для изоляции и прямого назначения PCIe-устройств ВМ.
IOPS — число завершённых операций ввода-вывода в секунду, которое накопитель, RAID-массив или СХД обеспечивает при заданном профиле нагрузки.
Подсистема аппаратной виртуализации ядра Linux, предоставляющая пользовательским мониторам ВМ, обычно QEMU, интерфейс для запуска изолированных виртуальных машин.
libvirt — открытый набор библиотек, API, служб и утилит для унифицированного управления ВМ, контейнерами, сетями и хранилищами на платформах виртуализации.
Перенос работающей виртуальной машины между хостами без выключения гостевой ОС; переключение обычно вызывает краткую паузу, а сохранение соединений зависит от сети и платформы.
Практика назначения виртуальным машинам суммарно большего объема CPU, памяти или хранилища, чем физически доступно хосту, в расчете на неполное одновременное потребление.
Открытая платформа серверной виртуализации на базе Debian, использующая QEMU/KVM для виртуальных машин и LXC для системных Linux-контейнеров.
QEMU — открытый эмулятор вычислительных систем и монитор виртуальных машин; в Linux он может использовать KVM для виртуализации с аппаратным ускорением.
Storage Migration — механизм Hyper-V для переноса файлов работающей виртуальной машины между хранилищами без смены хоста, на котором она выполняется.
Uplink — соединение или интерфейс, ведущий от устройства либо локального сегмента к вышестоящей сети; в виртуализации — подключение виртуального коммутатора к физической сети.
vCPU — виртуальный логический процессор, предоставляемый виртуальной машине; гипервизор планирует его выполнение на процессорных ресурсах хоста.
Oracle VirtualBox — кроссплатформенный гипервизор типа 2 для локального запуска ВМ на Windows, macOS, Linux и Oracle Solaris; базовый пакет открыт и доступен бесплатно.
Технология VMware vSphere для переноса включённой виртуальной машины между хостами ESXi без выключения гостевой ОС; при переключении возможна краткая пауза.
VMware — бренд Broadcom и семейство продуктов виртуализации; серверная платформа vSphere объединяет гипервизор ESXi и средства управления vCenter Server.
VMware ESXi — гипервизор типа 1, устанавливаемый непосредственно на совместимый физический сервер для запуска и управления виртуальными машинами.
VMware Workstation Pro — гипервизор типа 2 для создания и запуска виртуальных машин на компьютерах с Windows и Linux, преимущественно для разработки, тестирования и лабораторий.
Платформа виртуализации VMware, включающая гипервизор ESXi и средства управления vCenter для корпоративной инфраструктуры
Xen — гипервизор первого типа, работающий непосредственно на сервере и поддерживающий режимы виртуализации HVM, PV и PVH.

Вопросы по теме

Все вопросы и ответы

VPS/VDS — это всегда полноценная виртуальная машина?

Нет. VPS/VDS может быть полноценной VM с собственной гостевой ОС, но провайдер также может предоставить контейнерную среду, использующую ядро хоста. Само название услуги не определяет технологию изоляции, наличие физически выделенных ресурсов или границы ответственности. Эти условия зависят от реализации и договора с провайдером.

Подходит ли VirtualBox или VMware Workstation для продакшена?

Обычно нет. Настольные гипервизоры Type 2, включая VirtualBox и VMware Workstation, используют службы основной ОС и в первую очередь подходят для обучения, разработки и тестовых лабораторий. Для серверной эксплуатации оценивают серверные платформы по поддержке оборудования и гостевых ОС, средствам управления, сетям, хранилищу, доступности и лицензированию.

Нужна ли IOMMU для запуска виртуальных машин?

Нет, для обычного запуска современных VM IOMMU не обязательна. Как правило, нужна аппаратная виртуализация CPU, доступная гипервизору. IOMMU, например Intel VT-d или AMD IOMMU, требуется для отдельных сценариев управления DMA и передачи PCIe-устройств гостевой системе, включая многие варианты GPU passthrough.

Можно ли использовать snapshot вместо резервной копии VM?

Нет. Снимок обычно зависит от исходных виртуальных дисков и того же хранилища, поэтому не является самостоятельной защитой от его отказа или повреждения данных. Snapshot применяют преимущественно для краткосрочного отката. Для восстановления нужны отдельные резервные копии, проверка их восстановления и хранение с учётом рисков.

Гарантирует ли HA непрерывную работу приложения?

Нет. HA обычно пытается автоматически перезапустить VM на другом подходящем узле после отказа хоста, поэтому гостевая ОС и приложение запускаются заново. Такой механизм может сократить время восстановления, но не гарантирует отсутствие простоя, защиту от всех отказов инфраструктуры или сохранность последних изменений.

Почему добавление vCPU не всегда ускоряет виртуальную машину?

Потому что vCPU используют процессорное время общего хоста. Если несколько VM одновременно активно нагружают CPU, возникает конкуренция и растёт ожидание выполнения. Производительность зависит не только от числа назначенных vCPU, но и от загрузки хоста, профиля нагрузки, ограничений платформы и доступных физических ядер или потоков.