Тестирование ПО

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

У пользователей Linux или Mac иногда возникает потребность в запуске программ, работающих только в Windows, а у Windows-пользователей, особенно программистов, потребность в запуске Linux или другой версии Windows. Классический пример — игры или Photoshop.

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

Виртуализация

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

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

ОС, внутри которой стартует другая ОС, называется хост-системой, (host) а ОС, которая работает в виртуальном окружении — гостевой (guest).

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

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

Аппаратная виртуализация

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

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

VMwarevSphere- флагманский продукт компании VMware безусловного лидера по доли рынка виртуализации уже много лет подряд. Имеет широкий функционал и специально создана для дата центров предоставляющих облачные решения и компаний строящих частные облака различных масштабов. Имеет продуманный интерфейс и большое количество технической документации. Если у вас мало опыта в работе с виртуализацией эта система будет хорошим выбором для вас. Лицензируется по количеству физических процессоров в облаке независимо от количества ядер. В виду обширного функционала и множества модулей данная система достаточно требовательна к ресурсам необходимым для ее работы.

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

Hyper-V— продукт компании Microsoft разработанный как дополнение к OS Windows server, начиная с версии 2008 года. Так же существует в виде отдельного продукта, однако использующий для работы OS Windows server. Данный гипервизор достаточно прост в настройке и эксплуатации, и разумеется, поддерживает все версии OS Windows для гостевых машин, однако производитель не гарантирует работу многих OS Linux. Обращаем внимание, что сам гипервизор распространяется по бесплатной лицензии, но для работы требует платной OS Windows.

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

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

Контейнерная виртуализация

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

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

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

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

Хостинг

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

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

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

0 0 vote
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments