Гипервизор — это процесс, который помогает разделить операционную систему и запущенные приложения от аппаратной части. Обычно речь идет о специальном программном обеспечении. Но существуют встроенные гипервизоры. Они доступны с самого начала, а не запускаются после развертывания системы.
Гипервизор — это то, благодаря чему развивается концепция виртуализации. Аппаратная виртуализация — это возможность управлять несколькими виртуальными машинами (ВМ) на одном устройстве. Они превращаются в гостевые системы.
Пример использования виртуализации — аренда виртуального сервера у хостера. На одном устройстве располагается несколько изолированных пространств. На них может быть установлено разное ПО. Это увеличивает эффективность использования ресурсов. Память, вычислительная мощность, пропускная способность распределяются между виртуальными серверами, а не простаивают в ожидании нагрузки.
Виртуализация не ограничивается серверами. Гипервизоры хранилища используют ее для хранения данных. Они работают на физическом оборудовании как ВМ, внутри системы или в другой сети хранения. Гипервизоры также помогают виртуализировать рабочий стол, отдельные приложения.
Виртуализацию стали использовать с 60-х годов XX века. В большинстве своем среда виртуализации применялась на мейнфреймах от IBM. Разработчики использовали ее для тестирования идей, а также для изучения и совершенствования аппаратных концепций. Благодаря этому появилась возможность разворачивать системы и исправлять ошибки без угроз для стабильности основного оборудования.
В начале нового тысячелетия виртуализация получила мощный импульс благодаря повсеместному внедрению в ОС семейства Unix. Причин массового распространения было несколько:
Это привело к массовости. Системы виртуализации с тех пор используют не только для решения сложных инженерных задач, но и для простого разделения ресурсов и даже домашних развлечений.
Несмотря на то, что виртуальные машины работают на одном устройстве, логически между ними выстроены границы. Эта изолированность защищает от угроз. Если одна виртуальная машина выходит из строя, другие продолжают работать.
Еще один огромный плюс — мобильность. ВМ независимы от оборудования. Хотите перенести среду на другой сервер — без проблем. Нужно развернуть ВМ на локальном компьютере — тоже несложная задача. Меньше связи с оборудованием — меньше зависимостей.
Наконец, экономия ресурсов. Хостер рациональнее распоряжается оборудованием, предоставляя один физический сервер нескольким клиентам. Машины не простаивают, а всеми своими мощностями приносят пользу. Клиенты не переплачивают за физическое оборудование, одновременно получая возможность быстро и удобно масштабироваться, если возникнет такая необходимость.
При классификации решили не включать фантазию и назвать типы просто — 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.
Границы между автономными и хостовыми гипервизорами постепенно стираются. Однако пока еще можно определить тип. Впрочем, практической надобности в этом обычно нет.
Типы виртуализации — не единственное отличие. Гипервизоры решают разные задачи, у них отличаются аппаратные требования, есть особенности лицензирования.
Бесплатный гипервизор для серверов под управлением ОС Windows. Его особенности:
Hyper-V применяет шифрование для защиты виртуальных машин, а также позволяет уменьшать и расширять дисковое пространство. Среди недостатков — нет USB Redirection, нужного для подсоединения USB-устройств к виртуальным хостам. Вместо него используется Discrete Device Assignment, которая, однако, не является полной заменой.
VMware – это технология виртуализации, созданная одноименной американской компанией. Она применяется для организации работы виртуальных серверов.
Многие знают про ESXii, что это аппаратный гипервизор, который построен на основе облегченного Linux-ядра VMkernel. Оно содержит все необходимые инструменты виртуализации.
Для работы необходимо приобретать лицензию для каждого физического процессора. При этом не имеет значения, каким будет объем ОЗУ и сколько виртуальных машин вы собираетесь запустить на своем оборудовании.
У VMware есть бесплатные инструменты виртуализации. Однако их возможностей недостаточно для профессионального применения. Например, API работает только на чтение, а количество vCPU не должно превышать восьми. Кроме того, нет инструментов для управления бэкапами. Это приводит к тому, что VMware неприемлем для корпоративного сектора.
Гипервизор VMware Workstation создан в 1999 году. Сейчас это средство виртуализации для компьютеров x86-64 с Windows и Linux. Гипервизор поддерживает более двух сотен гостевых ОС. У VMware Hypervisor есть бесплатная версия с усеченной функциональностью, которую обычно используют для знакомства и проведения тестов.
Опенсорсный инструмент, который предназначен для серверов на базе Linux/x86. Поддерживаются также расширения Intel-VT и AMD-V.
Гипервизор KVM достаточно популярен. Применяется во многих сетевых проектах: финансовых сервисах, транспортных системах, встречается даже в государственном секторе. KVM интегрирован в ядро Linux, поэтому работает быстро. Однако недостатки тоже есть.
Встроенные сервисы с точки зрения функциональности не сравнимы с решениями других гипервизоров. Для добавления возможностей приходится брать сторонние решения, например SolusVM.
KVM дорабатывается сообществом независимых разработчиков, так что постепенно недостатков в его работе становится меньше. Качество гипервизора подтверждают и хостинг-провайдеры, которые выбирают его для виртуализации на своем оборудовании.
Xen — кроссплатформенное решение, которое поддерживает аппаратную виртуализацию и паравиртуализацию. Отличается минимальным объемом кода. Для расширения функциональности используются модули. Открытый исходный код позволяет любому специалисту модифицировать Xen под свои нужды.
Oracle VM VirtualBox – это кроссплатформенный гипервизор для Виндовс, Линукс, МакОС и других систем. Немногие знают про VirtualBox, что это решение изначально было разработано компанией Sun Microsystems, однако позднее корпорация Oracle выкупила его и продолжила развитие под своим брендом.
Один из самых популярных гипервизоров, особенно в массовом сегменте. Это связано в том числе и с тем, что у VM VirtualBox открытый исходный код. Программа распространяется по лицензии GNU GPL.
Отличительная особенность — даже на 32-битной системе хоста можно работать с 64-битными гостевыми ОС.
Гипервизорам часто противопоставляют контейнеры. Они позволяют развернуть большее количество приложений на одном устройстве.
Вы уже знаете, что такое гипервизор и по какому принципу он работает. Проблема в том, что ВМ забирают много ресурсов. Для работы нужно сделать копию операционной системы, а еще полную копию оборудования для функционирования этой системы. Если выделить под ВМ условные 4 ГБ ОЗУ, то на основном устройстве будет на 4 ГБ ОЗУ меньше.
В отличие от ВМ, контейнер использует только ресурсы операционной системы. Еще ему нужны мощности для запуска конкретного приложения. Но все равно их требуется намного меньше, чем для работы целой ОС.
Но контейнеры не могут полностью заменить ВМ. В том числе из-за повышенного риска потери всех данных. Контейнеры находятся внутри операционной системы. Если хост подвергается атаке, все контейнеры могут быть повреждены или утеряны.
Сервер виртуализации создает несколько виртуальных машин. Они не взаимодействуют друг с другом, между ними четкие границы. Если атаковать одну машину, другие останутся в безопасности. Вместе со всем содержимым.
Гипервизоры безопаснее, чем контейнеры. Однако у них все равно есть проблемы. Теоретически можно создать руткит и вредоносное приложение, которое устанавливается под видом гипервизора.
Подобный взлом называется гиперджекингом. Его трудно обнаружить. Защита не срабатывает, потому что вредоносное ПО уже установлено и перехватывает системные действия. Система продолжает работать, а пользователь даже не подозревает о проблемах.
Чтобы обезопасить систему от руткитов, специалисты разрабатывают различные подходы, которые защищают ее без негативного влияния на производительность.
Выбор большой: VMware или VirtualBox, Hyper-v или KVM. Универсальная рекомендация одна — ориентироваться на задачи. Если нужно протестировать операционную систему в виртуалке на домашнем компьютере, то подойдет VirtualBox. Если ищете решение для организации серверной сети корпоративного уровня, то фокус смещается уже в сторону инструментов VMware.
Миграция между гипервизорами возможна. Например, на timeweb.cloud можно предоставить в поддержку образ сервера. Специалисты сконвертируют его в KVM и запустят на виртуальной машине.