Гипервизор
Гипервизор — это программное обеспечение, аппаратное обеспечение или их комбинация, которое создаёт и управляет виртуальными машинами, предоставляя им изолированную среду для выполнения операционных систем. Гипервизор выступает в роли посредника между физическими ресурсами компьютера (процессор, память, устройства ввода-вывода) и виртуальными машинами, распределяя эти ресурсы между ними и обеспечивая их независимую работу. Технология гипервизоров является основой виртуализации серверов, рабочих станций и облачных вычислений.
История
Концепция виртуализации, предшествовавшая появлению гипервизоров, возникла в 1960-х годах в IBM. В 1967 году компания IBM представила систему CP-40 (Control Program-40), которая позволяла запускать несколько копий операционной системы на одном мейнфрейме IBM System/360 Model 40. В 1972 году была выпущена система VM/370 (Virtual Machine/370), которая стала первой коммерчески успешной реализацией гипервизора. Она позволяла создавать изолированные виртуальные машины, каждая из которых могла работать под управлением собственной операционной системы, включая операционные системы, не предназначенные для виртуализации.
В 1990-х годах интерес к виртуализации возродился с развитием x86-архитектуры. В 1998 году была основана компания VMware, которая в 1999 году выпустила VMware Workstation — первый гипервизор для платформы x86, работающий в пользовательском пространстве операционной системы хоста. В 2001 году VMware представила ESX Server — гипервизор, работающий непосредственно на аппаратном обеспечении без использования хост-операционной системы.
В 2005 году компания Intel представила технологию Intel VT-x (Virtualization Technology), а в 2006 году AMD — AMD-V (AMD Virtualization). Эти аппаратные расширения процессоров значительно упростили реализацию гипервизоров на x86-архитектуре, устранив необходимость в сложных методах бинарной трансляции для выполнения некоторых привилегированных инструкций.
В 2007 году компания Sun Microsystems (ныне Oracle) выпустила гипервизор Logical Domains (LDoms) для процессоров SPARC. В 2008 году Microsoft выпустила Hyper-V — гипервизор, встроенный в серверные версии Windows Server. В 2008 году компания Red Hat приобрела технологию KVM (Kernel-based Virtual Machine), которая стала частью ядра Linux. В 2010-х годах с развитием облачных вычислений гипервизоры стали основой таких платформ, как Amazon Web Services (AWS), Microsoft Azure и Google Cloud Platform.
Типы гипервизоров
Гипервизоры классифицируются по способу взаимодействия с аппаратным обеспечением и операционной системой хоста.
Гипервизоры типа 1 (нативные, bare-metal)
Гипервизоры типа 1 работают непосредственно на аппаратном обеспечении сервера или компьютера, без использования хост-операционной системы. Они выполняют функции операционной системы, управляя ресурсами и предоставляя их виртуальным машинам. Такие гипервизоры обеспечивают наивысшую производительность и безопасность, так как имеют прямой доступ к аппаратному обеспечению и не зависят от уязвимостей хост-ОС.
Примеры гипервизоров типа 1:
- VMware ESXi (разработчик — VMware, Inc.; с 2023 года входит в состав Broadcom Inc.) — коммерческий гипервизор, широко используемый в корпоративных центрах обработки данных.
- Microsoft Hyper-V — гипервизор, встроенный в серверные версии Windows Server и доступный как отдельный продукт.
- KVM (Kernel-based Virtual Machine) — гипервизор, встроенный в ядро Linux. В России KVM используется в операционных системах на базе Linux, таких как Astra Linux, РЕД ОС, ALT Linux.
- Xen — гипервизор с открытым исходным кодом, используемый в облачных платформах, включая Amazon Web Services (AWS) в ранних версиях.
- Oracle VM Server for SPARC (ранее Logical Domains) — гипервизор для процессоров SPARC.
Гипервизоры типа 2 (гостевые, hosted)
Гипервизоры типа 2 работают поверх операционной системы хоста, как обычное приложение. Они используют ресурсы, предоставляемые хост-ОС, и не имеют прямого доступа к аппаратному обеспечению. Такие гипервизоры обычно проще в установке и настройке, но имеют меньшую производительность и безопасность по сравнению с гипервизорами типа 1.
Примеры гипервизоров типа 2:
- VMware Workstation — коммерческий гипервизор для настольных компьютеров под управлением Windows и Linux.
- Oracle VirtualBox — гипервизор с открытым исходным кодом, поддерживающий Windows, Linux, macOS и Solaris.
- Parallels Desktop — коммерческий гипервизор для macOS, позволяющий запускать Windows и другие операционные системы.
- QEMU (Quick Emulator) — эмулятор и гипервизор с открытым исходным кодом, который может работать как в режиме типа 2, так и в режиме типа 1 (с использованием KVM).
Устройство и принцип работы
Гипервизор управляет доступом виртуальных машин к физическим ресурсам сервера. Основные компоненты гипервизора включают:
- Диспетчер ресурсов — распределяет процессорное время, память и устройства ввода-вывода между виртуальными машинами.
- Виртуальные процессоры (vCPU) — каждый vCPU представляет собой виртуальный процессор, которому гипервизор выделяет время на физическом процессоре.
- Виртуальная память — гипервизор управляет отображением виртуальной памяти гостевых операционных систем на физическую память сервера.
- Виртуальные устройства — гипервизор эмулирует устройства ввода-вывода (сетевые карты, диски, контроллеры), которые виртуальные машины воспринимают как реальные.
- Гостевые операционные системы — операционные системы, работающие внутри виртуальных машин.
Гипервизор использует аппаратные расширения виртуализации (Intel VT-x, AMD-V) для выполнения привилегированных инструкций гостевых операционных систем непосредственно на процессоре, без необходимости их эмуляции. Это значительно повышает производительность.
Применение
Гипервизоры используются в различных областях информационных технологий:
Серверная виртуализация
Гипервизоры позволяют запускать несколько виртуальных серверов на одном физическом сервере, что повышает эффективность использования оборудования, снижает энергопотребление и упрощает управление инфраструктурой. В России серверная виртуализация активно применяется в государственных учреждениях и коммерческих компаниях.
Облачные вычисления
Гипервизоры являются основой инфраструктуры публичных облачных платформ (IaaS — Infrastructure as a Service). Провайдеры, такие как Яндекс.Облако, VK Cloud, Selectel, используют гипервизоры для предоставления виртуальных машин пользователям.
Разработка и тестирование
Гипервизоры позволяют разработчикам и тестировщикам запускать несколько операционных систем на одном компьютере, изолируя среды разработки и тестирования друг от друга.
Изоляция приложений
Гипервизоры могут использоваться для изоляции критически важных приложений от остальной системы, повышая безопасность.
Обучение и исследования
Гипервизоры используются для изучения операционных систем, сетевых технологий и безопасности в учебных заведениях.
Критика и ограничения
Несмотря на широкое распространение, гипервизоры имеют ряд ограничений:
- Накладные расходы — гипервизор потребляет часть ресурсов сервера (процессорное время, память), что снижает производительность виртуальных машин по сравнению с работой на физическом оборудовании.
- Сложность управления — настройка и администрирование гипервизоров требуют специальных знаний и навыков.
- Уязвимости безопасности — уязвимости в гипервизоре могут позволить злоумышленнику получить доступ к другим виртуальным машинам или к хост-системе.
- Зависимость от аппаратного обеспечения — некоторые функции гипервизора (например, live migration) требуют совместимости аппаратного обеспечения серверов.
Альтернативы
В последние годы набирают популярность альтернативные технологии виртуализации, такие как контейнеризация. Контейнеры (например, Docker) не используют гипервизор и работают непосредственно на ядре хост-операционной системы, что обеспечивает более высокую производительность и меньшие накладные расходы. Однако контейнеры обеспечивают меньшую изоляцию по сравнению с гипервизорами, так как разделяют одно ядро ОС.
Источники
- Smith, J. E., & Nair, R. (2005). Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann.
- VMware, Inc. (2009). Understanding Full Virtualization, Paravirtualization, and Hardware Assist.
- IBM Corporation. (1972). IBM Virtual Machine/370 Planning Guide.
- Red Hat, Inc. (2010). KVM: Kernel-based Virtual Machine.
- Intel Corporation. (2005). Intel Virtualization Technology Specification.
- AMD, Inc. (2006). AMD64 Virtualization Technology Specification.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →