Представьте, что ваш компьютер работает на Windows, но вы хотите познакомиться с Linux, чтобы понять, стоит ли на неё переходить. Для этого можно пойти ещё дедовским путём: скачать систему на флешку, после чего загрузиться с неё на компьютер и поставить вторую ОС. Это вполне рабочая схема, но неудобная, если нужно одновременно работать в разных ОС. Приходится постоянно перезагружаться, терять время.
А можно использовать технологии виртуализации и поставить Linux на виртуальную систему при помощи гипервизора. Гипервизор если говорить упрощённо — это решение, которое умеет превращать часть реальных компьютерных мощностей в начинку для виртуальной системы. ТО есть отщипывает от имеющегося железа нужное количество ресурсов и собирает в виртуальном компьютере.
Заметим, что как самостоятельный термин виртуализация появилась в 1960-70 годах, когда IBM и MIT проводили исследования в сфере совместного использования вычислительных ресурсов группами пользователей. А в наше время эта технология стала важной частью IT. Наиболее известными компаниями, работающими с виртуализацией, являются VMware, Microsoft, Citrix и Oracle. А ещё популярна аппаратная виртуализация Bluestacks, используемая для эмуляции Android-систем. Из российских аналогов можно вспомнить платформу виртуализации РУСТЭК.
Аппаратная виртуализация и её особенности
Аппаратная виртуализация предполагает установку гипервизора или диспетчера виртуальных машин с целью создания промежуточного звена между ПО систем виртуализации и непосредственно железом. Наибольшее распространение в мире получили гипервизоры VMware vSphere на основе ESXi и Microsoft Hyper-V.
После установки гипервизора программные решения получают информацию о виртуализированных мощностях и предоставляют возможность управления ими. Виртуализированные ресурсы собираются в группы, которые называют виртуальными машинами. На развёрнутую ВМ можно поставить любую ОС и все необходимые приложения.
Виртуализация поддерживает возможность одновременного создания сразу нескольких ВМ, которые обособлены друг от друга и никак не пересекаются. Так что даже если какая-то ВМ будет скомпрометирована или выйдет из строя, соседние ВМ не пострадают.
Аппаратная виртуализация отличается от программной тем, что гипервизор сам становится хост-системой, на которой запускается виртуализация. Можно сказать, что это своеобразная ОС, главная задача которой заключается в обеспечении возможности запуска на ней любых других ОС со свободным доступом к железу.
Но для аппаратной виртуализации важно, чтобы у процессора и материнской платы была поддержка виртуализации на аппаратном уровне. Тогда они помогут гипервизору правильно распределять процессорные мощности и настраивать доступ к памяти разных систем. Иногда для работы технологии необходимо включить виртуализацию в биосе.
Технологии двух крупных производителей (Intel VT и AMD-V) обеспечивают аппаратную поддержку виртуализации на уровне процессора. Основное направление развития в них — CPU Virtualization, которое позволяет запускать на одном процессоре сразу несколько систем, способные работать параллельно и с разным уровнем вложенности.
Отдельное направление — виртуальное графическое представление и технология ввода-вывода, необходимые для удалённого доступа или совместного использования физического оборудования.
Типы аппаратной виртуализации
Различают три основных подхода к аппаратной виртуализации ИТ-инфраструктуры.
- Полная виртуализация. Полная имитация оборудования, за счёт чего образуется среда, которую можно запустить на разных серверах без долгой настройки.
- Паравиртуализация. Создание специальной версии операционной системы для виртуальной машины. Эта ОС меняется или пересобирается в зависимости от того, какие ресурсы предоставляет сервер.
- Представление с аппаратной поддержкой. Виртуальная машина полностью виртуализирована и создаётся на базе аппаратного обеспечения компьютера.
Выбор типа виртуализации определяется текущими потребностями компании.
Преимущества аппаратной виртуализации
Если коротко, то главное преимущество виртуализации — исключительная гибкость, настраиваемость виртуальной инфраструктуры. Конфигурация ВМ полностью контролируется гипервизором. Достаточно выбрать нужные устройства в настрйоках, залить шаблон или образ нужной системы, после чего можно запускать виртуальную машину.
Важно, даже если вы делаете это на процессоре с 32-битной архитектурой, аппаратная виртуализация позволяет создать ВМ с 64-битной архитектурой. Очень удобно.
Аппаратная виртуализация хороша тем, что внешние приложения не отличают ВМ от физического устройства. Гостевые ОС запускаются на процессоре без виртуализации и не знают о других ОС, которые находятся на одном уровне с ними.
Есть и другие преимущества:
- Экономичность. Благодаря виртуализации снижаются расходы на покупку, установку, настройку и последующее обслуживание локального оборудования. Вместо приобретения нескольких «железных» серверов можно задействовать одну производительную машину, на которой развернуть несколько ВМ с разным объёмом ресурсов и задачами.
- Гибкость. Нужную конфигурацию виртуальной машины можно сохранить как шаблон, после чего быстро развёртывать на разном оборудовании.
- Масштабируемость. В любой момент можно создать нужное количество ВМ, задать нужные параметры производительности.
- Отказоустойчивость. В любой момент можно сделать снапшот виртуальной машины, настроить географически распределённое хранилище резервных копий, чтобы даже при критическом сбое части оборудования не рушилась вся инфраструктура. Всё будет работать и дальше, просто придётся выделить больше ресурсов на функционирующие виртуальные компоненты инфраструктуры.
- Безопасность. Виртуальные машины обособлены друг от друга и не потребляют «чужие» ресурсы. Если одна из машин будет взломана, другие это никак не затронет.