Виртуализация, виртуальные машины и их разновидности

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

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

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

Что дает виртуализация

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

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

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

В хостинге виртуализация помогает решать задачи с распределением вычислительных ресурсов между клиентами. Работа небольших сайтов не требует больших мощностей — заводить под размещение малых веб-проектов отдельный физический сервер с ограниченными ресурсами невыгодно и неэффективно. Гораздо разумнее «делить» один мощный сервер на несколько виртуальных машин (в том числе с разным количеством ресурсов) и предоставить в пользование клиентам в зависимости от их задач и потребностей.

Основные понятия

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

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

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

Хост виртуализации (родительский сервер) — физический сервер с запущенным на нем гипервизором.

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

Типы виртуализации

С точки зрения реализации технологии, виртуализация делится на:

  • программную (на уровне ОС),
  • аппаратную.

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

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

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

Гипервизоры делятся на две группы — в зависимости от типа виртуализации. Рассмотрим их плюсы и минусы. 

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

Плюсы

Минусы

Быстрая развертка виртуальной машины за счет того, что ОС, как правило, не устанавливается — просто распаковывается шаблон со всеми заданными параметрами.

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

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

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

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

 

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

Аппаратные гипервизоры

Плюсы

Минусы

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

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

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

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

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

 

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

Топ популярных гипервизоров

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

Virtuozzo  OpenVZ

Тип виртуализации — программная.
Использование — базовые VM для тестов, недорогой хостинг.
Распространение — бесплатная базовая версия (OpenVZ), платные с расширенным набором функций.

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

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

Кроме того, платное решение от Virtuozzo — дорогое, а бесплатный OpenVZ не поддерживает современные ядра Linux, что сильно ограничивает выбор ОС для установки на виртуальные машины. Поэтому сегодня гипервизор уже не так популярен, как раньше.
 

Xen (XenServer, Citrix Hypervisor)

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

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

Oracle VM VirtualBox

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

Кроссплатформенный гипервизор для операционных систем Linux, macOS, FreeBSD и др. Базовая версия с открытым исходным кодом распространяется по лицензии GNU GPL, чем объясняется высокая популярность гипервизора. Отличительная особенность гипервизора — возможность работы с 64-битными гостевыми ОС, даже если ОС хоста 32-битная. Является одним из самых популярных решений для тестов различных ОС и приложений под них в рамках локального компьютера разработчика или тестировщика, но одним из самых неудобных решений в плане автоматизации создания виртуальных машин и использования их для хостинга.

Microsoft Hyper-V

 

 

Тип виртуализации — аппаратная.
Использование — виртуальные машины с Windows, использование иных продуктов Microsoft.
Распространение — платно.

Стандартно в ОС Windows Server есть роль для установки Hyper-V, которая позволяет создавать виртуальные машины (две в редакции Windows Standard и неограниченно в редакции Datacenter). Здесь стоит учитывать лицензионную политику Microsoft — стоимость лицензий отличается для разных редакций и зависит от количества физических ядер. Гипервизор Hyper-V Server создавался специально для того, чтобы пользователи могли организовать виртуализацию без оплаты лицензии на ОС. Однако это не относится к ОС Windows на виртуальных машинах — если разворачиваете ее на VDS, то лицензирование обязательно. 

VMware ESXi

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

В основе гипервизора находится упрощенное Linux-ядро VMkernel, с необходимыми для виртуализации технологиями и приложениями. Входит в продукт VMware vSphere. Лицензия приобретается на каждое физическое ядро процессора сервера. Объем ОЗУ и виртуальных машин не учитываются при расчете стоимости лицензии.

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

QEMU KVM

Тип виртуализации — аппаратная.
Использование — быстрый и упрощенный переход к виртуализации на Linux-системах, хостинг различных конфигураций.
Распространение — бесплатно.

Open-source гипервизор: предназначен для серверов на базе Linux/x86, поддерживает аппаратные расширения (Intel-VT и AMD-V). Первоначально работал только с архитектурой x86, но актуальные версии KVM поддерживают различные CPU и гостевые ОС, в т.ч. Windows, Linux, BSD и пр. Богатая функциональность KVM сделала его популярным и широко распространенным.

В настоящее время гипервизор активно используется во многих сетевых проектах, в том числе и в FirstVDS. Прочитать подробнее о виртуализации KVM можно здесь.

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!