Гипервизоры. Что же это и как работает виртуальный сервер?
История о том, как программное обеспечение отделившись от оборудования подарило нам виртуализацию и облачную вычислительную среду.
Технологию гипервизоров часто упускают из вида, отдавая предпочтении более популярной и модной концепции виртуализации. Но поверьте, вы не сможете получить истинного удовольствия от применения виртуализации, пока не поймете, что такое гипервизор и как он работает в вычислительной системе.
О преимуществах виртуального сервера и облачных вычислений уже сказано много слов и написано огромное количество статей, настолько много, что кажется будто эта технология уже устарела в быстро развивающемся мире ИТ инфраструктуры. Однако, все же стоит выбросить такие мысли из головы, ведь технология гипервизоров как раз может помочь в стимулировании инноваций в мире облачных вычислений.
Что такое гипервизор?
Гипервизор — это процесс, который отделяет операционную систему компьютера и приложения от базового физического оборудования. Обычно представляет собой программное обеспечение, хотя создаются и встроенные гипервизоры, например, для мобильных устройств.
Гипервизор является движущей силой концепции работы 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, который обеспечивает эффективную защиту ОС от руткитов режима ядра без заметных потерь в производительности.
Расширение возможностей гипервизора
Концепция гипервизоров не ограничивается только работой сервера. Например, гипервизоры хранилища используют ту же концепцию, применяя ее к хранилищу данных. Гипервизор хранения может работать на физическом оборудовании, как виртуальная машина, внутри операционной системы гипервизора или в более крупной сети хранения. Гипервизоры хранилища также, как и обычные гипервизоры, могут работать на определенном оборудовании или быть независимыми от оборудования.
Помимо хранения, гипервизоры являются ключом для других процессов виртуализации, включая виртуализацию рабочего стола, виртуализацию ОС и виртуализацию приложений.
Также встречается еще и встроенные гипервизоры. Что же это такое? Встроенные гипервизоры поддерживают требования встроенных систем. Они немного отличаются от гипервизоров, ориентированных на серверные и настольные приложения. Встроенный гипервизор с самого начала внедряется во встроенное устройство, а не загружается при последующем развертывании устройства. Во встроенной системе различные компоненты обычно функционируют совместно для обеспечения функциональности устройства.
Типы гипервизоров – сравнительный анализ
Выбор между двумя типами гипервизоров в значительной степени зависит от того, что контролируют ИТ-администраторы – корпоративный ЦОД или системы конечных пользователей.
Главное отличие между гипервизорами 1-го и 2-го типа заключается в том, что 1-й тип работает на bare metal, а 2-й – поверх операционной системы. У каждого есть свои особенности и конкретные варианты применения.
Виртуализация подразумевает абстрагирование физического оборудования и устройств от приложений, работающих на этом оборудовании; управляет и резервирует ресурсы системы, включая процессор, память, хранилище, сетевые ресурсы. Это позволяет размещать в системе одновременно несколько рабочих нагрузок, обеспечивая более экономичное использование доступных серверов в рамках всей организации.
Что такое гипервизор
Гипервизор – это программное обеспечение, которое создает и запускает виртуальные машины, изолируя операционную систему и ресурсы системы от аппаратного обеспечения. Физическое оборудование, на котором работает гипервизор, называется хост-машиной, а виртуальные машины, создаваемые и поддерживаемые гипервизором, в совокупности называются гостевыми машинами.
Гипервизор позволяет оборудованию хоста работать с несколькими виртуальными машинами независимо друг от друга и совместно использовать абстрагированные ресурсы этих виртуальных машин. Виртуализация с гипервизором повышает эффективность центра обработки данных по сравнению с физическим хостингом.
Есть два типа гипервизоров: тип 1 и тип 2. Оба могут виртуализировать основные элементы – процессор, память и сеть, но, исходя из своего расположения в стеке, гипервизор виртуализирует эти элементы по-разному.
Гипервизор первого типа
Работает непосредственно на физическом аппаратном обеспечении хост-машины и называется «bare-metal гипервизор». Гипервизор типа 1 не должен загружать базовую операционную систему. Он использует прямой доступ к исходному оборудованию и никакому другому программному обеспечению (ОС и драйверы), и считается самым эффективным и наиболее производительным.
Гипервизоры, которые выполняются непосредственно на физическом оборудовании, также отличаются высокой степенью безопасности. Виртуализация снижает риск атак, направленных на уязвимости и недостатки в безопасности операционной системы, поскольку каждая гостевая ОС имеет свою собственную. Это гарантирует, что атака на гостевую виртуальную машину будет логически изолирована от этой ВМ и не сможет распространиться на другие машины, работающие на том же оборудовании.
ИТ-организации используют гипервизоры первого типа для рабочих нагрузок производственного уровня, которые требуют большего времени безотказной работы, расширенных возможностей восстановления и других функций необходимых в разработке. Стандартный гипервизор первого типа может масштабироваться для виртуализации рабочих нагрузок на несколько терабайт оперативной памяти и сотни ядер CPU.
Кроме того, гипервизоры типа 1 часто поддерживают программно-определяемые системы хранения данных и сети, что создает дополнительную безопасность и портативность для виртуализированных рабочих нагрузок. Однако такие функции предполагают высокие стартовые вложения.
Для получения максимума возможностей гипервизор 1-го типа требует дополнительного внешнего управления. Например у VMware это платформа централизованного управления виртуальной инфраструктурой VMware vCenter.
Гипервизор второго типа
Устанавливается поверх существующей ОС. Иногда его называют хостируемым гипервизором, потому что он зависит от существующей ОС хост-машины для управления вызовами к процессору, памяти, хранилищу и сетевым ресурсам.
Гипервизор второго типа ведет свою историю с ранних времен виртуализации x86, когда он добавлялся поверх ОС существующих систем. Хотя назначение и цели обоих типов идентичны, наличие базовой ОС с гипервизорами типа 2 приводит к неизбежным задержкам; вся деятельность и работа каждой ВМ должна проходить через ОС хоста. Кроме того, любые дефекты безопасности или ошибки в операционной системе хоста могут потенциально скомпрометировать все ВМ, запущенные над ней.
Следовательно, гипервизоры типа 2 обычно не используются в центрах обработки данных и зарезервированы для клиентских систем или систем конечных пользователей – иногда их называют клиентскими гипервизорами – в тех случаях, когда производительность и безопасность вызывают меньшие опасения. Они также стоят дешевле, чем гипервизоры первого типа и представляют собой идеальную платформу для тестирования. Например, разработчики программного обеспечения могут использовать гипервизор типа 2 для создания ВМ, чтобы протестировать программный продукт перед выпуском. Также они подходят для создания виртуальных рабочих столов. Гипервизоры типа 2 могут поддерживать большие и сложные кластерные среды.
Аппаратная поддержка гипервизоров типа 1 и типа 2
Для задач виртуализации широко доступны технологии аппаратного ускорения. К таким технологиям относятся Intel Virtualization для процессоров Intel и AMD Virtualization для процессоров AMD. Существует множество других расширений и функций на базе виртуализации, включая трансляцию адресов второго уровня и поддержку вложенной виртуализации.
Технологии аппаратного ускорения выполняют многие процессороемкие задачи, необходимые для создания виртуальных ресурсов на компьютере и управления ими. Аппаратное ускорение повышает производительность виртуализации, а количество виртуальных машин на компьютере превосходит то, что может сделать гипервизор в одиночку.
В гипервизорах Type 1 и Type 2 есть поддержка аппаратного ускорения, но в разной степени. Гипервизоры первого типа не работают без этих технологий. Гипервизоры второго типа, как правило, способны использовать технологии аппаратного ускорения при наличии таких возможностей, но обычно в них можно задействовать программную эмуляцию при отсутствии встроенной аппаратной поддержки.
Гипервизоры VMware
Тип 1 – VMware vSphere. Включает в себя гипервизор ESXi и программное обеспечение для управления vCenter, предоставляющее продукты для виртуализации, такие как vSphere Client, наборы для разработки программного обеспечения vSphere, Storage vMotion, распределенный планировщик ресурсов и средства обеспечения отказоустойчивости. VMware vSphere ориентирована на корпоративные ЦОД.
Fusion – это альтернатива Workstation. VMware Fusion предлагает многие из тех же возможностей, что и Workstation, но совместима с MacOS и снабжена меньшим количеством функций.
При выборе гипервизора системные администраторы должны учитывать тип и объем рабочих нагрузок. Для крупной организации, где нужно развернуть сотни ВМ, подойдет гипервизор типа 1. Если развертывание не такое масштабное или требуется тестовая среда, то гипервизоры типа 2 – менее сложные, дешевле стоят, а использовать их можно по мере необходимости.
Что такое гипервизор?
Гипервизор – это функция, которая абстрагирует (изолирует) операционные системы (ОС) и приложения от базового компьютерного оборудования. Эта абстракция позволяет базовому оборудованию хост-машины независимо управлять одной или несколькими виртуальными машинами в качестве гостевых, позволяя нескольким гостевым виртуальным машинам эффективно совместно использовать физические вычислительные ресурсы системы, такие как циклы процессора, пространство памяти и пропускная способность сети.
Гипервизор может использовать тот, кто хочет консолидировать пространство на сервере или запускать несколько изолированных приложений на одном сервере. Гипервизоры обычно поддерживаются в программном обеспечении виртуализации, таком как vCenter Server.
Типы гипервизоров
Гипервизоры традиционно реализуются как программный уровень, например VMware vSphere или Microsoft Hyper-V, но гипервизоры также могут быть реализованы в виде кода, встроенного во встроенное ПО системы. Существует два основных типа гипервизоров: гипервизоры типа 1 и типа 2.
Гипервизоры 1-го типа
Гипервизоры типа 1 развертываются непосредственно на аппаратном обеспечении системы без каких-либо базовых операционных систем или другого программного обеспечения. Такие гипервизоры называются «голыми» гипервизорами и являются наиболее распространенным и популярным типом гипервизоров для корпоративных центров обработки данных. Примеры включают vSphere и Hyper-V.
Гипервизоры 2-го типа
Гипервизоры типа 2 работают как программный уровень поверх ОС хоста и обычно называются размещенными гипервизорами, такими как VMware Workstation Player или Parallels Desktop. Размещенные гипервизоры часто встречаются на конечных точках, таких как персональные компьютеры.
Для чего используются гипервизоры?
Гипервизоры важны для любого системного администратора или системного оператора, потому что виртуализация добавляет важный уровень управления и контроля над центром обработки данных и корпоративной средой. Сотрудникам необходимо не только понимать, как работает соответствующий гипервизор, но и как выполнять связанные задачи управления, такие как конфигурация виртуальных машин, миграция и снимки файловой системы.
Роль гипервизора также расширяется. Гипервизоры хранилища, например, используются для виртуализации всех ресурсов хранения в среде для создания централизованных пулов хранения, которые администраторы могут выделять, не заботясь о том, где физически расположено хранилище. Сегодня гипервизоры хранилища являются ключевым элементом программно-определяемых хранилищ. Сети также виртуализируются с помощью гипервизоров, что позволяет создавать, изменять, управлять и уничтожать сети и сетевые устройства полностью с помощью программного обеспечения, не касаясь физических сетевых устройств. Как и в случае с хранилищем, виртуализация сети появляется в более широких программно-определяемых сетях или платформах программно-определяемых центров обработки данных.
История
В начале-середине 1960-х и 1970-х годов были созданы самые ранние формы гипервизоров. В 1966 году IBM выпустила свою первую производственную компьютерную систему – IBM System/360-67, которая была способна к полной виртуализации. IBM также начала производство своей системы CP-40 в 1967 году. Эта система работала на базе модифицированной системы S/360-40, которая обеспечивала возможности виртуализации. Эта система также позволяла запускать несколько пользовательских приложений одновременно, что раньше было невозможно. Система Control Program/Cambridge Monitor System от IBM была выпущена в 1968 году и просуществовала до 1970-х годов.
В 1970 году IBM выпустила System/370, которая добавила поддержку виртуальной памяти два года спустя, в 1972 году. С тех пор виртуализация стала функцией всех систем. Примерно в это же время больше членов сообщества начали использовать проекты с открытым исходным кодом для дальнейшей разработки виртуальных систем с гипервизорами.
В 1985 году IBM представила гипервизор Processor Resource/System Manager, который мог управлять логическими разделами. В середине 2000-х годов многие операционные системы, такие как Linux, Unix и Windows, начали поддерживать гипервизоры. Примерно в это же время началась премьера гипервизоров с лучшим оборудованием, стоимостью и возможностями консолидации. В 2005 году поставщики начали поддерживать виртуализацию продуктов x86.
Преимущества гипервизоров
Гипервизоры предоставляют корпоративным центрам обработки данных ряд преимуществ. Во-первых, способность физической хост-системы запускать несколько гостевых виртуальных машин может значительно улучшить использование базового оборудования. Если на физических (невиртуализированных) серверах может размещаться только одна ОС и одно приложение, гипервизор виртуализирует сервер, позволяя системе размещать несколько экземпляров виртуальных машин, каждый из которых работает с независимой ОС и приложением, в одной физической системе, используя гораздо больше доступных вычислительных ресурсов системы.
Виртуальные машины также очень мобильны. Абстракция, которая имеет место в гипервизоре, также делает виртуальную машину независимой от базового оборудования. Традиционное программное обеспечение может быть тесно связано с базовым серверным оборудованием – это означает, что перенос приложения на другой сервер требует длительной и подверженной ошибкам переустановки и перенастройки приложения. Для сравнения, гипервизор делает детали базового оборудования несущественными для виртуальных машин. Это позволяет перемещать или переносить виртуальные машины между любыми локальными или удаленными виртуализированными серверами – при наличии достаточных вычислительных ресурсов – практически по желанию с практически нулевым нарушением работы виртуальной машины; эту особенность часто называют живой миграцией.
Виртуальные машины также логически изолированы друг от друга, даже если они работают на одной физической машине. По сути, виртуальная машина не имеет собственных знаний или зависимости от других виртуальных машин. Ошибка, сбой или атака вредоносного ПО на одной виртуальной машине не распространяется на другие виртуальные машины на той же или других машинах. Это делает технологию гипервизора чрезвычайно безопасной.
Наконец, снимки файловой системы (снапшоты) позволяют мгновенно вернуть виртуальную машину в предыдущее состояние. Хотя снапшоты – или контрольные точки, как их называет Microsoft – не предназначены для использования в качестве замены резервных копий, они могут действовать как защитный механизм, особенно при выполнении обслуживания виртуальной машины. Если администратор собирается обновить ОС виртуальной машины, он может сделать снапшот перед выполнением обновления. В случае сбоя обновления администратор может восстановить моментальный снимок, чтобы мгновенно восстановить виртуальную машину в ее предыдущее состояние.
Таким образом, основные преимущества гипервизоров включают в себя:
Контейнеры и гипервизоры
Контейнеры могут показаться гипервизорами. Однако на гипервизорах размещаются виртуальные машины на основе ядра, предназначенные для создания среды, имитирующей набор физических машин. Каждая виртуальная машина содержит свою независимую ОС. Напротив, контейнеры могут совместно использовать ядро ОС, известное как базовый образ. Каждый контейнер запускает отдельное приложение или микросервис, но зависит от базового образа.
Microsoft предлагает два разных варианта контейнера. Можно построить традиционную контейнерную архитектуру поверх Windows Server, но есть также возможность создать развертывание контейнера Hyper-V, которое действует как гибридная среда. Он использует виртуальную машину в качестве основы для контейнерной инфраструктуры.
Kubernetes стал стандартным инструментом для управления контейнерами Linux в частных, общедоступных и гибридных облачных средах. Kubernetes – это система с открытым исходным кодом, созданная Google и первоначально запущенная в 2015 году. Kubernetes может автоматизировать планирование, развертывание, масштабирование и обслуживание контейнеров на узлах кластера.
Проблемы безопасности
Процесс безопасности гипервизора включает обеспечение безопасности гипервизора на протяжении всего его жизненного цикла, в том числе во время разработки и внедрения. Если злоумышленник получает несанкционированный доступ к гипервизору, управляющему программному обеспечению или программному обеспечению, которое управляет виртуальной средой, то этот злоумышленник потенциально может получить доступ ко всем данным, хранящимся на каждой виртуальной машине. Другие возможные уязвимости включают общие аппаратные кэши, сеть и потенциальный доступ к физическому серверу.
Вот общие методы обеспечения безопасности гипервизоров:
Поставщики гипервизоров и рынок
Сегодня доступно несколько основных гипервизоров, от бесплатных платформ до дорогих продуктов корпоративного уровня. Это самые распространенные гипервизоры:
Интернет-предприниматель, специалист по SEO и SMM, E-commerce, вебмастер, блогер.







