Такая полезная виртуализация
2 сентября 2011
Рубрика: Технологии. Тэги:
Автор: Илья Рубинчик.

mars_2_09_2011

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

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

Для начала определимся с терминами. Заглянем в Википедию:

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

Хорошо, нам посулили некие преимущества. Читаем дальше.

«Виртуализация на уровне операционной системы — виртуализирует физический сервер на уровне ОС, позволяя запускать изолированные и безопасные виртуальные серверы на одном физическом сервере».

Здесь тоже, в целом, все понятно: на одном физическом сервере, под уже установленным, например, Windows Server 2008, можно запустить еще несколько серверов, причем с практически любой операционной системой. Понятно, зачем это нужно: подобно человеческому мозгу, центральный процессор компьютера большую часть времени работает с низкой эффективностью, около 5-10%, а то и меньше. Логично было бы добиться его постоянной загрузки полезной работой хотя бы на 60%. Однако этот тип виртуализации все же не самый лучший, потому что он не позволяет так эффективно управлять ресурсами физического сервера, как…

Аппаратная виртуализация
Существуют два основных подхода к виртуализации серверов. Эти подходы могут также сочетаться друг с другом:
1. размещение нескольких логических серверов в рамках одного физического (консолидация);
2. объединение нескольких физических серверов в один логический для решения определенной задачи.

В первом случае основной целью является как можно более полное использование процессоров одного физического сервера, во втором — объединение вычислительных ресурсов нескольких процессоров нескольких серверов в один «супер-процессор». Происходит это так: на «голом» железе («bare metal») запускается специальное микроядро, называемое «тонким гипервизором». Все его функции заключаются в разделении ресурсов между запущенными виртуальными машинами («гостями») и, в отличие от виртуализации на базе операционной системы вроде Windows Server 2008, гипервизор на свои собственные нужды не требует практически никаких ресурсов.

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

Резюме. Опять вызываем на помощь Википедию. Всего существует три типа систем виртуализации (мониторов виртуальных машин).

Тип 1) — Тонкий, или Автономный гипервизор. Запускается на голом железе, позволяет достичь максимальной производительности. У нас он пока назывался «вторым» методом.
Тип 2) — Гипервизор на основе базовой ОС. Требует для работы установленной ОС, использует ресурсы базовой ОС для доступа функций гостевым машинам (наш «первый» метод). Полностью эмулирует железо на программном уровне.
Тип 3) — Гибридный режим. Содержит автономный гипервизор, но в нем не реализовано 100% функций по управлению железом. Как правило, он контролирует только процессор и память. Взамен используется дополнительная виртуальная машина, «сервисная ОС», которая предоставляет функции другим гостям как в типе 2. Также этот метод иногда называется «паравиртуализация» (об этом чуть позже).

Строго говоря, существуют гипервизоры типов 2 и 3 с поддержкой функций аппаратной виртуализации, т.е. использующие спец. режимы процессоров AMD и Intel (AMD SVM и Intel-VT), но все же они требуют для своей работы основную хостовую ОС, на поддержку работы которой могут тратиться весьма существенные ресурсы.

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

1) VMware ESXi/ESX/vSphere.
2) Microsoft Virtual PC, QEMU, VMware Workstation/Fusion, VirtualBox, KVM, Parallels PC.
3) Microsoft Hyper-V, Xen.

Теперь кратко, тезисами поговорим о том, зачем же все это нужно.

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

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

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

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

mars_2_09_2011_1

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

Кроме описанного выше, нам становятся доступны…

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

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

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

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

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

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

Удобство администрирования
Системному администратору больше не нужно постоянно бегать в серверную и переключать кабели в KVM. Консоли виртуальных машин доступны администратору по сети в любой ее точке. Настройки BIOS теперь тоже меняются удаленно. Кстати, загрузить виртуальную машину можно с любого носителя, даже с ISO образа, лежащего на рабочей машине администратора.

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

Сокращение операционных расходов на администрирование рабочих мест
Виртуализация рабочих мест (Desktop Virtualization) позволяет значительно уменьшить накладные расходы на IT-команду и одновременно легко предоставить пользователям типовое окружение. Процесс обновления ПО станет одновременно и гораздо проще, и намного быстрее. Разделение ресурсов для пользователей позволяет снизить расходы на рабочие места, ведь тонкие клиенты универсальны для всех пользователей, независимо от их задач. Задачи, решаемые пользователями, и набор необходимого им ПО, обычно типовые, а количество пользователей в любой организации будет намного превышать количество физических серверов для поддержания их работы.

Высвобождение ресурсов локальной сети
При виртуализации рабочих мест отпадает надобность передавать «тяжелый» контент приложений по локальной сети. Терминальная сессия тонкого клиента потребляет менее 256 Кбит/с трафика.

mars_2_09_2011_2

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

Специалисты Mars Solutions с удовольствием помогут вам в этом!

mars_2_09_2011_3

Илья Рубинчик, CCVP, CCIE voice written, сертифицированный инженер Tandberg, SAF Tehnika, HP AIS Blade systems – главный инженер компании Mars Solutions, специалист в области объединенных коммуникаций, телефонии и ВКС.

mars_28_06_2011_4

Компания Mars Solutions (http://www.followmars.com) является системным интегратором в области информационных технологий и телекоммуникационных решений на территории стран СНГ и Монголии. Приоритетные направления работы компании – объединенные коммуникации, телефония, ВКС и системы видеонаблюдения, информационная безопасность, системы хранения данных. В нашем штате имеются высококвалифицированные инженеры, в т.ч. Cisco CCIE по информационной безопасности и Cisco CCIE по маршрутизации и коммутации, а также собственная лаборатория с богатым набором оборудования различных производителей.

Orphus system
В Telegram
В Одноклассники
ВКонтакте