Что такое гипервизор и для чего он нужен
Гипервизоры. Что же это и как работает виртуальный сервер?
История о том, как программное обеспечение отделившись от оборудования подарило нам виртуализацию и облачную вычислительную среду.
Технологию гипервизоров часто упускают из вида, отдавая предпочтении более популярной и модной концепции виртуализации. Но поверьте, вы не сможете получить истинного удовольствия от применения виртуализации, пока не поймете, что такое гипервизор и как он работает в вычислительной системе.
О преимуществах виртуального сервера и облачных вычислений уже сказано много слов и написано огромное количество статей, настолько много, что кажется будто эта технология уже устарела в быстро развивающемся мире ИТ инфраструктуры. Однако, все же стоит выбросить такие мысли из головы, ведь технология гипервизоров как раз может помочь в стимулировании инноваций в мире облачных вычислений.
Что такое гипервизор?
Гипервизор — это процесс, который отделяет операционную систему компьютера и приложения от базового физического оборудования. Обычно представляет собой программное обеспечение, хотя создаются и встроенные гипервизоры, например, для мобильных устройств.
Гипервизор является движущей силой концепции работы VPS и виртуализации, позволяя физическому хост-компьютеру управлять несколькими виртуальными машинами в качестве гостевых ОС, что в свою очередь помогает максимально эффективно использовать вычислительные ресурсы, такие как память, пропускная способность сети и количество циклов процессора.
История гипервизоров
В конце 1960-х и вплоть 1970-х годов, большинство систем виртуализации и гипервизоров были замечены на мейнфреймах, разработанных компанией IBM. Использовались они для разработки процессов использования компьютера в режиме разделения времени, для тестирования новых операционных систем и идей для их усовершенствования или даже для изучения новых аппаратных концепций. Виртуализация позволила программистам развертывать системы и устранять неисправности, не подвергая угрозам стабильность основной производственной системы, ну и к тому же она позволила уйти от развертывания дополнительных дорогостоящих систем.
В середине 2000-х годов гипервизоры выходят на новый уровень, когда Unix, Linux и другие похожие на Unix операционные системы начали использовать технологии виртуализации. В чем же причины роста интереса к гипервизорам и виртуализации? Ну, во-первых, причина заключалась в улучшении аппаратных возможностей и мощностей, которые теперь позволили бы одной машине выполнять более синхронизированную работу; во-вторых, усиление контроля издержек, что привело к консолидации серверов; в-третьих, значимую роль сыграла безопасность и надежность благодаря усовершенствованию архитектуры гипервизоров; и конечно последняя, но не менее важная причина — возможность запуска зависимых от ОС приложений в различных аппаратных или операционных средах. Кроме того, в 2005 году разработчики процессоров начали добавлять аппаратную виртуализацию в свои продукты на базе x86, расширяя доступность (и преимущества) виртуализации для ПК и серверной аудитории.
Преимущества гипервизоров
Несмотря на то, что виртуальные машины могут работать на одном и том же физическом оборудовании, они по-прежнему логически отделены друг от друга. Это означает следующее — если на одной виртуальной машине произошла ошибка, системный сбой или вредоносная атака, то это не распространяется на другие виртуальные машины независимо от того, установлены они на этом же компьютере или на других физических машинах.
Виртуальные машины также очень мобильны — поскольку они не зависят от основного оборудования, их можно перемещать или переносить между локальными или удаленными виртуальными серверами. И сделать это намного проще, в сравнении с традиционными приложениями, привязанными к физическому оборудованию.
Существует два типа гипервизоров с очень «креативными» названиями «ТИП 1» или «ТИП 2». Гипервизоры типа 1, иногда называемые «автономными гипервизорами», запускаются непосредственно на аппаратном обеспечении хоста для управления оборудованием и управления гостевыми виртуальными машинами. К современным гипервизорам первого типа относятся: Xen, Oracle VM Server для SPARC, Oracle VM Server для x86, Microsoft Hyper-V и VMware ESX / ESXi. Под управлением Hyper-V, кстати, работают все серверы VDS Windows на хостинге VSP.house.
Гипервизоры типа 2, иногда называемые «хостовыми гипервизорами», запускаются на обычной ОС, как и другие приложения в системе. В этом случае гостевая ОС выполняется как процесс на хосте, а гипервизоры разделяют гостевую ОС и ОС хоста. Примеры гипервизоров второго типа: VMware Workstation, VMware Player, VirtualBox и Parallels Desktop для Mac.
На данный момент можно выделить трех основных крупнейших разработчиков гипервизоров: VMware, Microsoft и Citrix Systems.
Контейнеры против гипервизоров
В последние годы контейнерные технологии стали популярными в качестве возможной замены гипервизоров. Причина в том, что они могут размещать больше приложений на одном физическом сервере, чем виртуальная машина.
Один из публицистов в статье 2016 для Network World высказал интересное мнение. Он заявил, что виртуальные машины используют много системных ресурсов, ведь каждая виртуальная машина запускает не только полную копию операционной системы, но и виртуальную копию всего оборудования, на котором должна запускаться операционная система. Соответственно, быстро возникает необходимость в использовании большого количества запоминающих устройств и машинных циклов. А все, что требуется контейнеру, — это операционная система, поддерживающая программы и каталоги, а также системные ресурсы для запуска конкретной программы.
Однако, не стоит думать, что контейнеры обязательно заменят гипервизоры и виртуальные машины, ведь существуют проблемы безопасности и практического использования виртуальных машин. Скорее всего компании будут использовать оба метода в совокупности. И кстати о безопасности, некоторые считают, что контейнеры менее безопасны, чем гипервизоры. Причина в том, что в контейнерах имеется только одна ОС, которую используют приложения, в то время как виртуальные машины изолируют не только приложения, но и ОС. Если одно из приложений попадает под угрозу, оно может атаковать и ОС в контейнере, что влияет в свою очередь и на другие приложения. В тоже самое время если на виртуальной машине приложение становится уязвимым, то оно сможет оказать вредоносное действие исключительно на одну ОС на сервере, а другие приложения или ОС на виртуальной машине остаются в безопасности.
Проблемы безопасности гипервизоров
Хотя благодаря многим мерам предосторожности гипервизоры считаются более безопасными, чем контейнеры, это не означает того факта, что у гипервизоров нет вообще проблем, связанных с безопасностью. Например, в теории хакеры могут создавать вредоносные программы и руткиты, которые устанавливаются под ОС как гипервизор. Этот процесс, известный как «гиперджекинг», сложно обнаружить, так как вредоносное ПО может перехватывать действия операционной системы (например, ввод пароля) без необходимости защиты от вредоносного ПО, поскольку данное вредоносное ПО уже работает под ОС.
Профессионалы в мире виртуализации могут бесконечно вести дискуссии и споры о том, можно ли обнаружить присутствие руткита на базе гипервизора. Уже даже созданы несколько подходов на эту тему, одними внедрена концепция вредоносного ПО (SubVirt и Blue Pill), другие продемонстрировали антируткит Hooksafe, который обеспечивает эффективную защиту ОС от руткитов режима ядра без заметных потерь в производительности.
Расширение возможностей гипервизора
Концепция гипервизоров не ограничивается только работой сервера. Например, гипервизоры хранилища используют ту же концепцию, применяя ее к хранилищу данных. Гипервизор хранения может работать на физическом оборудовании, как виртуальная машина, внутри операционной системы гипервизора или в более крупной сети хранения. Гипервизоры хранилища также, как и обычные гипервизоры, могут работать на определенном оборудовании или быть независимыми от оборудования.
Помимо хранения, гипервизоры являются ключом для других процессов виртуализации, включая виртуализацию рабочего стола, виртуализацию ОС и виртуализацию приложений.
Также встречается еще и встроенные гипервизоры. Что же это такое? Встроенные гипервизоры поддерживают требования встроенных систем. Они немного отличаются от гипервизоров, ориентированных на серверные и настольные приложения. Встроенный гипервизор с самого начала внедряется во встроенное устройство, а не загружается при последующем развертывании устройства. Во встроенной системе различные компоненты обычно функционируют совместно для обеспечения функциональности устройства.
Гипервизор: что это такое, роль в виртуализации, типы и сравнение
Гипервизор — технология развертывания программного обеспечения на физическом оборудовании с использованием виртуализации.
Инструмент ускоряет и упрощает разработку, тестирование и поддержку программного обеспечения, а также экономит ресурсы на развертывании дорогостоящих серверных систем.
Selectel предлагает современные технологии виртуализации серверов (VPS/VDS), а также рабочих мест (VDI). Мы используем аппаратные ресурсы на базе процессоров Intel® Xeon®, а также SSD-накопителей, обеспечивая минимальное время отклика, высокую производительность и надежность. Для серверной виртуализации применяются решения VMware и KVM.
Основные задачи гипервизора:
История гипервизоров
Технологии виртуализации начали активно использоваться разработчиками с конца 60-х годов прошлого века. Мейнфреймы IBM первыми стали поддерживать виртуализацию и предоставлять разработчикам гипервизоры в составе встроенного ПО. Первоначально команды разработки применяли их для эмуляции системных процессов компьютера, тестирования различных операционных систем и улучшений для них.
Повышение интереса IT-сообщества к гипервизорам приходится на середину нулевых. В этот период технологии виртуализации начинают активно использоваться в UNIX-подобных системах. В первую очередь, это было обусловлено ростом производительности серверного оборудования. Также значительную роль сыграла оптимизация архитектуры самих гипервизоров, сделавшая их более надежными и безопасными.
Помимо этого, виртуализация позволяла разворачивать и запускать требующие наличия ОС приложения в различных программных или функциональных средах. А в 2005 году технологии виртуализации начинают поддерживаться на аппаратном уровне в процессорах архитектуры x86, что позволяет использовать их как в серверных, так и в домашних системах.
Проблемы безопасности гипервизоров
В IT-сообществе ведутся дискуссии на тему безопасности виртуализации. Основная проблема — это возможность создания злоумышленниками вредоносного ПО, устанавливаемого на ОС под видом гипервизоров. Этот процесс получил название «гиперджекинг». Его сложно отследить, поскольку вредоносные алгоритмы работают под управлением ОС и перехватывают ее действия (например, авторизацию, запросы к сервисам и пр.).
В настоящее время разрабатываются различные подходы по обнаружению руткитов на базе гипервизоров:
Контейнеры или гипервизоры
В последнее время все большую популярность приобретает технология контейнеров. Это обусловлено тем, что контейнеры, по сравнению с гипервизорами, могут развернуть большее число приложений на одном физическом хосте.
Гипервизор виртуализирует необходимые для работы ОС аппаратные ресурсы. При использовании гипервизоров возрастает потребность в наращивании аппаратных мощностей (дисковых устройств, CPU, памяти и пр.).
При этом производительность и ресурсоемкость использования той или иной технологии стоит рассматривать и в контексте безопасности. Существует мнение, что контейнеры более уязвимы, чем гипервизоры. Это обусловлено логикой рассматриваемых технологий. Гипервизор создает на физическом сервере несколько изолированных друг от друга виртуальных машин со своими ОС и приложениями. Контейнер же работает под основной ОС хоста.
Таким образом, при атаке на хост, использующий виртуализацию, есть риск потерять одну или несколько виртуальных машин и используемые на них приложения. Если на хосте развернут контейнер, то все его содержимое может быть повреждено или утеряно, поскольку вредоносное ПО получит доступ к основной ОС хоста.
Среди контейнеров наиболее популярен OpenVZ, лежащий в основе платформы Virtuozzo. Решение обладает хорошей производительностью, а также использует ресурсы физического сервера по максимуму за счет высокой плотности размещения виртуальных машин.
Также стоит обратить внимание и на Jailhouse. Решение компании Siemens работает на «железе», при этом запускается из-под работающей ОС Linux. При работе контейнер создает в ОС изолированные разделы для выполнения пользовательских приложений.
Типы гипервизоров
Существует два основных вида гипервизоров. Гипервизоры первого типа (сюда входят решения Hyper-V, KVM, ESXi) работают на аппаратном уровне без необходимости установки какой-либо ОС на хост. Поэтому их еще называют аппаратными. Гипервизорам второго типа (VMware Workstation, Oracle Virtual Box, OpenVZ) необходима ОС для доступа монитора виртуальных машин к аппаратным ресурсам хоста.
Отметим, что для корпоративного сегмента лучше подходят решения первого типа, так как работая на аппаратном уровне без программных посредников, они обеспечивают лучшую производительность. Также выделяются и гибридные гипервизоры. Рассмотрим каждый из типов подробнее.
Сравнение гипервизоров
При выборе технологии виртуализации следует помнить решаемые гипервизорами задачи. Также необходимо учитывать момент с лицензированием, аппаратными требованиями конкретного решения и его возможностями.
Hyper-V: для серверного оборудования под управлением Windows Server есть базовая роль Hyper-V. Кроме того, на рынке есть специальное решение Hyper-V Server. Операционная система Windows Server может поставляться в двух редакциях — Datacenter и Standard. Стандартная версия на одной лицензионной копии позволяет развернуть только две виртуальные машины. В версии Datacenter их число не ограничивается.
В соответствие, с актуальной лицензионной политикой Microsoft, действующей с 2016 года, стоимость лицензии на ПО зависит от количества физических ядер. Если речь идет о виртуализации Linux-машин на серверах под Windows Server, то их количество в стандартной редакции не ограничено. Если же требуется виртуализация Windows-машин, то необходимо решить вопрос с лицензированием ОС на них.
Специально для такой аудитории и был создан Hyper-V. Он позволяет организовать виртуализацию, не платя за лицензию на ОС. Решение доступно бесплатно, при этом и нет каких-либо ограничений на процедуры. Тем не менее, функционал продукта имеет и свои особенности:
Эти особенности не критичны, за исключением момента с лицензированием. Кроме того, как и отмечалось ранее, решение может подойти IT-специалистам, планирующим разворачивать только Linux-виртуализацию.
VMware ESXi: в основе решения находится облегченное Linux-ядро VMkernel, содержащее необходимые для виртуализации технологии и приложения. Поставляется внутри продукта VMware vSphere. Лицензия покупается на каждый физический CPU сервера. Объем ОЗУ и виртуальных машин не учитываются при расчете стоимости лицензии.
VMware также предлагает и бесплатные решения для виртуализации, однако, они подходят только для любительского или полупрофессионального использования, поскольку имеют ряд существенных ограничений по функционалу. Так, например, бесплатная версия этого гипервизора 1 типа предоставляет API только для чтения данных. У виртуальной машины не может быть больше 8 vCPU, не предусмотрена работа с бэкапами с помощью продуктов Veeam и другие технологии, необходимые для корпоративного сегмента.
Основной недостаток Hyper-V по сравнению с VMware — это отсутствие USB Redirection. Она необходима для подключения USB оборудования к виртуальным машинам. Вместо нее в Hyper-V предлагается Discrete Device Assignment. Однако, Hyper-V может уменьшать дисковое пространство виртуальных машин, а не только расширять его, как VMware.
Hyper-V позволяет защищать виртуальные машины шифрованием. Однако, если требуется аппаратный проброс портов, то лучшим решением будет VMware, даже бесплатный.
При выборе гипервизора особое внимание следует уделить инструментам управления виртуальными машинами. У Hyper-V это Virtual Machine Manager (VMM), поддерживающий создание, клонирование, развертывание и другие операции с виртуальными машинами.
Инструмент управления от VMware называется vSphere. Он предполагает наличие ESXi хостов и vCenter Server для централизованного управления.
KVM — open-source гипервизор: предназначен для серверов на базе Linux/x86, поддерживает аппаратные расширения (Intel-VT и AMD-V).
Первоначально работал только с архитектурой x86, но актуальные версии KVM поддерживают различные CPU и гостевые ОС, в т.ч. Windows, Linux, BSD и пр.
Богатый функционал KVM сделал его популярным и широко распространенным. В настоящее время гипервизор активно используется во многих сетевых проектах (Wiki-ресурсы, финансовые сервисы, транспортные системы, государственный сектор и пр.).
Решение считается быстрым и за счет интеграции в ядро Linux.
Xen (XenServer, Citrix Hypervisor): первый публичный релиз тонкого гипервизора был выпущен в 2003 году. В 2007 году проект был поглощен Citrix. Продукт является кроссплатформенным гипервизором с поддержкой аппаратной виртуализации и паравиртуализации (из-за этого его часто относят к гибридным гипервизорам). Объем кода минимален, т.к. большая часть модулей вынесена за пределы гипервизора. Исходный код открыт, что дает специалистам неограниченные возможности для модификаций продукта.
Oracle VM VirtualBox: кроссплатформенный модульный гипервизор для операционных систем Linux, macOS, FreeBSD и др. Создан в корпорации Sun Microsystems в 2007 году. После поглощения разработчика Oracle проект продолжил развитие под другим брендом. Исходный код базовой версии открыт и распространяется по лицензии GNU GPL, что послужило причиной высокой популярности гипервизора. Отличительная особенность гипервизора — возможность работы с 64-битными гостевыми ОС, даже если ОС хоста 32-битная.
VMware Workstation: первая версия гипервизора вышла в 1999 году. Решение является проприетарным для x86-64 ОС хоста Windows, Linux, Ubuntu, CentOS. Поддерживает более 200 гостевых операционных систем. Для ознакомления и тестирования предоставляется бесплатная версия с ограничениями по функциональности.
Гибридные гипервизоры: для улучшения стабильности, безопасности и производительности описанные выше подходы к виртуализации (непосредственная работа «на железе» и использование основной ОС хоста) комбинируются. В результате на рынке появляются гибридные решения. В последние годы в IT-сообществе к гибридным гипервизорам причисляют Xen и Hyper-V, поскольку их актуальные версии сочетают в себе оба подхода. Таким образом, просматривается тенденция к размытию границ между видами гипервизоров.
Гипервизор и его функциональность
Создание систем виртуализации или облачных вычислительных сред может потребовать больших затрат ресурсов и расходов на использование дорогостоящих серверов.
Чтобы снизить эти издержки, стоит воспользоваться технологией гипервизора.
История гипервизора
В начале 2000-х гипервизор стал активно применяться в системах Unix, Linux и других схожих с ними операционных системах. Рост популярности этой технологии был обусловлен появлением более производительных машин и повышением безопасности и отказоустойчивости архитектуры самого гипервизора. Иными словами, появилась возможность запуска зависимых от ОС приложений в различных аппаратных или операционных средах. Кроме того, в 2005 году разработчики процессоров начали добавлять аппаратную виртуализацию в свои продукты на базе x86, расширяя доступность (и преимущества) виртуализации для ПК и серверной аудитории.
Так что же такое гипервизор
Применение гипервизора позволяет повысить уровень контроля и управления над центрами обработки данных и корпоративными средами. Сотрудникам компаний станут доступны конфигурирование виртуальных машин, миграции и снимки файловых систем, централизованные пулы хранения, сети и сетевые устройства.
Типы гипервизоров
Гипервизоры подразделяются на два типа:
При этом наиболее производительными, надежными и безопасными считаются гипервизоры 1 типа, которые связаны с оборудованием напрямую.
Сравниваем гипервизоры
Рассмотрим каждый гипервизор первого и второго типов подробнее.
При покупке гипервизора стоит обратить внимание на возможность программы решать следующие задачи:
К таким действиям относятся блокировки прерывания; изменения данных в ячейках памяти, выделенных для других запущенных процессов (кроме случаев, когда это заранее предусмотрено логикой работы, обмена данными между ними); модифицировние таблиц, отображающих страницы виртуальной памяти на физическую для всего компьютера.
Также следует проверить, соответствует ли гипервизор физическим возможностям компьютера, его программному обеспечению, есть ли у гипервизора техническая поддержка.
Проблемы безопасности
Защита гипервизора необходима, когда есть риск получения несанкционированного доступа к гипервизору, управляющему виртуальной средой (что дает злоумышленнику потенциальный доступ ко всем данным, хранящимся на каждой виртуальной машине), или когда уязвимы общие аппаратные кэши, сеть и потенциальный доступ к физическому серверу.
Кроме того, можно применить:
Эти меры защиты необходимо применять, чтобы сохранить работоспособность как гипервизора, так и привязанных к нему ВМ.
Крупнейшие игроки на рынке гипервизоров
Гипервизор Hyper-V позволяет организовать виртуализацию, не платя за лицензию на ОС. Это решение имеет бесплатный доступ и неограниченное число процедур. Однако у функционала Hyper-V есть своя специфика:
Поэтому решение Hyper-V может вызвать для некоторых компаний сложности и “влететь в копеечку”.
VMware также предлагает и бесплатные решения для виртуализации, однако они не подходят для корпоративного использования, поскольку имеют ряд существенных ограничений по функционалу. Например, бесплатный гипервизор VMware 1 типа предоставляет API только для чтения данных, а для ВМ не может быть больше 8 vCPU и не предусмотрена работа с бэкапами с помощью продуктов Veeam.
Важно также учесть инструменты управления виртуальными машинами. У Hyper-V это Virtual Machine Manager (VMM), поддерживающий создание, клонирование, развертывание и другие операции с виртуальными машинами. Инструмент управления от VMware называется vSphere. Он предполагает наличие ESXi хостов и vCenter Server для централизованного управления.
Однако Hyper-V может уменьшать дисковое пространство виртуальных машин, а не только расширять его, как VMware, и позволяет защищать виртуальные машины шифрованием.
Подводя итоги
Более подробно узнать о гипервизорах и подобрать нужный вариант, рассчитать стоимость и узнать как сэкономить, приобретая б/у оборудование помогут наши специалисты нашей компании.
Гипервизор – что это? Как работает виртуализация
Что такое гипервизор и для чего он нужен? В этой статье мы объясняем принципы работы виртуализации, рассказываем о видах этой технологии и рассматриваем примеры конкретных решений.
Системы виртуализации и гипервизор
Виртуализация – это технология создания представления нескольких компьютеров или серверов на базе одного физического компьютера, сервера или серверного кластера. Эта физическая машина называется хостом; у нее есть определенная конфигурация процессора, оперативной и дисковой памяти и т.д. Физические ресурсы с помощью специализированного ПО распределяются таким образом, чтобы развернуть несколько независимых друг от друга виртуальных машин.
Иными словами, виртуализация – иллюзия присутствия нескольких отдельных компьютеров, то есть виртуальных машин, на одном и том же физическом оборудовании. А создается эта иллюзия при помощи гипервизора.
Гипервизор – это программа, которая управляет физическими ресурсами вычислительной машины и распределяет эти ресурсы между несколькими различными операционными системами, позволяя запускать их одновременно.
Другими словами, гипервизор создает из одного физического компьютера несколько копий, клонов его аппаратных ресурсов, и каждый клон виден со стороны пользователя как отдельное устройство. На каждую виртуальную машину можно установить гостевую операционную систему пользователя, не привязанную к «железу» хоста.
Гипервизор изолирует запущенные ОС друг от друга так, чтобы каждая из них монопольно использовала выделенные ей ресурсы. Но при необходимости гипервизор позволяет операционкам виртуальных машин и взаимодействовать между собой. Механизмом связи между ОС может быть общий доступ к определенным файлам и обмен данными по локальной сети.
Схема работы виртуальной машины
Таким образом, вместо одного компьютера как будто получается несколько, и каждый из них работает со своим ПО независимо от других. Однако в реальности воплощение каждой такой виртуальной машины – лишь набор файлов в памяти хоста. Разумеется, если выключить физический сервер – вся иллюзия тут же исчезнет, потому что перестанет работать гипервизор.
Гипервизоры принято делить на два типа. Но есть еще и так называемый гибридный гипервизор, сочетающий в себе свойства обоих типов.
Одно из важнейших требований к гипервизору – безопасность
В чем особенности работы гипервизоров 1 типа?
Гипервизор первого типа называют еще микроядром, тонким гипервизором, автономным гипервизором, исполняемым на «голом железе». Гипервизор первого типа проще всего воспринимать как специфическую компактную операционную систему, которая устанавливается прямо на «железо» (bare-metal server) и имеет основные признаки ОС:
Он предоставляет гостевым ОС, запущенным под его управлением на верхнем уровне, абстракцию, то есть службу виртуальной машины. В результате каждая гостевая операционная система получает для себя от гипервизора иллюзию полноправного распоряжения всеми «нижестоящими» ресурсами компьютера – аналогично тому, как если бы ОС работала на реальном оборудовании в привилегированном режиме ядра, режиме супервизора.
Принцип работы гипервизора 1 типа
Супервизор – центральный управляющий модуль, ядро операционной системы. Может состоять из нескольких частей: супервизора программ, диспетчера задач, супервизора ввода-вывода и других.
Большинство современных процессоров Intel и AMD для десктопов и серверов на аппаратном уровне поддерживает технологию виртуализации и разделение работы ОС на два уровня привилегий: режим ядра (привилегированный) и пользовательский режим. При этом полномочия прикладной программы по управлению ресурсами компьютера существенно урезаны.
У ПО гипервизора первого типа есть очень важная особенность – размер его кода на два порядка (т.е. в сотни раз) меньше, чем у большинства современных операционных систем. Это обеспечивает настолько же меньшее количество возможных ошибок, приводящих к зависанию всей системы. Сбой в работе ОС на одной из виртуальных машин пользователя не должен повлиять на работу всех соседних машин на том же физическом оборудовании.
Одним из важнейших требований к гипервизору является именно безопасность, поскольку гипервизор получает полное управление аппаратными ресурсами компьютера, на которых выполняется виртуализация. Следовательно, задача гипервизора – выполнять машинные инструкции безопасным образом, не позволяя гостевой ОС:
Системные вызовы также перехватываются и выполняются внутри гипервизора, но со стороны каждой гостевой ОС все выглядит так, как должно быть при обычном выполнении инструкций в ее режиме ядра. Иными словами, гипервизор создает «иллюзию» для гостевой операционной системы, что ее код выполняется хостом на уровне железа, в привилегированном режиме, хотя де-факто она функционирует в режиме пользователя. Если произойдет крах одной из гостевых систем, работа остальных будет продолжаться.
Гипервизор оказывается единственным ПО, которое запущено в режиме максимальных привилегий. Такое свойство гипервизора называется эквивалентностью – поведение программ пользователя не отличается при работе на виртуальной машине и на физическом оборудовании за исключением временных характеристик.
При этом время выполнения кода существенно отличается – гипервизор отнимает часть процессорного времени для своих нужд и перехвата и анализа инструкций гостевой ОС, а также эмуляции выполнения некоторых из них. Кроме того, ресурсы физического оборудования обычно разделены между несколькими виртуальными машинами и каждая из них получает по требованию только часть процессорного времени. Однако этого достаточно для полноценной работы большинства процессов, поскольку не все они постоянно и равномерно загружены. Часть из них могут простаивать в ожидании действий пользователя или завершения работы медленного периферийного оборудования. Это время эффективно используется, поскольку система перераспределяет его для других активных процессов в многозадачном режиме.
К первому типу гипервизоров можно отнести Xen, VMware ESXi, Hyper-V и ряд других.
Xen (Xenserver, Citrix Hypervisor)
Тонкий гипервизор Xen был разработан в рамках исследовательского проекта лаборатории Кембриджского университета и в 2003 году компанией XenSource выпущен первый публичный релиз. С 2007 года XenSource поглощена Citrix, в результате чего часть продуктов получила новые названия. Xen представляет собой кроссплатформенный гипервизор, поддерживающий аппаратную виртуализацию и паравиртуализацию. Содержит минимальный объем кода, поскольку большая часть компонентов вынесена за пределы гипервизора. Xen – гипервизор с полностью открытым кодом, лицензии GNU GPL 2, что дает неограниченные возможности модифицировать продукт. За счет поддержки паравиртуализации и аппаратной виртуализации Xen относят также к гибридному типу гипервизоров.
VMWARE ESXI
Автономный гипервизор VMware ESXi – решение для виртуализации класса Enterprise, разработанное компанией VMware. Как и у других продуктов VMware, ESXi доступен в бесплатной версии, с ограниченным функционалом, и платной, с расширенными возможностями, – например, централизованное управление всеми виртуальными машинами на всех хостах проекта с помощью платформы vCenter. Но даже бесплатная версия гипервизора успешно реализует все обязательные функции гипервизора. Пользователи отмечают высокую стабильность продукта, простоту в администрировании, минимальный код, широкий спектр поддерживаемых гостевых систем – основные версии ОС, которые используются в корпоративном секторе.
HYPER-V
Системное решение Microsoft для аппаратной виртуализации, предназначенное для x64-систем. Существует в двух вариантах – как роль в серверных ОС семейства Windows (Windows Server 2008, Windows Server 2012 и др., а также в x64-битной Pro- и Enterprise-версии систем Windows 8, Windows 8.1, Windows 10) и в виде отдельного продукта Microsoft Hyper-V Server. Многие из тех, кто привык работать с Microsoft, считают Hyper-V самым удобным и юзабильным решением, если речь заходит о виртуализации. К слову, облако Azure полностью построено на нативных продуктах корпорации MS.
Гипервизор второго типа работает как один из процессов, выполняемых основной ОС
Как работают гипервизоры 2 типа?
Гипервизор второго типа называется также хостовым (hosted). Он представляет собой дополнительный программный слой, расположенный поверх основной операционной системы.
Фактически гипервизор второго типа работает как один из процессов, выполняемых основной ОС, чаще всего – Linux. В этом случае полномочия гипервизора значительно скромнее: он управляет гостевыми операционными системами, а эмуляцию и управление физическими ресурсами берет на себя хостовая ОС.
Принцип работы гипервизоров 2 типа
Наиболее популярные гипервизоры второго типа – Oracle VM VirtualBox, VMware Workstation, KVM.
ORACLE VM VIRTUALBOX
Oracle VM VirtualBox – модульный кроссплатформенный гипервизор для операционных систем Linux, macOS, Microsoft Windows, FreeBSD, Solaris/OpenSolaris, ReactOS, DOS и других от корпорации Oracle. Был создан в 2007 г. в корпорации Sun Microsystems, затем, после поглощения ее Oracle, работа над гипервизором продолжилась. Исходный код базовой версии открыт по лицензии GNU GPL, поэтому гипервизор пользуется популярностью и доступен для неограниченного модифицирования. Интересно, что VirtualBox способен поддерживать 64-битные гостевые системы, даже если ОС хоста 32-битная.
VMWARE WORKSTATION
Первая версия гипервизора VMware Workstation, разработанного компанией VMware, входящей в EMC Corporation, увидела свет в 1999 году. Это проприетарное ПО, работающее с x86-64 операционными системами хоста Microsoft Windows, Linux, Ubuntu, CentOS. Поддерживает более 200 гостевых ОС. Для теста можно воспользоваться бесплатной версией Workstation Player, которая сильно урезана в функциональности, по сравнению с версией Pro.
Kernel-based Virtual Machine, KVM, – гипервизор, созданный в октябре 2006 года и почти сразу был интегрированный с основной веткой ядра Linux версии 2.6.20., выпущенной в начале 2007 года. Позже KVM был адаптирован как модуль ядра в FreeBSD. В KVM включены загружаемый модуль ядра kvm.ko, отвечающий за виртуализацию, процессорно-специфический загружаемый модуль для AMD или Intel kvm-amd.ko, либо kvm-intel.ko, и компоненты пользовательского режима QEMU. KVM – полностью открытое ПО по лицензии GNU GPL и GNU LGPL. Кстати, при создании публичного облака SIM-Cloud IaaS инженеры использовали для виртуализации KVM QEMU.
Гибридный гипервизор управляет процессором и памятью, а устройствами ввода-вывода – через гостевые ОС
Что такое гибридные гипервизоры?
Гибридные гипервизоры обладают частью признаков как первого, так и второго типов (сочетание «тонкого» гипервизора и специальной, работающей «на железе» служебной ОС под его управлением). Гипервизор управляет напрямую процессором и памятью, а через служебную ОС гостевые получают доступ к устройствам ввода-вывода.
Технологии постоянно развиваются, и производители гипервизоров ищут пути совершенствования своих продуктов, создают новые версии, более гибкие, более интегрированные к разным системам и условиям. В последние годы гипервизоры Xen и Hyper-V все чаще относят уже не к первому типу, а к гибридному, и отчасти это верно. Современные версии этих гипервизоров в значительной степени сочетают в себе свойства обоих типов.
Паравиртуализация модифицирует гостевые ОС для исполнения в виртуализированной среде
Что такое паравиртуализация?
Популярным решением является паравиртуализация – установка специально подготовленной гостевой ОС, ядро которой изменяется для эффективной работы с гипервизором 2 типа. Конечно же, речь не может идти о модификации проприетарных систем с закрытым кодом, таких, как Windows. Зато для доработки большинства версий Linux разрешение владельца не требуется.
При паравиртуализации гостевые ОС модифицируются для исполнения в виртуализированной среде, то есть необходимое условие паравиртуализации – открытый исходный код всех компонентов операционных систем. Однако существенное повышение производительности, соизмеримое с производительностью реальной, невиртуализированной, системы делает технологию паравиртуализации востребованной среди пользователей.
Контейнеры могут развернуть больше приложений на одном физическом сервере, чем гипервизоры
Что такое контейнерные решения?
В последние несколько лет гипервизоры стала оттеснять на второй план сравнительно новая технология контейнеров. Причина этого в том, что контейнеры могут на одном физическом сервере развернуть большее число приложений, по сравнению с гипервизорами. Контейнерные решения виртуализации основаны преимущественно на доработанном ядре Linux. В этом случае, когда на хост-машине используется ядро Linux, гостевыми ОС тоже могут быть только представители семейства Linux.
Среди контейнеров широко распространен гипервизор OpenVZ, на котором основана платформа Virtuozzo. Преимуществом решения OpenVZ – хорошая производительность, максимальное использование ресурсов физического сервера за счет высокой плотности размещения ВМ.
Интересным также является контейнерное решение Jailhouse от Siemens. Этот гипервизор работает на «железе», но запускается на работающей системе Linux и обеспечивает ее разделение на изолированные «ячейки» – разделы системы для выполнения приложений пользователя.
Узнайте больше про высокодоступное публичное облако SIM-Cloud