Гипервизор – что это? Как работает виртуализация

Что такое гипервизор, что такое виртуализация и для чего нужны эти технологии? В этой статье мы объясняем принципы работы виртуализации и рассказываем, как она используется в IT-инфраструктурах на примере реального опыта SIM-Networks.

Что такое гипервизор и для чего он нужен?

Гипервизор – это программа, которая управляет физическими ресурсами сервера или компьютера и распределяет эти ресурсы между несколькими операционными системами, позволяя запускать их одновременно. Если гипервизор – это программное средство, то виртуализация – это процесс, который выполняют с его помощью.

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

Например, у сервера SINGLE из линейки выделенных серверов SIM-Networks есть 4 процессорных ядер, 16 Гб оперативной памяти и два диска по 500 Гб хранилища. Его можно представить как два виртуальных сервера с 2 ядрами, 8 Гб оперативной памяти и одним диском 500 Гб.

Представим сервер для небольшого проекта e-commerce: компании нужно разместить сайт, ERP-систему и несколько отдаленных рабочих столов для сотрудников. Если мощностей сервера достаточно, ресурсы можно распределить между этими инструментами при помощи гипервизора. Таким образом, у сайта, ERP и рабочих столов будут свои выделенные части ресурсов на гостевых операционных системах. Каждый процесс как будто размещен на отдельном сервере, хотя компания использует только одну физическую машину.

Схема работы виртуальной машины (VM) Схема работы виртуальной машины

Как работает гипервизор?

Гипервизор создает из одного физического компьютера несколько копий, клонов его аппаратных ресурсов, и каждый клон виден со стороны пользователя как отдельное устройство. На каждую виртуальную машину можно установить гостевую операционную систему пользователя, не привязанную к «железу» хоста.

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

Гипервизоры принято делить на два типа. Но есть еще и так называемый гибридный гипервизор, сочетающий в себе свойства обоих типов.

Одно из важнейших требований к гипервизору – безопасность

В чем особенности работы гипервизоров 1 типа?

Гипервизор 1 типа Принцип работы гипервизора 1 типа

Гипервизор первого типа называют еще тонким гипервизором или автономным гипервизором, который запускают на «голом железе». Гипервизор первого типа проще всего воспринимать как специфическую компактную операционную систему, которая устанавливается прямо на «железо» (bare-metal server) и имеет основные признаки ОС:

  • вместо неупорядоченного набора аппаратного обеспечения предоставляет абстрактный набор ресурсов для программ (т.н. «взгляд сверху»);
  • управляет набором ресурсов – распределяет процессорное время, память, устройства ввода-вывода между программами, которые претендуют на использование ресурсов компьютера (т.н. «взгляд снизу»).

У ПО гипервизора первого типа есть очень важная особенность – размер его кода на два порядка (т.е. в сотни раз) меньше, чем у большинства современных операционных систем. Это обеспечивает настолько же меньшее количество возможных ошибок, приводящих к зависанию всей системы. Сбой в работе ОС на одной из виртуальных машин пользователя не должен повлиять на работу всех соседних машин на том же физическом оборудовании.

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

Иными словами, гипервизор создает «иллюзию» для гостевой операционной системы, что ее код выполняется хостом на уровне железа, в привилегированном режиме, хотя де-факто она функционирует в режиме пользователя. Если произойдет крах одной из гостевых систем, работа остальных будет продолжаться.

К первому типу гипервизоров можно отнести Xen, VMware ESXi, Hyper-V, KVM и ряд других.

Типы гипервизоров

Xen (Xenserver, Citrix Hypervisor)

Тонкий гипервизор Xen был разработан в рамках исследовательского проекта лаборатории Кембриджского университета. С 2007 года XenSource поглощена Citrix, в результате чего часть продуктов получила новые названия. Xen представляет собой кроссплатформенный гипервизор, поддерживающий аппаратную виртуализацию и паравиртуализацию. Содержит минимальный объем кода, поскольку большая часть компонентов вынесена за пределы гипервизора. Xen – гипервизор с полностью открытым кодом, лицензии GNU GPL 2, что дает неограниченные возможности модифицировать продукт. За счет поддержки паравиртуализации и аппаратной виртуализации Xen относят также к гибридному типу гипервизоров.

VMWARE ESXI

Автономный гипервизор VMware ESXi – решение для виртуализации класса Enterprise, разработанное компанией VMware. Ранее ограниченная версия ESXi была доступна бесплатно, однако после того, как корпорация Broadcom купила VMware, новые владельцы прекратили поддержку этой версии. Теперь гипервизором можно воспользоваться бесплатно только в течение тестового периода. Платная версия предлагает расширенные возможности – например, централизованное управление виртуальными машинами на всех хостах проекта с помощью платформы vCenter. Но даже бесплатная версия выполняла базовые функции и была одним из самых популярных решений для виртуализации.

HYPER-V

Системное решение Microsoft для аппаратной виртуализации, предназначенное для x64-систем. Существует в двух вариантах – как роль в серверных ОС семейства Windows и в виде отдельного продукта Microsoft Hyper-V Server. Во время установки Hyper-V через ОС Windows, которая уже работает на «голом железе», у пользователя может возникнуть впечатление, что гипервизор устанавливается непосредственно на ОС, как гипервизор 2 типа – это не так. На самом деле Hyper-V устанавливается на уровень ниже, а запущенная ОС Windows переходит в роль гостевой и выполняется на одной из виртуальных машин. Среди клиентов SIM-Networks, которые привыкли работать с продуктами Microsoft, этот гипервизор часто считается самым удобным решением для виртуализации выделенных серверов – в первую очередь Hyper-V создавали именно для работы с гостевыми ОС Windows.

KVM

Kernel-based Virtual Machine, KVM, – гипервизор, созданный в октябре 2006 года и почти сразу был интегрированный с основной веткой ядра Linux версии 2.6.20. Позже KVM был адаптирован как модуль ядра в FreeBSD. KVM – полностью открытое ПО по лицензии GNU GPL и GNU LGPL, поэтому инженеры SIM-Networks выбрали этот гипервизор в качестве основы для облака SIM-Cloud. Использование открытого ПО позволяет модифицировать продукт под свои потребности и оставаться независимым от поставщика. Этот гипервизор также пользуется популярностью среди клиентов, которые заказывают построение уникальной IT-инфраструктуры.

Гипервизор второго типа работает как один из процессов, выполняемых основной ОС

Как работают гипервизоры 2 типа?

Гипервизор второго типа называется также хостовым (hosted). Он представляет собой дополнительный программный слой, расположенный поверх основной операционной системы.

Фактически гипервизор второго типа работает как один из процессов, выполняемых основной ОС, чаще всего – Linux. В этом случае полномочия гипервизора значительно скромнее: он управляет гостевыми операционными системами, а эмуляцию и управление физическими ресурсами берет на себя хостовая ОС.

Гипервизор 2 типа Принцип работы гипервизоров 2 типа

Наиболее популярные гипервизоры второго типа – Oracle VM VirtualBox, VMware Workstation.

ORACLE VM VIRTUALBOX

Oracle VM VirtualBox – модульный кроссплатформенный гипервизор для операционных систем Linux, macOS, Microsoft Windows, FreeBSD, Solaris/OpenSolaris, ReactOS, DOS и других от корпорации Oracle. Был создан в 2007 г. в корпорации Sun Microsystems, затем, после поглощения ее Oracle, работа над гипервизором продолжилась. Исходный код базовой версии открыт по лицензии GNU GPL, поэтому гипервизор пользуется популярностью и доступен для неограниченного модифицирования. Опыт экспертов SIM-Networks показывает, что этот гипервизор редко используют в бизнес-целях – функционал VirtualBox лучше подходит для тестирования ПО или для обучения работе с виртуализацией.

VMWARE WORKSTATION

Первая версия гипервизора VMware Workstation, разработанного компанией VMware, входящей в EMC Corporation, увидела свет в 1999 году. Это проприетарное ПО, работающее с x86-64 операционными системами хоста Microsoft Windows, Linux, Ubuntu, CentOS. Поддерживает более 200 гостевых ОС. Ранее для теста можно было воспользоваться бесплатной версией Workstation Player, однако в начале 2024 года версию Pro сделали бесплатной для личного пользования – чтобы использовать гипервизор в коммерческих целях все еще нужна лицензия.

Гибридный гипервизор управляет процессором и памятью, а устройствами ввода-вывода – через гостевые ОС

Что такое гибридные гипервизоры?

Гибридные гипервизоры обладают частью признаков как первого, так и второго типов (сочетание «тонкого» гипервизора и специальной, работающей «на железе» служебной ОС под его управлением). Гипервизор управляет напрямую процессором и памятью, а через служебную ОС гостевые получают доступ к устройствам ввода-вывода.

Технологии постоянно развиваются, и производители гипервизоров ищут пути совершенствования своих продуктов, создают новые версии, более гибкие, более интегрированные к разным системам и условиям. В последние годы гипервизоры Xen и Hyper-V все чаще относят уже не к первому типу, а к гибридному, и отчасти это верно. Современные версии этих гипервизоров в значительной степени сочетают в себе свойства обоих типов.

Паравиртуализация модифицирует гостевые ОС для исполнения в виртуализированной среде

Что такое паравиртуализация?

Паравиртуализация – это установка специально подготовленной гостевой ОС, ядро которой изменяется для эффективной работы с гипервизором 2 типа. Конечно же, речь не может идти о модификации проприетарных систем с закрытым кодом, таких, как Windows. Зато для доработки большинства версий Linux разрешение владельца не требуется.

При паравиртуализации гостевые ОС модифицируются для исполнения в виртуализированной среде, то есть необходимое условие паравиртуализации – открытый исходный код всех компонентов операционных систем. Однако существенное повышение производительности, соизмеримое с производительностью реальной, невиртуализированной, системы делает технологию паравиртуализации востребованной среди пользователей.

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

Что такое контейнерные решения?

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

Среди контейнеров широко распространен гипервизор OpenVZ, на котором основана платформа Virtuozzo. Преимуществом решения OpenVZ – хорошая производительность, максимальное использование ресурсов физического сервера за счет высокой плотности размещения ВМ.

Среди интересных контейнерных решений – Jailhouse от Siemens. Этот гипервизор работает на «железе», но запускается на работающей системе Linux и обеспечивает ее разделение на изолированные «ячейки» – разделы системы для выполнения приложений пользователя.

Облачный сервер

Облачный сервер

Узнайте больше про высокодоступное публичное облако SIM-Cloud

Узнать больше

Какой гипервизор лучше выбрать?

Оптимальную технологию виртуализации для каждого пользовательского случая помогут выбрать профильные специалисты. Они учтут пожелания к проекту, имеющееся физическое аппаратное обеспечение, цену ПО, наличие и доступность техподдержки и ряд других важных факторов. Например, планируя использование VMware ESXi и некоторых других гипервизоров будьте готовы к тому, что придется платить за лицензии и приобрести качественное физическое оборудование для установки системы виртуализации.

При подготовке к работе с гипервизорами:

  • уделите время тщательному изучению информации на сайте производителя ПО виртуализации;
  • предварительно проверьте соответствие параметров физического оборудования минимальным техническим требованиям гипервизора;
  • проанализируйте другие свойства выбранного ПО (для того, чтобы реальность совпала с ожиданиями).

Если у вас возникли вопросы при выборе оптимальной технологии виртуализации, обращайтесь к SIM-Networks – мы с радостью вас проконсультируем.

Эта статья была полезной?

Тэги:

#сервер

Понравилась статья?

Согласие на использование файлов cookie

Нажимая «Я согласен», вы даете согласие на использование файлов cookie на нашем веб-сайте, чтобы предоставить вам наиболее релевантный опыт, запоминая ваши предпочтения и повторные посещения. Однако вы можете посетить «Управление файлами cookie», чтобы предоставить контролируемое согласие. Подробнее

Настройки файлов cookie

Функциональные

Необходимые файлы cookie имеют решающее значение для основных функций веб-сайта, и без них веб-сайт не будет работать должным образом.

Аналитические

Аналитические файлы cookie используются для понимания того, как посетители взаимодействуют с веб-сайтом.

Рекламные

Рекламные файлы cookie используются для предоставления посетителям релевантной рекламы и маркетинговых кампаний.