Виртуализация: Ближайшее будущее ИТ-индустрии

Виртуализация: Ближайшее будущее ИТ-индустрии

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

Введение

Виртуализация — это средство для организации работы на одной реальной ЭВМ нескольких виртуальных. По ряду причин на одном ПК не могут одновременно выполняться более одной операционной системы. Для преодоления этой преграды на сегодняшний день разработано множество продуктов (систем виртуализации), использующих разные технологии виртуализации и преследующих различные цели. Вообще, виртуализация — технология далеко не новая. Впервые, технология была использована ещё в 60-е годы прошлого века фирмой IBM на своём мэйнфрэйме System/360™ Model 67. В Model 67 все интерфейсы оборудования были виртуализированны через Virtual Machine Monitor (VMM). Надобность в данной технологии отпала, когда архитектура x86, не поддерживающая виртуализацию, захватила рынок. Сейчас же, с колоссальным ростом производительности ЭВМ, про технологию снова вспомнили.

Области применения

В области применения виртуализации входят:
Консолидация серверов
На сегодняшний день загрузка физических серверов составляет в среднем всего около 5-15%. Поэтому объединение множества виртуальных серверов под крылом одного физического позволяет куда более эффективно использовать вычислительные ресурсы, увеличив загрузку до 60-80%. Данный шаг позволяет компаниям экономить на оборудовании, электроэнергии и обслуживании.
Разработка и тестирование
Виртуализация оказалась очень полезным инструментом в руках системных программистов, разрабатывающих, например, ОС или драйвера устройств, избавив их от постоянных перезагрузок. Не остались обделены и программисты, создающие кросс-платформенный код — с виртуализацией они могут отлаживать его сразу в нескольких различных ОС. Специалисты по информационной безопасности могут поместить подозрительный код в виртуальную среду и изучать его поведение без угрозы для реальной среды. Это очень удобно и людям, далёким от ИТ — у них имеется возможность запускать ПО независимо от ОС, для которой оно разработано (например, можно запускать программу Windows в Linux).
Тестовые лаборатории и обучение
За счёт простоты развёртывания виртуальных машин, они часто используются для построения тестовых стендов, а также для обучения новым продуктам и технологиям.
Распространение предустановленного ПО
Многие разработчики программных продуктов создают готовые образы виртуальных машин с их уже предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе.

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

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

Полная виртуализация
Модель полной виртуализации использует виртуальную машину, осуществляющую связь между гостевой ОС и родными аппаратными средствами. Основное преимущество этого метода состоит в том, что в гостевую ОС не вносится никаких изменений для работы в качестве гостевой. Из-за посредничества гипервизора между гостевой ОС и оборудованием сильно страдает производительность.
Паравиртуализация
Паравиртуализация сходна с полной виртуализацией: используется гипервизор для разделения доступа к оборудованию, но виртуальная машина не симулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальное API. Различие состоит в том, что код, касающийся виртуализации, встраивается непосредственно в гостевую ОС — и это главный недостаток данного метода, но он нивелируется производительностью, сравнимой с реальной системой. Ко всему прочему, появление технологий аппаратной виртуализации Intel VT и AMD SVM в их процессорах позволило запускать немодифицированную ОС (в том числе и Windows) на системе паравиртуализации (например, в Xen). Эти технологии обеспечивают прямой доступ виртуальных ОС к физическим устройствам через канал DMA.
Виртуализация на уровне операционной системы
В данном случае виртуализируется физический сервер на уровне ОС, позволяя запускать изолированные и безопасные виртуальные серверы на одном физическом сервере. Недостатком данного метода можно отметить необходимость внесения изменений в ядро ОС, но при этом имеется огромное преимущество — это родная производительность.

Продукты и решения

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

VirtualBox — программный продукт виртуализации для операционных систем Microsoft Windows, DOS, GNU/Linux, Mac OS X и SUN Solaris/OpenSolaris.
Виртуализация: Ближайшее будущее ИТ-индустрии
К ключевым возможностям VirtualBox можно отнести:
* Кроссплатформенность
* Модульность
* Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых ОС (только в проприетарной версии)
* Поддержка 64-битных гостевых систем (только на 64-битных хост-системах)
* Встроенный RDP-сервер, а также поддержка клиентских USB-устройств поверх протокола RDP (только в проприетарной версии)
* Экспериментальная поддержка образов жестких дисков VMDK/VMware
* Поддержка iSCSI (только в проприетарной версии)
* Поддержка виртуализации аудиоустройств
* Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
* Поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы
* Поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами

QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ.
Виртуализация: Ближайшее будущее ИТ-индустрии
Включает в себя эмуляцию процессоров Intel x86, устройства ввода-вывода. Может эмулировать 386, 486, Pentium, Pentium Pro, AMD64 и другие x86-совместимые процессоры, PowerPC, ARM, MIPS. SPARC, SPARC64, m68k — лишь частично.
Читать далее

Xen — «паравиртуальный» монитор виртуальных машин (VMM), или гипервизор. Xen способен поддерживать одновременную работу большого числа виртуальных машин на одной физической, при этом не тратя значительных вычислительных ресурсов.
Виртуализация: Ближайшее будущее ИТ-индустрии
Читать далее
Виртуализация с помощью Xen в Linux

VMware Workstation — программа, позволяющая создавать и запускать одновременно несколько Виртуальных Машин (x86-архитектуры), в каждой из которых работает своя гостевая операционная система (например, Microsoft Windows, GNU/Linux и т. п.).
Виртуализация: Ближайшее будущее ИТ-индустрии
Также позволяет создавать снимки гостевой ОС. Помимо VMware Workstation компания Vmware выпускает и другие продукты виртуализации, такие как VMware Server, VMware ESX Server, VMware VirtualCenter, VMware ACE и VMware Player. Почитать о них можно здесь.

Microsoft Virtual PC — это программный пакет виртуализации для операционной системы Windows, а также программа эмуляции для Apple MacOS. Продукт специализирован на виртуализации операционных систем компании Microsoft.
Виртуализация: Ближайшее будущее ИТ-индустрии

Официальные ресурсы

Ссылки на официальные ресурсы производителей решений виртуализации

Сайты, посвящённые виртуализации

Статьи

Что почитать