В последнее время все большее и большее количество средних и крупных компаний, не только в ИТ-отрасли, проявляют интерес к серьезным системам виртуализации, развивающимися быстрыми темпами. Рост аппаратных мощностей компьютеров и малая средняя загруженность большинства серверов (около 10-20 процентов) заставляют задуматься о консолидации нескольких виртуальных систем на одной физической платформе. Помимо этого, управление большим парком серверов в крупных организациях вызывает большие трудности, особенно, когда дело доходит до миграции на другое оборудование. Многие серверные узлы компаний должны быть доступны в режиме 24×7×365, и при выходе из строя оборудования, поддерживающего их, компания может понести многомиллионные убытки. Технологии виртуализации, так активно пропагандируемые сейчас как разработчиками программных платформ, так и производителями процессоров, позволяют решить эти проблемы и существенно повысить гибкость ИТ-инфраструктуры компании, не внося изменений в ее повседневную деятельность.
Владельцы крупных датацентров также возлагают большие надежды на виртуализацию, которая за счет размещения нескольких виртуальных серверов на одном физическом позволит не только экономить деньги на оборудовании, но и существенно снизить затраты на электроэнергию, содержащие электропитание и охлаждение серверов. Тем не менее, стоимость серьезных виртуализационных решений для крупных компаний, таких как VMware Infrastructure 3 на базе VMware ESX Server (более 5000 долларов за корпоративное издание), не позволяет многим компаниям начать проект по виртуализации, поскольку они не могут оценить возвращение своих инвестиций в платформу виртуализации. Поэтому CIO крупных предприятий присматриваются не только к лидеру отрасли VMware, но и к системам других участников рынка.
В данный момент в корпоративном секторе коммерческих платформ виртуализации присутствуют также компании: XenSource с продуктом Xen Enterprise, SWSoft с продуктом Virtuozzo, Microsoft c бесплатной платформой Virtual Server и компания Virtual Iron, предлагающая решение на основе Xen. Каждый из перечисленных продуктов на данный момент занимает свою нишу в сфере решений для виртуализации серверов, однако реальную конкуренцию VMware ESX Server могут составить только продукты Xen Enterprise и Virtual Iron, поскольку Virtuozzo реализует виртуализацию на уровне экземпляров операционных систем и является негибким решением, а Virtual Server пока не имеет серьезных средств для поддержки большой виртуальной инфраструктуры.
О платформе Virtual Iron
Компания Virtual Iron не так давно появилась на рынке технологий виртуализации, но с самого начала активно пробивает дорогу в сфере корпоративных платформ. С самого начала Virtual Iron начала сотрудничать с ведущими компаниями-производителями процессоров, Intel и AMD, делая ставку на аппаратную виртуализацию. Аппаратная виртуализация представляет собой включение в процессоры новых инструкций и режимов работы, позволяющих виртуальным системам напрямую взаимодействовать с оборудованием. Такая модель позволяет существенно сократить затраты на разработку платформы виртуализации (менее 50 000 строк кода) и повысить надежность и защищенность виртуальных машин. Открытая платформа Xen, на основе которой построен продукт Virtual Iron, ориентирована, в основном, на техники паравиртуализации, предполагающие изменение ядра виртуальной (гостевой) системы. Однако компания Virtual Iron отказалась от применения этих техник и, как оказалось, не зря: большинство разработчиков операционных систем не приняли идею поддержки паравиртуализованных ядер, и сама технология паравиртуализации переживает глубокий кризис, несмотря на то, что компания XenSource прилагает серьезные усилия в этом направлении, а VMware включила в последние версии своих продуктов поддержку паравиртуализованных систем.
Вместо этого, Virtual Iron сконцентрировалась только на поддержке аппаратных техник виртуализации Intel VT и AMD-V, и сейчас ее продукты могут быть использованы только на платформах с поддержкой этих техник. Практически все процессоры, вышедшие за последние несколько месяцев, поддерживают аппаратную виртуализацию, и компании Intel и AMD намерены со временем совершенствовать свои техники. На данный момент платформой Virtual Iron поддерживаются следующие процессоры для серверных систем:
- Intel® Xeon® 3000, 5000, 5100, 5300, 7000, 7100 Series
- Intel® Core™ 2 Duo E6000 Series
- Intel® Pentium® D-930, 940, 950, 960
- AMD Opteron™ 2200 or 8200 Series Processors
- AMD Athlon™ 64 x2 Dual-Core Processor
- AMD Turion™ 64 x2 Dual-Core Processor
Несколько месяцев назад у компании XenSource возникли разногласия с Virtual Iron по поводу использования торговой марки Xen, принадлежащей XenSource, в результате которых XenSource запретила упоминать продукт Xen в любых официальных документах Virtual Iron.
Преимущества Virtual Iron
Платформа Virtual Iron представляет собой платформу виртуализации класса Bare Metal («голое железо»), не требующую хостовой операционной системы для поддержки виртуальных машин. Это является безусловным плюсом, как со стороны отсутствия затрат на приобретение отдельной лицензии на хостовую ОС, так и со стороны производительности (нет потерь на поддержку хостовой платформы). К тому же большим достоинством Virtual Iron является стоимость: 500$ в расчете на один физический процессор. Компания VMware также предлагает за 1000$ свое издание ESX Server Starter Edition на 2 процессорных гнездах, но без поддержки протокола iSCSI и сетей хранения данных SAN (Storage Area Network), что для крупных компаний неприемлемо. Решение VMware Standard Edition, поддерживающее эти возможности, стоит немногим менее четырех тысяч долларов.
Основные возможности Virtual Iron включают в себя:
- Поддержка 32- и 64-битных гостевых систем
- «Живая» миграция виртуальных серверов на другое оборудование без остановки системы
- Широкие возможности по масштабированию виртуальной инфраструктуры (конфигурация пула серверов может быть изменена в любое время, поддержка горячего добавления серверов)
- Контроль ресурсов, потребляемых виртуальными серверами, с возможностью перенесения их на другие хосты при превышении заданных лимитов
- Высокая доступность и восстановление системы после сбоя оборудования (виртуальная машина запускается на другом хосте)
- Управление, основанное на политиках: возможность задания системы правил поведения виртуальных машин при определенных условиях
- Взаимодействие с ресурсами SAN по протоколу iSCSI
- Поддержка создания виртуальных сетей VLAN
- Аутентификация пользователей по протоколу LDAP
- Отчеты о производительности хостов в виде графиков
- Предоставление собственного API для взаимодействия со сторонними приложениями
- Использование формата виртуальных дисков компании Microsoft (VHD, Virtual Hard Drive)
- Агрегация ресурсов в пулы (виртуальные датацентры), в которые могут быть объединены физические и виртуальные хосты, и в рамках которых могут работать различные политики, такие как LiveCapacity и LiveRecovery
- Клонирование виртуальных серверов
- Возможность генерации отчетов о различных компонентах виртуальной инфраструктуры (в формате CSV и HTML)
- Централизованное развертывание виртуальных машин
Список поддерживаемых Virtual Iron гостевых систем включает в себя:
- Red Hat Enterprise Linux 4 U2 and U4 32- and 64-Bit
- SUSE Linux Enterprise Server 9 SP3 32- and 64-Bit
- Windows XP Professional 32-Bit
- Windows Server 2003 32-Bit
- CentOS 4.4
Хотя список поддерживаемых операционных систем невелик, тем не менее, он содержит наиболее часто используемые серверные платформы. Между тем, на платформу Virtual Iron можно попытаться установить любую операционную систему, однако Virtual Server Tools, существенно повышающие качество работы с виртуальными серверами и их производительность, в этом случае будут недоступны.
Архитектура Virtual Iron
Решения на основе платформы Virtual Iron имеют три ключевых компонента:
Virtualization Manager
Virtualization Manager — основное средство управления виртуальными машинами Virtual Iron. Он устанавливается на специальный выделенный сервер, откуда происходит управление компонентами виртуальной инфраструктуры. Сервер управления должен отвечать следующим минимальным требованиям:
- 1 Процессор
- 2 ГБ RAM
- 30 ГБ жесткий диск
- 2 физических интерфейса Ethernet
- Поддерживаемые ОС:
- Red Hat Enterprise Linux 4 U2 и U4 32- и 64-Bit
- SUSE Linux Enterprise Server 9 SP3 32- и 64-Bit
- Windows XP Professional 32-Bit
- Windows Server 2003 32-Bit
- CentOS 4.4
Virtualization Manager позволяет централизованно развертывать виртуальные машины по сети на серверах компании, используя среду PXE (Preboot Execution Environment).
Virtualization Manager построен на основе Java и по своим возможностям напоминает VMware Virtual Center для VMware Infrastructure 3. Можно агрегировать ресурсы в пулы, выстроенные в иерархию, по которым собирается статистика производительности, разделяется пользовательский доступ и осуществляется мониторинг событий. Virtualization Manager обнаруживает новые хосты в сети и загружает туда компоненты для развертывания виртуальных машин, носящие название Virtualization Services. Для виртуальных машин в рамках пулов ресурсов можно применять различные политики, включая LiveMigrate, LiveCapacity, LiveRecovery и LiveMaintenance, а также создавать свои политики. К сожалению, почему-то Virtualization Manager не позволяет ставить «на паузу» (suspend) виртуальные машины, хотя такая возможность сейчас есть практически во всех платформах виртуализации.
Virtualization Services
Компонент Virtualization Services представляет собой все необходимые средства, загружаемые на физический сервер через Virtualization Manager и среду PXE, которые необходимы для поддержки нескольких виртуальных машин на одной физической. Ядром платформы виртуализации на хостах является открытый гипервизор (программная прослойка между гостевой ОС и оборудованием) Xen, расположенный ниже уровня операционной системы и обеспечивающий управление виртуальными машинами и их «общение» с аппаратными компонентами. Архитектура Virtualization Services приведена далее:
При включении физического сервера стартует гипервизор, запускающий Service Partition в привилегированном режиме, который содержит драйверы устройств, средства управления хостом извне через Virtualization Manager, а также службы для горячей миграции виртуальной машины на другое оборудование без ее остановки. Все эти компоненты вынесены за пределы гостевой системы, что обеспечивает безопасность при использовании виртуальных машин. Компонент Virtual Server Control взаимодействует с виртуальными серверами посредством гипервызовов. По каналу Event Channel передаются команды на остановку и запуск виртуальных машин от Virtualization Manager. Компонент Back End Virtual Driver представляет собой драйверы устройств, напрямую взаимодействующие с оборудованием. Front-end драйверы гостевой системы взаимодействуют с back-end драйверами, расположенными в Service Partition. Специальные драйверы сетевых интерфейсов и систем хранения позволяют виртуальным машинам совместно использовать ресурсы сетевой карты и устройств хранения данных изолированно друг от друга, и взаимодействовать с внешней средой.
Virtualization Services реализуют виртуальный симметричный мультипроцессинг (Virtual SMP), позволяющий виртуальным машинам использовать до восьми физических процессоров (при этом поддерживается до 32 процессоров для самого хоста). Также виртуальные серверы могут иметь до четырех виртуальных сетевых интерфейсов (для одного физического) и использовать до 96 ГБ оперативной памяти.
Open Source Virtualization
Большинство компонентов платформы Virtual Iron, за исключением Virtualization Manager, являются открытыми и доступны для загрузки на сайте компании. Исходные коды компонентов Virtualization Services и Virtual Server Tools можно скачать для изучения архитектурных особенностей системы виртуализации. Open Source гипервизор Xen, составляющий ядро платформы, поддерживается сообществом независимых разработчиков и регулярно обновляется. Использование аппаратных техник виртуализации (hardware-assisted) позволяет запускать не модифицированные версии гостевых операционных систем с минимальными потерями производительности. Безусловно, Virtual Iron нельзя считать полностью открытой платформой, однако открытость большинства компонентов позволит независимым разработчикам принять участие в совершенствовании, как самой платформы, так и средств управления. К тому же, Virtual Iron предлагает также абсолютно бесплатный вариант продукта на один физический сервер, используя который можно ощутить все достоинства серьезной платформы виртуализации.
Расширенные возможности Virtual Iron для развертывания виртуальной инфраструктуры
Платформа Virtual Iron предоставляет корпоративным пользователям множество функций по развертыванию виртуальных серверов в сетях хранения данных SAN и обеспечению их высокой доступности в соответствии с неофициальными стандартами, сложившимися в сфере виртуализации. Обслуживание, основанное на политиках, таких как LiveCapacity и LiveRecovery, позволяет поддерживать жизнеспособную виртуальную инфраструктуру и просто расширять ее, а централизованное управление позволяет существенно сократить время обслуживания и развертывания виртуальных серверов.
LiveMigration и динамическое масштабирование инфраструктуры
Возможности LiveMigration позволяют переносить виртуальные машины с одного физического сервера на другой, не останавливая деятельность виртуального сервера. Такая возможность доступна при использовании iSCSI-устройств и может быть реализована только в поддерживаемых гостевых системах, где могут быть установлены Virtual Server Tools. Виртуальная инфраструктура Virtual Iron может динамически расширяться с перемещением виртуальных машин между хостами и балансировкой нагрузки.
Чтобы осуществить горячую миграцию виртуального сервера, необходимо, чтобы на целевом физическом сервере было зарезервировано достаточное количество аппаратных ресурсов, а также имелся доступ ко всем необходимым сетевым компонентам и системам хранения, где располагаются виртуальные диски. Функция LiveMigration доступна только в пределах пула ресурсов (Virtual Data center) и может быть использована только для хостов, на которых установлены процессоры одного производителя (Intel или AMD). При миграции виртуального сервера на другой хост, достаточно лишь перетащить мышью виртуальную машину на другой физический сервер и нажать кнопку подтверждения. По завершении процедуры миграции исходный виртуальный сервер будет остановлен, вся изменившаяся память скопирована, а на целевом хосте будет запущена смигрированная система. Задержка между этими событиями составляет несколько миллисекунд и никак не отражается на запущенных приложениях. Возможность LiveMigration является аналогом VMotion в решении VMware Infrastructure 3.
LiveRecovery
Функция LiveRecovery предназначена для обеспечения высокой доступности виртуальных серверов, которые в случае выхода из строя физического оборудования могут быть перезапущены на другом сервере. При этом серверы, основной и резервный, должны находиться в одном пуле ресурсов и использоваться в сети хранения данных SAN. Возможность LiveRecovery аналогична решению VMware HA (High Availability), однако в отличие от VMware, компания Virtual Iron не считает необходимым введение отдельной файловой системы, как VMFS у VMware, оптимизированной под нужды HA.
LiveCapacity
Возможности решения LiveCapacity позволяют наблюдать за загрузкой аппаратных компонентов физических серверов и принимать решение о том, что виртуальный сервер должен быть перенесен на другой хост. Пользователь может назначить политики, которые будут определять, при каких именно условиях следует осуществить миграцию виртуального сервера. В случае повышенной нагрузки на оборудование физического сервера будет проведена автоматическая миграция виртуальной машины на другой сервер, который обладает достаточным количеством ресурсов. LiveCapacity является решением по балансировке нагрузки на оборудование датацентра и по своим возможностям напоминает функции Dynamic Resource Scheduling (DRS) компании VMware для VMware Infrastructure 3.
Политики и API
Компания Virtual Iron предоставляет широкие возможности по написанию различных дополнений к Virtualization Manager за счет использования специального API. С помощью этого API разработчики могут контролировать любые аспекты виртуальных датацентров и виртуальных серверов. Также этот API могут использовать системные администраторы для написания собственных политик для Virtualization Manager. Политики могут быть написаны для любой возможности платформы Virtual Iron и могут выполняться единовременно или с заданной периодичностью. Например, можно написать политики для сбора отчетов о производительности определенных виртуальных серверов, или, если в определенное время суток серверы испытывают повышенные нагрузки, можно мигрировать их на более мощные хосты.
Virtual Iron предоставляет также модель взаимодействия CIM (Common Information Model), позволяющую интегрировать Virtualization Manager со сторонними приложениями. Разработчики могут использовать стандарт CIM для исследования виртуального окружения Virtual Iron и написания собственных приложений.
Сетевое взаимодействие
Система управления Virtualization Manager позволяет создавать множество виртуальных коммутаторов, которые могут объединять несколько виртуальных машин в пределах хоста, а также обеспечивать сетевое взаимодействие с внешней сетью. Для каждой виртуальной машины может быть создано до четырех виртуальных сетевых интерфейсов, каждый из которых имеет уникальный MAC-адрес. Виртуальный сетевой интерфейс может быть подключен к одной из созданных виртуальных сетей. При миграции виртуальных машин все сетевые настройки и настройки безопасности виртуальных серверов сохраняются.
Virtual Iron может эмулировать два типа сетевых адаптеров: по-умолчанию эмулируется сетевая карта AMD PCnet32 PCI, при установке Virtual Server Tools в Service Partition устанавливается Back End драйвер, который обеспечивает наилучшее быстродействие и меньшую нагрузку на процессор. Далее изображена одна из возможных конфигураций сети в пределах одного физического сервера.
Виртуальные коммутаторы изолированы друг от друга и объединяют несколько виртуальных машин в виртуальную сеть. Один из виртуальных коммутаторов подключен напрямую во внешнюю сеть, а доступ к двум виртуальным серверам приложений как изнутри, так и снаружи, осуществляется через сетевые экраны. И все это инкапсулировано в пределах одного физического сервера. Таким образом, Virtual Iron открывает широкие возможности по моделированию виртуальной инфраструктуры и виртуальных сетей, с учетом реальной ИТ-инфраструктуры компании.
Виртуальные диски
Виртуальные сервера Virtual Iron могут иметь до 16 виртуальных дисков, которые могут составлять комбинацию из логических и Raw-дисков. Raw-диски подключаются напрямую к системам хранения данных в SAN LUNs (Logical Unit Number — логические устройства дискового массива) по каналу Fibre Channel или iSCSI, используя обычный сетевой адаптер. Raw-диски обладают большим, чем логические диски, быстродействием и могут применяться для виртуальных серверов, требующих высокой скорости дискового ввода-вывода, например, серверов баз данных. Структура виртуальных дисков Virtual Iron показана далее:
Компания Virtual Iron предоставляет также специальный фреймворк для работы с системами хранения и виртуальными дисками. Платформа Virtual Iron использует формат дисков компании Microsoft, что позволяет использовать виртуальные шаблоны (Virtual Appliances) и предустановленные продукты Microsoft (в рамках программы VHD Test Drive Program).
Оборудование
Как уже было сказано, Virtual Iron работает только на процессорах с поддержкой Intel VT или AMD-V. Кроме того, некоторые компоненты виртуальной инфраструктуры должны соответствовать требованиям, которые Virtual Iron публикует на своем сайте, на странице www.virtualiron.com/products/servers.cfm. На данный момент список поддерживаемой аппаратуры не такой обширный, как у VMware, однако он постоянно пополняется, поскольку компания Virtual Iron работает в тесном сотрудничестве с производителями аппаратного обеспечения.
На данный момент поддерживаются следующие сетевые адаптеры стандарта Gigabit Ethernet:
- Intel Pro/1000 family PCI cards
- Intel 80003ES2LAN Gigabit Ethernet Controller
- Intel 82572EI Gigabit Ethernet Controller
- Intel 82544GC Gigabit Ethernet Controller
- Intel 82571EB Gigabit Ethernet Controller
- Intel 82541PI Gigabit Ethernet Controller
- Broadcom NetXtreme BCM5751 Gigabit Ethernet PCI Express
- Broadcom NetXtreme BCM5705 Gigabit Ethernet
- Broadcom NetXtreme BCM5704 Gigabit Ethernet
- Broadcom NetXtreme II BCM5708 Gigabit Ethernet
- 3Com Corporation 3c905C-TX/TX-M [Tornado]
Также Virtual Iron поддерживает следующие RAID-контроллеры:
Производитель | Модель | Контроллер |
Adaptec | 2420SA SATA-II RAID | |
Dell | 1950 | Integrated SAS 5/i(base): 4 port SAS controller |
2950 | Integrated PERC 5/i (optional): SAS 3.0 Gb/s | |
HP | DL140GS | SmartArray E200i/P400i |
DL360G5 | SmartArray E200i/P400i | |
DL380G5 | SmartArray E200i/P400i | |
DL460c | SmartArray E200i/P400i | |
DL480c | SmartArray E200i/P400i | |
ML150 | SmartArray E200i/P400i | |
IBM | HS21 Blade SAS controller |
Что касается устройств iSCSI, их список пока весьма невелик:
- DataCore SANmelody
- DataCore SANsymphony 6.0
- Dell AX150i
- EqualLogic
- Network Appliance
- SLES 10 iSCSI
Такой небольшой набор объясняется тем, что поддержка iSCSI появилась в Virtual Iron сравнительно недавно.
Перспективы Virtual Iron
Компания Virtual Iron сравнительно недавно вышла на рынок корпоративных платформ виртуализации, но весьма решительно стала вести конкурентную борьбу с такими серьезными соперниками, как VMware и XenSource. До того, как принять на вооружение открытый гипервизор Xen, компания Virtual Iron довольно долго разрабатывала средства управления виртуальными машинами, что является ключевым компонентом виртуальной инфраструктуры на основе платформы корпоративного класса. Безусловно, на данный момент по некоторым параметрам продукт Virtual Iron проигрывает VMware Virtual Infrastructure 3, однако по функциональности ключевых компонентов, таких как LiveMigration, LiveCapacity и LiveRecovery, платформа Virtual Iron вплотную приблизилась к аналогичным возможностям у VMware. Безусловным плюсом Virtual Iron является цена: за те же деньги продукт VMware Infrastructure Starter значительно уступает ему. А тысяча долларов за два процессора — как раз та сумма, которую могут позволить себе компании в секторе малого и среднего бизнеса. На фоне этого, Virtual Iron вполне может соперничать с VMware в этой сфере бизнеса. В дальнейшем, безусловно, платформа будет развиваться. Сделав ставку на аппаратные техники виртуализации, компания Virtual Iron, несомненно, выиграла. Несмотря на то, что по заверениям VMware, на данный момент аппаратная виртуализация является медленнее программной, компании Intel и AMD продолжают совершенствование своих процессоров в рамках глобальной стратегии по виртуализации и находят поддержку у производителей других компонентов аппаратного обеспечения.
К тому же, в скором времени появится еще один конкурент — Microsoft, с виртуализацией, встроенной в платформу Windows Server. Однако, по последним сведениям, это случится не ранее второй половины 2008 года. Тогда, конечно, развернется по-настоящему ожесточенная борьба, в которой у Virtual Iron, судя по всему, есть шанс завоевать свою долю рынка. А пока можно попробовать и VMware Infrastructure 3, и Virtual Iron и принять решение, стоит ли переплачивать за продукты VMware.