Введение в виртуализацию. Часть 2.

  • Автор:

introduction-to-virtualization-2-000.jpg

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Сразу оговоримся, что различные вендоры используют различные термины для обозначения одних и тех же технологий, что вносит определенную путаницу. Поэтому мы будем стараться придерживаться общих терминов либо использовать терминологию VMware и Microsoft как лидеров этого рынка. Что касается иных производителей, то в их системе понятий употребляемые нами термины и выражения могут иметь несколько иной смысл, поэтому при выборе того или иного продукта вам следует внимательно изучить его описание и документацию.

Настольная виртуализация

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

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

К наиболее ярким представителям этого семейства относятся VMware Workstation и менее функциональный, зато бесплатный, VMware Player. По сути они являются единственными и неоспоримыми лидерами в данной категории предоставляя на десктопе все возможности современных платформ виртуализации корпоративного уровня. Созданные с их помощью виртуальные машины могут быть впоследствии размещены на серверных средствах виртуализации. Мы уже продолжительное время (начиная с версии 4.0) используем VMware Workstation как основу нашей тестовой лаборатории, которая в данный момент насчитывает около 60 виртуальных машин.

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

Серверная виртуализация

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

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

introduction-to-virtualization-2-001.jpg

Наиболее крупные игроки на этом рынке: VMware c vSphere ESXi Hypervisor и Microsoft c Hyper-V, также стоит отметить Citrix Xen и Red Hat Enterprise Virtualization (на базе KVM). Все перечисленные продукты являются полноценными средствами серверной виртуализации и поддерживают самый широкий спектр возможностей и все основные современные ОС в качестве гостевых.

Виртуализация на уровне операционной системы

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

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

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

introduction-to-virtualization-2-002.jpg

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

Наиболее популярным решением для данного типа виртуализации является OpenVZ и коммерческий продукт на его основе Parallels Virtuozzo Containers, последнее время приобретает известность разрабатываемый при поддержке IBM LXC, на аналогичных принципах работают FreeBSD Jail и Solaris Containers.

Виртуализация настольных компьютеров

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

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

Дополнительный плюс для администраторов - централизованное управление парком виртуальных ПК, возможность оперативно перераспределять ресурсы, высокая отказоустойчивость, а консолидация рабочих станций значительно снижает стоимость владения.

introduction-to-virtualization-2-003.jpg

Постойте, скажет внимательный читатель, а чем это принципиально отличается от терминального доступа? Действительно, данные технологии имеют много общего, но также имеется ряд существенных отличий.

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

introduction-to-virtualization-2-004.jpg

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

introduction-to-virtualization-2-005.jpg

Технологии виртуализации настольных ПК представлены такими продуктами как VMware View, Microsoft Enterprise Desktop Virtualization (MED-V) и Citrix XenDesktop.

Виртуализация приложений

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

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

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

introduction-to-virtualization-2-006.jpg

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

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

Для виртуализации приложений можно использовать такие продукты как VMware ThinApp, Microsoft Application Virtualization (App-V) или Citrix XenApp.

Заключение

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments