Используемая в компании среда виртуализации гипервизор

Гипервизоры. Что же это и как работает виртуальный сервер?

Время на прочтение
6 мин

Количество просмотров 118K

История о том, как программное обеспечение отделившись от оборудования подарило нам виртуализацию и облачную вычислительную среду.

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

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

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

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

Гипервизор является движущей силой концепции работы 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-сообществе ведутся дискуссии на тему безопасности виртуализации. Основная проблема — это возможность создания злоумышленниками вредоносного ПО, устанавливаемого на ОС под видом гипервизоров. Этот процесс получил название «гиперджекинг». Его сложно отследить, поскольку вредоносные алгоритмы работают под управлением ОС и перехватывают ее действия (например, авторизацию, запросы к сервисам и пр.).

В настоящее время разрабатываются различные подходы по обнаружению руткитов на базе гипервизоров:

  • концепция вредоносного ПО: SubVirt, Blue Pill;
  • антируткиты: Hooksafe (защита ОС без потерь производительности).

Контейнеры или гипервизоры

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

Гипервизор виртуализирует необходимые для работы ОС аппаратные ресурсы. При использовании гипервизоров возрастает потребность в наращивании аппаратных мощностей (дисковых устройств, 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. Он позволяет организовать виртуализацию, не платя за лицензию на ОС. Решение доступно бесплатно, при этом и нет каких-либо ограничений на процедуры. Тем не менее, функционал продукта имеет и свои особенности:

  • настройка и отладка через удаленную консоль: графический интерфейс не предусмотрен;
  • лицензирование: необходимо лицензировать все виртуальные машины под управлением Windows;
  • отсутствие поддержки: Microsoft не предоставляет техническую поддержку, но при этом регулярно обновляет продукт.

Эти особенности не критичны, за исключением момента с лицензированием. Кроме того, как и отмечалось ранее, решение может подойти 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.

Недостатки гипервизора:

  • Управление виртуальными машинами: встроенные сервисы не соответствуют по функционалу решениям для других гипервизоров. Чтобы расширить функционал, приходится использовать сторонние инструменты, например, панель SolusVM.
  • Стабильность и отказоустойчивость: этот недостаток проявляется при интенсивном вводе-выводе. Тем не менее KVM развивается и дорабатывается множеством независимых разработчиков, что положительным образом сказывается на работе гипервизора.

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, поскольку их актуальные версии сочетают в себе оба подхода. Таким образом, просматривается тенденция к размытию границ между видами гипервизоров.

  • Главная

  • Блог

  • Инфраструктура

  • Что такое гипервизор, роль в виртуализации, типы и сравнение

Blog

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

Гипервизор — это то, благодаря чему развивается концепция виртуализации. Аппаратная виртуализация — это возможность управлять несколькими виртуальными машинами (ВМ) на одном устройстве. Они превращаются в гостевые системы. 

Что Такое Гипервизор, Роль В Виртуализации, Типы И Сравнение

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

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

История гипервизора

Виртуализацию стали использовать с 60-х годов XX века. В большинстве своем среда виртуализации применялась на мейнфреймах от IBM. Разработчики использовали ее для тестирования идей, а также для изучения и совершенствования аппаратных концепций. Благодаря этому появилась возможность разворачивать системы и исправлять ошибки без угроз для стабильности основного оборудования.

В начале нового тысячелетия виртуализация получила мощный импульс благодаря повсеместному внедрению в ОС семейства Unix. Причин массового распространения было несколько:

  • Улучшились аппаратные возможности серверного оборудования.
  • Усовершенствование архитектуры привело к увеличению надежности и безопасности.
  • Разработчики стали реализовывать аппаратную виртуализацию на процессорах на базе архитектуры x86.

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

Преимущества гипервизора

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

Еще один огромный плюс — мобильность. ВМ независимы от оборудования. Хотите перенести среду на другой сервер — без проблем. Нужно развернуть ВМ на локальном компьютере — тоже несложная задача. Меньше связи с оборудованием — меньше зависимостей.

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

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

При классификации решили не включать фантазию и назвать типы просто — TYPE 1 и TYPE 2

TYPE 1 — автономные гипервизоры. Они запускаются на аппаратном обеспечении компьютера. Отсюда они управляют оборудованием и гостевыми системами. Виртуализацию такого типа предлагают Xen, Microsoft Hyper-V, Oracle VM Server и VMware ESX / ESXi.

TYPE 2 — хостовые гипервизоры. Работают внутри системы как обычные программы. Виртуальные системы в таком случае отображаются в основной системе как процессы. Примеры — VirtualBox, VMware Workstation, VMware Player, Parallels Desktop.

Для увеличения стабильности, безопасности и производительности гипервизоров разработчики комбинируют особенности обоих типов, создавая гибридные решения. Они работают как на «железе», так и с использованием основной системы хоста. Примеры — последние версии Xen и Hyper-V.

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

Сравнение гипервизоров

Типы виртуализации — не единственное отличие. Гипервизоры решают разные задачи, у них отличаются аппаратные требования, есть особенности лицензирования.

Hyper-V

Бесплатный гипервизор для серверов под управлением ОС Windows. Его особенности:

  • Нет графического интерфейса, настраивать и отлаживать приходится в консоли.
  • Нужно покупать лицензии на все ВМ под управлением Виндовс.
  • Нет технической поддержки, хотя обновления выходят постоянно.

Hyper-V применяет шифрование для защиты виртуальных машин, а также позволяет уменьшать и расширять дисковое пространство. Среди недостатков — нет USB Redirection, нужного для подсоединения USB-устройств к виртуальным хостам. Вместо него используется Discrete Device Assignment, которая, однако, не является полной заменой.

VMware

VMware – это технология виртуализации, созданная одноименной американской компанией. Она применяется для организации работы виртуальных серверов.

Многие знают про ESXii, что это аппаратный гипервизор, который построен на основе облегченного Linux-ядра VMkernel. Оно содержит все необходимые инструменты виртуализации. 

Для работы необходимо приобретать лицензию для каждого физического процессора. При этом не имеет значения, каким будет объем ОЗУ и сколько виртуальных машин вы собираетесь запустить на своем оборудовании.

У VMware есть бесплатные инструменты виртуализации. Однако их возможностей недостаточно для профессионального применения. Например, API работает только на чтение, а количество vCPU не должно превышать восьми. Кроме того, нет инструментов для управления бэкапами. Это приводит к тому, что VMware неприемлем для корпоративного сектора. 

VMware Workstation

Гипервизор VMware Workstation создан в 1999 году. Сейчас это средство виртуализации для компьютеров x86-64 с Windows и Linux. Гипервизор поддерживает более двух сотен гостевых ОС. У VMware Hypervisor есть бесплатная версия с усеченной функциональностью, которую обычно используют для знакомства и проведения тестов.

KVM

Опенсорсный инструмент, который предназначен для серверов на базе Linux/x86. Поддерживаются также расширения Intel-VT и AMD-V. 

Гипервизор KVM достаточно популярен. Применяется во многих сетевых проектах: финансовых сервисах, транспортных системах, встречается даже в государственном секторе. KVM интегрирован в ядро Linux, поэтому работает быстро. Однако недостатки тоже есть. 

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

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

Xen

Xen — кроссплатформенное решение, которое поддерживает аппаратную виртуализацию и паравиртуализацию. Отличается минимальным объемом кода. Для расширения функциональности используются модули. Открытый исходный код позволяет любому специалисту модифицировать Xen под свои нужды.

Oracle VM VirtualBox

Oracle VM VirtualBox – это кроссплатформенный гипервизор для Виндовс, Линукс, МакОС и других систем. Немногие знают про VirtualBox, что это решение изначально было разработано компанией Sun Microsystems, однако позднее корпорация Oracle выкупила его и продолжила развитие под своим брендом.

Один из самых популярных гипервизоров, особенно в массовом сегменте. Это связано в том числе и с тем, что у VM VirtualBox открытый исходный код. Программа распространяется по лицензии GNU GPL. 

Отличительная особенность — даже на 32-битной системе хоста можно работать с 64-битными гостевыми ОС.

Сравнение с контейнерами

Гипервизорам часто противопоставляют контейнеры. Они позволяют развернуть большее количество приложений на одном устройстве. 

Вы уже знаете, что такое гипервизор и по какому принципу он работает. Проблема в том, что ВМ забирают много ресурсов. Для работы нужно сделать копию операционной системы, а еще полную копию оборудования для функционирования этой системы. Если выделить под ВМ условные 4 ГБ ОЗУ, то на основном устройстве будет на 4 ГБ ОЗУ меньше.

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

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

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

Вопросы безопасности

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

Подобный взлом называется гиперджекингом. Его трудно обнаружить. Защита не срабатывает, потому что вредоносное ПО уже установлено и перехватывает системные действия. Система продолжает работать, а пользователь даже не подозревает о проблемах.

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

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

Выбор большой: VMware или VirtualBox, Hyper-v или KVM. Универсальная рекомендация одна — ориентироваться на задачи. Если нужно протестировать операционную систему в виртуалке на домашнем компьютере, то подойдет VirtualBox. Если ищете решение для организации серверной сети корпоративного уровня, то фокус смещается уже в сторону инструментов VMware.

Миграция между гипервизорами возможна. Например, на cloud.timeweb.com можно предоставить в поддержку образ сервера. Специалисты сконвертируют его в KVM и запустят на виртуальной машине.

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

Назначение гипервизора — программным или аппаратным способом абстрагировать операционные системы компьютера или сервера от физического оборудования. На одном физическом сервере гипервизор создаёт несколько виртуальных машин (ВМ) и управляет ими. 

Каждая виртуальная машина работает независимо, у нее своя так называемая гостевая ОС и выделенный объем ресурсов на физическом сервере. ВМ быстро развертываются из готового образа, перемещаются и уничтожаются. Каждая виртуальная машина полностью изолирована и независима от остальных. То есть ни одна виртуальная машина в системе не использует общие ресурсы или даже не знает о существовании других ВМ. Это значит, что они не могут обмениваться данными напрямую, иметь доступ содержимому памяти или трафику друг друга. Единственный способ взаимодействия ВМ между собой — это обмен трафиком по сети, как если бы каждая ВМ была отдельным физическим сервером. Таким образом, сбой в работе одной ВМ не нарушит работу других виртуальных машин.

Виртуальные машины и контейнеры

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

Гипервизор 

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

Гипервизоры и технологии виртуализации появились в 60-х годах ХХ века. Тогда использовались мэйнфреймы — высокопроизводительные серверы, к которым подключались несколько пользователей одновременно. Вторую жизнь гипервизоры получили в 2000-е годы. Виртуализация позволила отделить физическое оборудование от операционных систем, приложений и процессов.

Это помогло оптимизировать использование физических ресурсов и облегчило их администрирование. IT-инженерам намного проще устанавливать, обновлять и обслуживать виртуализированные ресурсы, чем физические серверы. 

Однако главный плюс виртуализации — повышение отказоустойчивости и гибкости IT-инфраструктуры. Когда сбой происходит на физическом сервере, ремонт или замена занимает от нескольких часов до нескольких дней. Развернуть виртуализированные ресурсы намного проще: репликация поврежденной ВМ занимает всего несколько минут. О том, как защитить свою ИТ-инфраструктуру, читайте в статье.

Аварийное восстановление ИТ-инфрактруктуры

Основные типы гипервизоров

Гипервизор первого типа (bare metal)

Такие гипервизоры развертываются на физическом сервере до установки операционной системы, драйверов и приложений. Именно поэтому они и называются bare metal (буквально: на голом железе). 

После установки гипервизор создает виртуальный образ системных ресурсов для развертывания виртуальных машин.

Гипервизор схема 

Максимальное количество создаваемых ВМ зависит от объема ресурсов физического сервера. Например, если у сервера 24 ядра CPU, а гипервизор преобразует их в такое же количество виртуальных CPU (vCPU), тогда можно создать не больше 24 виртуальных машин с 1 vCPU у каждой или 12 виртуальных машин с 2 vCPU у каждой. 

Особенности

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

Примеры гипервизоров первого типа

KVM

Open Source-решение встроенное в ядро Linux. Каждая виртуальная машина реализована как обычный процесс Linux. У нее свое виртуальное оборудование: сетевая карта, графический адаптер, CPU, память и диски. Сила KVM в сообществе, которое развивает технологию. Благодаря этому KVM поддерживает Windows, MacOS и разные дистрибутивы операционных систем Linux.

VMWare ESXi

Решение на облегченном ядре Linux VMkernel. Лицензируется каждый физический CPU сервера, а доступный функционал сервера ESXi определяется установленной на нем лицензией vSphere, через которую управляется гипервизор.

Hyper-V

Разработка Windows для установки на серверы под управлением Windows Server. Стоимость лицензий зависит от количества физических ядер. У гипервизора нет графического интерфейса. Также отсутствует служба тех.поддержки.

Xen

Open Source-решение с минимальной кодовой базой из-за того, что большинство компонентов вынесены за пределы гипервизора.

Гипервизоры второго типа (hosted)

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

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

Особенности

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

Примеры гипервизоров

Oracle VM VirtualBox

Кроссплатформенное решение для запуска на одной физической машине нескольких ВМ с разными ОС: Microsoft Windows, Mac OS X, Linux, Oracle Solaris.

VMWare Workstation

Решение, схожее с Oracle VM VirtualBox, однако имеющее несколько отличий. Среди них:

  • возможность делать снапшоты — снимки текущего состояния ВМ;
  • объединение нескольких виртуальных машин в группу, которой можно управлять как единым объектом.

Применение гипервизоров первого и второго типов

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

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

Кластеризация

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

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

Аренда виртуальных серверов

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

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

Системы виртуализации и гипервизор

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

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

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

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

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

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

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

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

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

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

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

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

Гипервизор 1 типа
Принцип работы гипервизора 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 типа
Принцип работы гипервизоров 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.

KVM

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 и обеспечивает ее разделение на изолированные «ячейки» – разделы системы для выполнения приложений пользователя.

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

Выбирая гипервизор, следует помнить основные задачи гипервизора любого типа:

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

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

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

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

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

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

Также читайте

Previous

Next

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

История

VMware

VMware можно назвать флагманом рынка виртуализации. Компания основана 10 февраля 1998 года пятью техническими специалистами во главе с Дианой Грин (Diane Greene). Уже в 1999 году они представили свой первый продукт Workstation 1.0, который стал началом коммерчески успешного взлёта компании. Продукт был предназначен для «десктопной» виртуализации. Чтобы выйти на рынок Enterprise-решений, VMware в 2002 году представили свой первый гипервизор ESX Server 1.5, который эволюционировал в платформу виртуализации VMware vSphere.

Xen

История Xen корнями уходит в исследовательский проект в Кембриджском университете под руководством Яна Пратта (Ian Pratt) и Кейр Фрейзер (Keir Fraser). Первая версия была анонсирована в 2004 г. и вскоре с другими выпускниками университета была основана компания XenSource Inc, целью которой было продвижение Xen на корпоративном рынке. 22 октября 2007 г. Citrix Systems завершила поглощение XenSource Inc, начав предлагать корпоративным клиентам XenServer, который позже был переименован в Citrix Hypervisor.

KVM

KVM (Kernel-based Virtual Machine) — программное решение, обеспечивающее виртуализацию в среде Linux. KVM создано усилиями компании Qumranet, которая была куплена Red Hat за $107 млн. 4 сентября 2008 года. После сделки KVM (наряду с системой управления виртуализацией oVirt) вошла в состав платформы виртуализации Red Hat Enterprise Virtualization (RHEV). 28 октября 2018 года IBM выкупила Red Hat за 34 миллиарда долларов.

Hyper-V

В Microsoft бросились догонять уходящий поезд виртуализации в 2008 году, представив свой гипервизор Hyper-V (кодовое имя Viridian) в составе MS Windows Server 2008. С целью составить конкуренцию на рынке виртуализации, Microsoft представила Hyper-V Server как бесплатную операционную систему с единственной ролью: быть сервером виртуализации.

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

Существуют различные классификации гипервизоров. Классическое деление на «гипервизор первого типа» (автономный, тонкий, исполняемый на «голом железе», Type 1, native, bare-metal) и «гипервизор второго типа» (хостовый, монитор виртуальных машин, hosted, Type-2, V) впервые было представлено в работе «Формальные требования к виртуализируемым архитектурам третьего поколения» (Formal Requirements for Virtualizable Third Generation Architectures) Джеральдом Попеком (Gerald J. Popek) и Робертом Голдбергом (Robert P. Goldberg) в 1973 г.

По данной классификации гипервизор типа 1 выполняется непосредственно на «голом железе», а тип 2 — гипервизор, входящий в состав операционной системы. Как выяснилось, на практике очень тяжело провести грань между этими типами. Многими специалистами считается, что гипервизор VMware принадлежит к первому типу. При этом гипервизор KVM относят ко второму типу, поскольку законченное решение для запуска виртуальных машин требует создания адресного пространства в ОЗУ и такого компонента как QEMU — при этом они работают только поверх операционных систем на базе Linux. Со временем появились новые архитектурные решения, которые не вписывались в жёсткую схему из двух типов. Так Hyper-V уже можно отнести к гибритному типу (Hybrid, Type-1+), где гипервизор контролирует процессор и память, а специальная служебная ОС даёт гостевым операционным системам доступ к физическому оборудованию. Гипервизор Xen работает на «голом железе», но для своей работы ему требуется управляющая операционная система в dom0.

Сравнение возможностей

Каждая система виртуализации обладает обширным списком функционала — матрицей возможностей. Функционал частично пересекается, а вот механики ценообразования у всех разные. Вы можете создать сравнительную таблицу исходя из требуемых критериев на основе представленных документов. Мы ограничимся сравнением VMware с его конкурентами и отразим только функциональную составляющую.

Для полного сравнения

Некоторые уникальные возможности VMware

Многие системы виртуализации акцентируют внимание на термине «Высокая Доступность» (High Availability), но дело в том, что у большинства при отказе физического узла виртуальные машины нужно перезапускать на другом узле, и пока они запускаются, пользователь не может взаимодействовать с ними. Возникает простой (DownTime).

VMware Fault Tolerance — это технология VMware, разработанная для защиты критически важных виртуальных машин с реальной непрерывной доступностью. Для машин, защищенных VMware Fault Tolerance, выполняется постоянное копирование всего состояния памяти и процессорных инструкций в реальном времени. В случае выхода их строя узла или части кластера, рабочая копия виртуальной машины (Primary) мгновенно переключится на «вторичную» (Secondary) или «теневую» копию, работающую на другом сервере. При сбое первичного хоста, пользователи даже не заметят процесса переключения на вторичный узел. Именно этим Fault Tolerance отличается от High Availability.

Distributed Resource Scheduler (DRS) и Storage DRS (SDRS)

Distributed Resource Scheduler — это технология, позволяющая в автоматическом режиме балансировать нагрузку на ЦПУ и ОЗУ. В отличие от System Scheduler в последних версиях Red Hat, выполняющего примерно те же задачи, VMware DRS балансирует нагрузку предиктивно.

Storage DRS (SDRS) выравнивает нагрузку на хранилища и позволяет обеспечить требуемый уровень заполненности хранилища (Utilized Space) и/или задержки ввода-вывода (I/O Latency).

Организациям, где требуется повышенный уровень защиты приложений, понравится дальнейшее развитие идей VMware NSX, но для приложений. Суть заключается в том, что изучается нормальное поведение операционной системы и приложений в обычных (эталонных) условиях и, в случае выявлений отклонений при штатной работе, оповещается администратор или автоматически применяются заранее подготовленные шаги по защите виртуальной машины. Например, можно прервать сетевое соединение конкретного процесса, сделать снимок (snapshot) для анализа, выключить виртуальную машину и т. д.

AppDefense работает на уровне гипервизора и недостижим для вредоносного ПО из виртуальной машины, если она была скомпрометирована.

VMware против Microsoft Hyper-V

  • Гипервизор Hyper-V не поддерживает технологию, которая используется для проброса аппаратных USB-портов, что не позволяет подключать, например, аппаратные лицензионные ключи 1С к виртуальным машинам. Данные технологии обычно называются USB Redirection или USB Passthrough. Microsoft предлагает использовать вместо этого Discrete Device Assignment (DDA).
  • Hyper-V не умеет «на лету» добавлять CPU, вам придётся осуществлять добавление в offline режиме через остановку сервиса, что вызовет простой (DownTime).
  • Количество гостевых операционных систем, которые могут работать внутри виртуальной машины, у Hyper-V значительно меньше VMware, поэтому рекомендуется проверить актуальный список, если вам требуется запустить раритетного гостя.
  • Стоит признать, что Hyper-V позволяет уменьшать размер диска, а не только увеличивать, как VMware, но на практике, к сожалению, аппетиты только растут и чаще всего виртуальный сервер будет требовать всё больше занятого места.
  • Microsoft первой реализовала в своём гипервизоре Hyper-V технологию VM-GenerationID, которая пригодится администраторам службы каталогов, использующим сложные схемы Active Directory со множеством контроллеров в виртуальных средах. Благодаря VM-GenerationID можно избежать множества проблем при откате к старому снимку или при восстановлении её из резервной копии. Стоит отметить, что VMware также реализовала поддержку VM-GenerationID с версии vSphere 5.0 Update 2.

VMware против Red Hat KVM

После того, как KVM стал частью ядра Linux, он автоматически стал «генеральной линией партии» (mainline) в вопросе «а что выбрать для создания виртуализации средствами Linux». Заметьте, что Red Hat сделала ставку на KVM и в версии Red Hat Enterprise Linux 6.0 полностью исключил Xen, сделав окончательный выбор.

Эта борьба двух Linux-проектов, которые завязли в братской войне, шла на пользу VMware и Hyper-V, так как KVM и Xen отбирали долю рынка у друг друга, а не у конкурентов.

К минусам KVM часто относят:

  • Отсутствие более развитых средств управления (как у конкурентов)
  • Менее стабильную работу для задач с мощным и интенсивным вводом-выводом (I/O)

Традиционно к плюсам KVM относят неприхотливость к аппаратной части сервера, буквально — «если Linux работает на нём, то всё будет хорошо». Адепты свободного софта могут прочесть исходные коды гипервизора. Благодаря KVM можно получить недорогую виртуальную среду.

VMware против Citrix Xen

Citrix Xen одно время мог похвастать паравиртуализацией, которая требует модифицировать гостевую операционную систему, что невозможно для закрытых систем типа MS Windows, для более быстрой работы и снижения накладных расходов (overhead) на виртуализацию. Но с той поры прошло много лет, и все игроки на рынке виртуализации и аппаратного обеспечения приблизили работу гостя к производительности схожей «как на голом железе», что нивелирует плюсы паравиртуализации. А контейнеры и вовсе отобрали лавры быстрого гостя для UNIX- и Linux-гостей.

Citrix с Xen подвергся усилению конкуренции со стороны решений с открытым кодом от KVM и OpenStack, а также отсутствию поддержки поставщиков и сообщества, в отличие от KVM и OpenStack.

На сегодняшний день одной из сильных сторон можно назвать продвинутые возможности по предоставлению внутри виртуальной машины 3D аппаратной акселерации GPU от производителей Intel, AMD, NVIDIA.

К особенностям гипервизора можно отнести:

  • Проброс топовых GPU внутрь гостя GPU Pass-through (для конкретного виртуального гостя — конкретный GPU в физическом сервере)
  • GPU Virtualization — возможность множеству виртуальных машин получить доступ к GPU хоста, что лучше, чем программная эмуляция
  • vGPU Live Migration — позволяет виртуальной машине перемещаться между хостами без потерь с доступом к GPU

Такие технологии очень востребованы в секторах Computer-Aided Design (CAD) и Computer-Aided Manufacture (CAM), что позволяет виртуализировать рабочее место специалистов по компьютерному моделированию, чертёжников, проектировщиков и т.д.

Так что же выбрать?

VMware

Флагман отрасли, с соответствующим ценообразованием и особенностями лицензирования, востребован крупными корпорациями и отраслевыми представителями. Ядро гипервизора принадлежит первому типу, следовательно, аппаратное обеспечение должно быть подобрано более тщательно. Существует список поддерживаемого оборудования (HCL), которое гарантирует беспроблемную работу. Также требует тщательного подбора системы хранения данных (СХД) и обычно итог дороже, чем у конкурентов.

Hyper-V

Microsoft — ближайший конкурент VMware, буквально дышит в спину со своим единственным отличным от Linux-гипервизоров продуктом Hyper-V. Привлекательные схемы лицензирования Hyper-V и возможность с покупкой Windows Server Datacenter бесплатно получить автоматическую активацию (Automatic Virtual Machine Activation (AVMA)) неограниченного количества гостевых операционных систем делают выбор привлекательным для тех, кому нужна тесная интеграция с экосистемой MS Windows и знакомый интерфейс.

Xen

Позиции Xen были сильны в прошлом. Многие известные компании типа Amazon строили свою инфраструктуру на Xen, но потом они же и сменили его на KVM. Паравиртуализация была хороша, но сейчас её плюсы не ощущаются. В сухом остатке, Citrix Hypervisor в современных реалиях занял нишу виртуализации с активным использованием 3D, родственной нишей «Рабочее место как услуга» (VDI) и виртуализация приложений (Citrix Virtual Apps and Desktops).

KVM

Недорогой и лояльный к аппаратным ресурсам KVM, знакомый всем в мире open source, интересен прежде всего компаниям, менее заинтересованным в функциях корпоративного уровня. Оптимален для создания бюджетных виртуальных сред, к примеру, для тестировщиков.

Аналитические отчёты

Gartner

Аналитическая компания Gartner проводит различные исследования, в том числе «Magic Quadrant for x86 Server Virtualization Infrastructure». Изучают игроков рынка технологий виртуализации, а также анализируют сильные и слабые стороны платформ виртуализации. Производителей выстраивают по горизонтальной оси X — полнота видения (completeness of vision) и по вертикальной оси Y — способность внедрить и использовать данный функционал на предприятиях (Ability to Execute).

Магический квадрант в области виртуализации серверной инфраструктуры, Gartner, 2016 г.

Spiceworks

Spiceworks в 2016 году опубликовала график зависимости использования той или иной платформы виртуализации от размера компании, измеряемого в количестве сотрудников. По графику видно, что чем крупнее компания, тем выше у неё требования к системе виртуализации и тем чаще предпочтение отдается VMware.

Зависимость частоты использования платформ виртуализации от размера компании, Spiceworks, 2016 г.

Решения DataHouse.ru

Облачная система на базе VMware

Поможем выстроить инфраструктуру и перенести сервисы в облако.

  • Рассчитаем необходимые мощности под ваши задачи.
  • Развернем инфраструктуру и настроим сервисы и приложения.
  • Организуем систему бэкапирования и защиты данных.

Аренда программного обеспечения

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

Бэкапирование и хранение архивов

Организуем архивирование и настроим хранение данных в Veeam Backup, организуем взаимодействие с репозиторием DataCloud S3.

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

Ваше имя

Телефон

Прикрепить техническое задание

Виртуализация.
Виртуальные машины.
Гипервизоры. Контейнеры.

Виртуализация.
Виртуальные машины. Гипервизоры. Контейнеры.

Smartiqa Article

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

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

Дадим определение:

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

На что обратить внимание?

  1. Программно имитируется объект, который по функциям и ресурсам идентичен физически реализованному. Другими словами, программное обеспечение выглядит и ведет себя как аппаратное обеспечение. Например, в качестве имитируемого объекта может выступать виртуальная машина(VM). Виртуальная машина обладает набором логических ресурсов (процессорных, оперативной памяти, устройств хранения) и при этом считает, что эти ресурсы полностью ее и реализованы физически.
  2. Ресурсы имитируемого объекта абстрагированы от аппаратной части. Что в свою очередь значит, что эмулируемый объект получает свой необходимый набор ресурсов из общего объема физического сервера и распоряжается им, как хочет. Система «думает», что она обладает эксклюзивным доступом к вычислительным ресурсам и памяти. Например, виртуальная машина работает с тем объемом ресурсов, который был ей выделен, и ничего не знает об остальных ресурсах физического сервера.
  3. На одном физическом ресурсе несколько вычислительных процессов. На одном и том же физическом сервере может быть запущено несколько операционных систем и конфигураций серверов.
  4. Вычислительные процессы логически изолированы. Каждая виртуальная машина работает независимо, запускает разные операционные системы и приложения и при этом ничего не знает о других машинах, запущенных на том же физическом сервере.

Примеры необходимости виртуализации:

  1. Традиционный подход при организации серверной инфраструктуры подразумевает использование для каждого приложения отдельного физического сервера. Это позволяет гарантированно обеспечить такое приложение необходимыми вычислительными ресурсами при пиковой нагрузке, а также изолировать это приложение от других, чтобы сбой одного из приложений не влиял на работу остальных. Однако подобная стратегия сопряжена с линейным ростом числа физических серверов и, как следствие, с увеличением затрат на приобретение и эксплуатацию оборудования. Между тем, средняя загрузка вычислительных мощностей при такой схеме использования серверного оборудования не превышает 10%, что представляется явным расточительством. К примеру, Microsoft настоятельно не рекомендует совмещать контроллер домена Active Directory и интернет-шлюз на одном физическом сервере, так как это создает серьезную угрозу безопасности. Соответственно, многие системные администраторы ставят контроллер домена на один физический сервер, а интернет-шлюз — на другой. Тут возникает проблема: каждый отдельный сервер — стоит денег, потребляет электроэнергию и занимает место на столе либо в стойке. Особенно это становится важным, если сервера размещаются в стороннем датацентре, где взымают плату за занимаемые юниты в стойках и энергопотребление строго ограничивается. Использование под каждую такую задачу отдельного сервера выглядит нерационально. Решить данную проблему позволяет виртуализация серверной инфраструктуры.
  2. У пользователей Linux или Mac иногда возникает потребность в запуске программ, работающих только в Windows, а у Windows-пользователей, особенно программистов, потребность в запуске Linux или другой версии Windows. Классический пример — игры или Photoshop. Самый очевидный способ сделать это — купить второй компьютер, но это дорогое удовольствие. Второй вариант — поставить Windows рядом со своей основной операционной системой. Такая установка, как правило, может все сломать, но если у вас получилось, во время старта компьютера вы сможете выбрать операционную систему для загрузки. Третий и оптимальный путь — виртуализация.
  3. Корпоративные сети предъявляют повышенные требования к безопасности соединений. Представим компанию, которая имеет главный офис и несколько отделений в разных частях города или вовсе в разных регионах страны. Каждый филиал имеет собственную локальную сеть для обмена данными. При этом передача данных между филиалами осуществляется по общедоступным и незащищенным каналам. Передавать через общую сеть конфиденциальные и личные данные не только неудобно, но и опасно. На помощь так же приходит виртуализация — технология VPN(Virtual Private Network) позволяет создать между всеми офисами виртуальную сеть, которая будет осуществлять передачу информации в закодированном виде.

Выгоды виртуализации:

  1. Консолидация серверов. Виртуализация бизнес-приложений позволяет запускать несколько приложений на одном физическом сервере (хосте) вместо того, чтобы выделять для каждого приложения свой сервер. Теперь все необходимые для работы организации приложения могут работать на меньшем количестве серверов. Консолидация серверов позволяет снизить затраты на содержание серверной инфраструктуры на 50-60%.
  2. Повышение надежности. Виртуализация также позволяет существенно повысить надежность работы приложений и их устойчивость к сбоям. В случае отказа одного из серверов размещенные на нем виртуальные машины могут быть автоматически перезапущены на другом сервере и продолжат работу. Более того, для критически важных приложений, которые должны работать в непрерывном режиме, можно создать на разных физических серверах две виртуальные машины — основную и ее зеркальную копию. В случае сбоя основной виртуальной машины ее зеркальная копия обеспечит непрерывность работы такого приложения.
  3. Кластеризация. Несколько физических серверов (хостов), на которых работают виртуальные машины, можно объединить в кластер. Аппаратные ресурсы всех серверов кластера образуют общий пул ресурсов, который совместно могут использовать виртуальные машины кластера. ПО виртуализации позволяет автоматически осуществлять балансировку нагрузки на серверы, входящие в состав кластера, перемещая работающие виртуальные машины с более загруженных серверов на менее загруженные. Если общая нагрузка на кластер снижается (например, в ночное время), виртуальные машины могут быть автоматически «собраны» на небольшом числе серверов, а остальные серверы будут выключены.
  4. Легкое управление инфраструктурой.
  5. Быстрота развертывания. Развертывание нового сервера занимает определенное время. Это — установка ОС, установка драйверов, установка приложений и т.п. С виртуальными машинами все просто: можно создавать абсолютно идентичные «клоны» виртуальной машины за пару кликов мышью, и процесс займет порядка нескольких минут.
  6. Резервные копии. Даже если делается бэкап, то не всегда можно дать 100% гарантию, что из него можно будет восстановить ОС на «голом железе», и она будет работать без ошибок. Особенно — если конфигурация аппаратного обеспечения будет немного отличаться от предыдущей. В виртуальных машинах все «железо» эмулируемое и потому стандартное, и для полного бэкапа достаточно просто скопировать один или несколько файлов. Для восстановления достаточно просто скопировать файл(ы) на новый сервер, где уже установлена хостовая ОС со средой виртуализации, и «подцепить» их — и виртуальная машина будет работать как ни в чем не бывало.

2. Виды виртуализации. Общая классификация.

При разговоре о виртуализации большинству IT-специалистов в голову в первую очередь приходит работа с виртуальными машинами. Однако понятие виртуализации выходит далеко за рамки функционирования операционных систем и включает в себя и другие не менее важные компоненты.

Итак, что можно виртуализировать?
1. Виртуальные машины(операционные системы)
2. Программное обеспечение
3. Память
4. Хранилище данных
5. Базы данных
6. Сеть

Рассмотрим каждый из пунктов более подробно:

1) Виртуальные машины(операционные системы). Виртуализация ОС представляет собой архитектуру программного обеспечения, которая обеспечивает работу нескольких операционных систем в качестве гостя на определенном хосте физического сервера.

Благодаря тому, что программное обеспечение сервера абстрагировано от физического устройства, сервер становится «виртуальной машиной», не связанной с оборудованием.
Более подробно виртуальные машины рассмотрим в следующем пункте.

2) Программное обеспечение. Включает в себя виртуализацию приложений и сервисов:
1. Виртуализация приложений — работа отдельных приложений в среде, отделённой от основной ОС. Например, Citrix XenApp, Microsoft App-V .
2. Виртуализация сервисов — эмуляция поведения системных компонентов, необходимых для запуска приложения в целях отладки и тестирования. Вместо виртуализации компонентов целиком, эта технология виртуализирует только необходимые части. Например, SoapUI, Parasoft Virtualize.

3) Память. Виртуализация памяти — объединением оперативной памяти из различных ресурсов в единый массив. Реализации: Oracle Coherence, GigaSpaces XAP.
Также одной из распространенных стратегий распределения памяти, используемой во всех современных операционных системах, является модель виртуальной памяти. Ее работа основана на идее расширения физической памяти путем размещения расширенной памяти на диске и использования таблиц страниц (или сегментов) для трансляции адресов. Поэтому, естественно, возникает идея расширить пространство логической памяти, которое может быть реализовано намного большего размера, чем физическая память.

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

5) База данных. Виртуализация данных — представление данных в абстрактном виде, независимо от нижележащих систем управления и хранения данных, а также их структуры. Это подход к унификации данных из нескольких источников на одном уровне, чтобы приложения, средства отчётности и конечные пользователи могли получать доступ к данным, не нуждаясь в подробных сведениях об исходных источниках, местоположениях и структурах данных.

6) Сеть. Виртуализация сети (network virtualization) — процесс объединения аппаратных и программных сетевых ресурсов в единую виртуальную сеть. Виртуализация сети разделяется на внешнюю, то есть соединяющую множество сетей в одну виртуальную, и внутреннюю, создающую виртуальную сеть между программными контейнерами внутри одной системы.

3. Виртуальные машины

Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой гостевой платформы и исполняющая для нее программы на host-платформе.

На что обратить внимание?

  1. Виртуальная машина может быть реализована как программно, так и аппаратно.
  2. Виртуальная машина эмулирует аппаратное обеспечение. Помимо процессора, ВМ может эмулировать работу как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жёсткий диск и другие периферийные устройства). В последнем случае в ВМ, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот).
  3. Гостевая ОС — операционная система, работающая внутри виртуальной машины.
  4. Виртуальные машины размещаются на хостовой платформе. Host-платформа — хост-платформа, платформа-хозяин. На одном хосте может функционировать несколько виртуальных машин.
  5. Тонкий слой ПО, называемый гипервизором, отделяет виртуальные машины от сервера и по мере необходимости динамически выделяет вычислительные ресурсы каждой виртуальной машине.

Примеры применения:

  1. Тестовые лаборатории и обучение: тестированию в виртуальных машинах удобно подвергать приложения, влияющие на настройки операционных систем, например инсталляционные приложения. За счёт простоты в развёртывании виртуальных машин, они часто используются для обучения новым продуктам и технологиям.
  2. Распространение предустановленного программного обеспечения: многие разработчики программных продуктов создают готовые образы виртуальных машин с предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе.

Свойства виртуальных машин:
1. Инкапсуляция. Виртуальная машина является программным компьютером с полным набором виртуального оборудования, гостевой ОС и приложениями. При выключении виртуальная машина записывается (инкапсулируется) на диск в виде обычного набора файлов, а при включении — считывается из этого набора. Благодаря инкапсуляции виртуальные машины можно легко переносить на другой физический сервер, клонировать или создавать их резервные копии на любых устройствах хранения. Чтобы восстановить виртуальную машину после сбоя, не нужно заново устанавливать операционную систему и приложения, достаточно просто перезапустить ее из резервной копии.
2. Изоляция. При совместной работе нескольких виртуальных машин на одном физическом сервере они полностью изолированы друг от друга. Это означает, что

1) каждая ВМ может использовать только выделенную для нее часть аппаратных ресурсов и, как следствие, не оказывает влияния на производительность других виртуальных машин.
2) ВМ работают независимо друг от друга, поэтому даже если на одной из машин произойдет сбой вследствие программной ошибки, работа других машин не будет нарушена.

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

4. Гипервизоры

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

Дадим определение:

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

На что обратить внимание?

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

Виртуализация. Типы гипервизоров

Виртуализация. Типы гипервизоров.

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

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

На что обратить внимание?

  1. Автономный гипервизор имеет свои встроенные драйверы устройств, модели драйверов и планировщик и поэтому не зависит от базовой ОС.
  2. Так как автономный гипервизор работает непосредственно в окружении усечённого ядра, то он более производителен.
  3. К современным автономным гипервизорам относятся: VMware ESX / ESXi, Citrix XenServer.

2) Гипервизор второго типа (хостовый, монитор виртуальных машин — hosted, Type 2, V) — специальный дополнительный программный слой, расположенный поверх основной хостовой ОС, который в основном выполняет функции управления гостевыми ОС, а эмуляцию и управление аппаратурой берет на себя хостовая ОС.

На что обратить внимание?

  1. Хостовый гипервизор запускается на обычной ОС, как и другие приложения в системе. В этом случае гостевая ОС выполняется как процесс на хосте, а гипервизор разделяет гостевую ОС и ОС хоста.
  2. Примеры хостовых гипервизоров: VMware Workstation, VMware Player, QEMU, VirtualBox и Parallels Desktop для Mac.

3) Гипервизор гибридный (Hybrid, Type 1+) — объединенный вариант первых двух, в котором функции управления аппаратными средствами выполняются тонким гипервизором и специальной депривилегированной сервисной ОС, работающей под управлением тонкого гипервизора. Обычно гипервизор управляет напрямую процессором и памятью компьютера, а через сервисную ОС гостевые ОС работают с остальными аппаратными компонентами.

На что обратить внимание?

  1. Гибридный гипервизор состоит из двух частей: 1) из тонкого гипервизора, контролирующего процессор и память, а также 2) специальной сервисной ОС в кольце пониженного уровня.
  2. Через сервисную ОС гостевые ОС получают доступ к физическому оборудованию.
  3. Примерами данного вида гипервизоров выступают: Microsoft Virtual Server, Sun Logical Domains, Xen, Citrix XenServer, Microsoft Hyper-V, VMware Workstation

На данный момент можно выделить трех основных крупнейших разработчиков гипервизоров: VMware, Microsoft и Citrix Systems.

Разработчики гипервизоров

Разработчики гипервизоров

Последние исследования доли рынка показывают, что Microsoft Hyper-V уверенно закрепился в компаниях самого разного размера, но все же VMware по-прежнему единоличный лидер, уверенно себя чувствующий, особенно в крупных компаниях.

5. VMware

Компания VMware доминирует на рынке виртуализации серверов, и это относится не только к ее коммерческому продукту VMware vSphere. VMware занимает ведущие позиции и на рынке ПО виртуализации рабочих столов (VDI), и, возможно, в сегменте бесплатных средств виртуализации серверов со своим продуктом VMware Server. Компания VMware удерживает лидерство благодаря своим инновациям, стратегическому партнерству и надежным программным продуктам.

VMware — американская компания, крупнейший разработчик программного обеспечения для виртуализации. Штаб-квартира расположена в Пало-Альто, Калифорния. Компания основана в 1998 году Эдуардом Буньоном (Edouard Bugnion), Менделем Розенблюмом (Mendel Rosenblum), Дианой Грин (Diane Greene), Скоттом Дивайном (Scott Devine) и Эдвардом Вангом (Edward Wang). В мае 1999 года выпущен первый продукт — VMware Workstation. К 2001 году созданы первые серверные продукты — VMware GSX Server и VMware ESX Server, в 2003 году появились Virtual Center, VMotion и Virtual SMP.

Все программные продукты VMware можно разделить на следующие основные категории:

  1. Серверная виртуализация
  2. Виртуализация рабочих столов пользователей (VDI — Virtual Desktop Infrastructure, EUC — End User Computing)
  3. Сетевая виртуализация
  4. Виртуализация хранилища
  5. Облачные среды
  6. Приложения для ПК

Рассмотрим подробнее 1) Серверную виртуализацию и 6) Приложения для ПК.

1) Серверная виртуализация. Серверная виртуализация — это первый тип виртуализации, предложенный VMware. В нее входят следующие компоненты:

1. VMware vSphere — это коммерческое название всего пакета продуктов VMware. vSphere подразумевает одновременное использование ESXi хостов (x86) и vCenter Server для их централизованного управления. Последняя версия vSphere представлена следующими редакциями: Standard, Enterprise, Enterprise Plus, Essentials, Essentials Plus, Remote Office Branch Office (ROBO) Standard и Advanced, vSphere for Desktop.

2. VMware ESX — классический вариант полностью автономного гипервизора, который относится к категории архитектуры монолитного ядра. Он содержит всё необходимое для работы ВМ и по сути является автономной ОС, включающей в том числе и драйверы для работы с оборудованием. Именно на эти моменты как на архитектурные преимущества делает акцент VMware, подчеркивая, что такой подход обеспечивает наиболее полную изоляцию ВМ, а следовательно, и более высокую надежность системы в целом. Архитектура ESX — закрытая, проприетарная. ESX Server состоит из

  1. собственно гипервизора,
  2. среды исполнения (ESXi),
  3. сервисной консоли на базе ядра Linux

3. VMware ESXi — изначально версия VMware ESX без локальной консоли управления (присутствует только сильно урезанная консоль для техподдержки). Начиная с версии 5.0 ESX замещен продуктом ESXi, дальнейшая разработка ESX прекращена на версии 4.1 update 3.

4. vCenter Server – главный инструмент управления для администраторов vSphere. Он предоставляет единую точку контроля за всеми компонентами в виртуальном датацентре и выполняет некоторые важные функции. vCenter позволяет 1) конфигурировать новые ESXi хосты, хранилище, сеть и характеристики виртуального оборудования различных инфраструктурных компонентов, 2) создавать и импортировать новые виртуальные машины, 3) производить мониторинг и отчёты о производительности гостевой ОС, виртуальных машин и ESXi хостов. vCenter управляет правами, разрешениями, ролями на различных уровнях виртуальной инфраструктуры, унифицирует ресурсы различных хостов ESXi и позволяет обеспечивать общий доступ к ним для любых ВМ в датацентре. Это достигается назначением ресурсов кластера хостов ESXi виртуальным машинам с учётом назначенных администратором политик.

2) Приложения для ПК.
1. VMware Workstation — позволяет создавать и запускать одновременно несколько виртуальных машин (x86-архитектуры), в каждой из которых работает своя гостевая операционная система. Поддерживаются как 32-битные, так и 64-битные версии ОС.
2. VMware Player — бесплатный (для личного некоммерческого использования) программный продукт, предназначенный для создания (начиная с версии 3.0) и запуска готовых виртуальных машин (созданных в VMware Workstation, либо VMware Server). Бесплатное решение с ограниченной, по сравнению с VMware Workstation, функциональностью.
3. VMware Fusion — Версия VMware Workstation для Macintosh.

6. Microsoft Hyper-V

Microsoft Hyper-V — система аппаратной виртуализации для x64-систем на основе гипервизора. Бета-версия Hyper-V была включена в x64-версии Windows Server 2008, а законченная версия (автоматически, через Windows Update) была выпущена 26 июня 2008. Ранее была известна как Windows Server Virtualization.

Продукт Hyper-V – это попытка компании Microsoft дать миру, в добавок к легиону альтернативных продуктов, свой гипервизор. Microsoft стартовала в сложной ситуации, потому что:

  1. Начальные редакции были похожи на дипломные работы студентов и безнадежно отставали технологически.
  2. Рынок уже был захвачен.

Поэтому Microsoft не оставалось ничего, кроме как начать войну. И в качестве наступательной операции они выпустили отдельную редакцию Hyper-V Server, которая являлась и является до сего момента бесплатной. Hyper-V Server включает в себя полную функциональность Hyper-V, но в нем отсутствует графический интерфейс и на нем нельзя развернуть другие роли сервера. Бесплатность, приправленная миллионами бюджета маркетинга, плюс колоссальный технологический прогресс дали плоды. С каждой новой версией Hyper-V выдавал новые возможности и потянулась вереница технологий: Quick Migration, Live Migration, Storage Migration, Hyper-V Replica и много-много других, менее известных большинству специалистов, терминов. Hyper-V начала отыгрывать рынок, вплоть до 40%, которые сейчас, по разным оценкам, имеет продукт.

Таким образом, на данный момент Hyper-V существует в двух вариантах:

  1. Как отдельный продукт Microsoft Hyper-V Server
  2. Как роль Windows

Каковы же особенности архитектуры Hyper-V?

Создатели Hyper-V придерживаются подхода, который называют архитектурой микроядра, т.е. разделения функций по разным модулям и уровням. В сущности данный подход представляет собой вариант гипервизора смешанного типа (Тип 1+), когда сам гипервизор выполняет только функции управления памятью и процессором, а для взаимодействия с внешними устройствами и управления служит привилегированная родительская ВМ на базе ядра Windows.

По мнению разработчиков Microsoft, такой подход более эффективен при высокой вычислительной нагрузке, когда используется только «тонкий» гипервизор, который в случае Microsoft занимает всего порядка 100 Кб оперативной памяти.

Hyper-V поддерживает разграничение согласно понятию раздел. Раздел — логическая единица разграничения, поддерживаемая гипервизором, в котором работают операционные системы. Стек виртуализации запускается на родительском разделе и обладает прямым доступом к аппаратным устройствам. Затем родительский раздел порождает дочерние разделы, на которых и располагаются гостевые ОС. Дочерний раздел также может породить собственные дочерние разделы. Родительский раздел создает дочерние при помощи API-гипервизора, представленного в Hyper-V.

Архитектура Microsoft Hyper-V

Архитектура Microsoft Hyper-V

Для ускорения же работы на уровне драйверов Microsoft использует два механизма взаимодействия прикладных BM с родительской:

  1. В одном случае применяется специальный внутренний интерфейс VMBus, который позволяет общаться ВМ между собой напрямую. Он доступен для ВМ, реализованных на базе Windows, а также Xen, но только для тех разработчиков, с кем у Microsoft есть соответствующий уровень сотрудничества.
  2. Для всех остальных ОС используется второй вариант полной эмуляции драйверов. Как свое преимущество Microsoft также подчеркивает наличие в ее Hyper-V проверенной модели драйверов, которая развивается в рамках Windows Server в целом на протяжении ряда лет.

7. Контейнеры. Docker.

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

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

  1. Контрольные группы (cgroups). Управляют изолированием и использованием системных ресурсов — центральным процессором, памятью, — для группы процессов. Например, если ваше приложение занимает много циклов ЦП и памяти, вы можете поместить его в контрольную группу, чтобы ограничить использование памяти и ЦП.
  2. Пространства имен (namespaces). Создают оболочку для набора системных ресурсов и представляют их процессу.

Другими словами, пространства имен занимаются изолированием ресурсов для одного процесса, а контрольные группы управляют ресурсами для группы процессов.

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

В чем преимущество контейнеров перед виртуальными машинами? Контейнеры отличаются в первую очередь

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

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

Наиболее известные проекты: OpenVZ, Docker, LXC. Рассмотрим LXC и Docker подробнее.

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

В состав программных средств Docker входят:

  1. Демон — сервер контейнеров (запускается командой docker -d),
  2. Клиентские средства, позволяющие из интерфейса командной строки управлять образами и контейнерами,
  3. API, позволяющий в стиле REST управлять контейнерами программно.

1) Демон обеспечивает полную изоляцию запускаемых на узле контейнеров на уровне:

  1. файловой системы(у каждого контейнера собственная корневая файловая система),
  2. процессов(процессы имеют доступ только к собственной файловой системе контейнера, а ресурсы разделены средствами libcontainer),
  3. сети(каждый контейнер имеет доступ только к привязанному к нему сетевому пространству имён и соответствующим виртуальным сетевым интерфейсам).

2) Набор клиентских средств позволяет:

  1. запускать процессы в новых контейнерах (docker run),
  2. останавливать и запускать контейнеры (docker stop и docker start),
  3. приостанавливать и возобновлять процессы в контейнерах (docker pause и docker unpause),
  4. мониторить запущенные процессы (docker ps по аналогии с ps в Unix-системах, docker top по аналогии с top и другие),
  5. создавать новые образы из специального сценарного файла (docker build, файл сценария носит название Dockerfile),
  6. записывать все изменения, сделанные в контейнере, в новый образ (docker commit).

Все команды могут работать как с docker-демоном локальной системы, так и с любым сервером Docker, доступным по сети. Кроме того, в интерфейсе командной строки встроены возможности по взаимодействию с публичным репозиторием Docker Hub, в котором размещены предварительно собранные образы контейнеров. Например, команда docker search позволяет осуществить поиск образов среди размещённых в нём, образы можно скачивать в локальную систему (docker pull), возможно также отправить локально собранные образы в Docker Hub (docker push).

Как вам материал?

Читайте также

Понравилась статья? Поделить с друзьями:
  • За какое время человек привыкает к новому месту работы
  • За какую сумму управляющая компания может подать в суд
  • За сколько времени можно проехать 100 км на велосипеде
  • За сколько машина проедет 100 км при скорости 100 км ч
  • За сколько можно проехать 100 км на велосипеде сколько