Многие продукты и сервисы в виртуализационном пространстве включают в себя компоненты с открытым кодом, которые, в свою очередь, зачастую служат низкоуровневыми строительными блоками для провайдеров хранилищ, сетевых или вычислительных ресурсов в больших проприетарных системах.
Как один из самым ярких примеров последних лет тут можно назвать серверный виртуализационный продукт Red Hat Enterprise Virtualization (RHEV) компании Red Hat, в котором хранилища, сетевые и вычислительные компоненты с открытым кодом объединяются с проприетарным сервером управления на базе Windows и набором инструментов администратора.
Red Hat заполучила базирующийся на .NET сервер управления в 2008 г., приобретя молодую фирму Qumranet, занимавшуюся виртуализацией рабочих станций, и начала портирование сервера на Java, в то же самое время продавая продукт Qumranet под брендом Red Hat. Недавно портированное ПО будет служить основой и для RHEV 3.0 (в настоящее время в бета-версии), и для нового проекта с открытым кодом, названного oVirt, который фокусируется на предоставлении открыто разрабатываемой системы виртуализации со свободной лицензией.
Проект oVirt стартовал в начале ноября на симпозиуме Red Hat в кампусе Cisco. Наряду с недавно появившимися руководствами по сборке на вики-сайте проекта после симпозиума начали функционировать репозитарии Git для каждого подпроекта.
Ранний релиз
С новым открытым кодом oVirt я работал около недели. Это довольно молодой проект, и потребовались некоторые усилия для сборки сервера управления под названием oVirt Engine, размещения сервера Java-приложений Red Hat JBoss и подключения движка к вычислительным ресурсам и хранилищам в нашей лаборатории.
Получившуюся работающую систему я использовал для создания и эксплуатации небольшого количества виртуальных машин на Windows и Linux. На меня произвели впечатление основные возможности хостинга виртуальных машин (ВМ) в oVirt, веб-порталы для пользователя и администратора, которые весьма отзывчивы и довольно просты в использовании.
Я планирую ненадолго сохранить инсталляцию oVirt в лаборатории, чтобы испытать возможности системы и сравнить их с vSphere, которую мы используем в большей части нашего тестирования. На данный момент я не рекомендовал бы использовать проект для производственных нагрузок, поскольку oVirt еще не имеет такого сообщества, которое собрали более авторитетные проекты с открытым кодом вроде Debian или CentOS.
Тем, кто заинтересован в проверке oVirt с минимальными хлопотами, было бы лучше дождаться последней бета-версии RHEV 3.0 или ждать пакетов oVirt для Fedora Linux. Наряду с представителями Red Hat, Intel, NetApp, Cisco и IBM правление проекта oVirt включает членов от Linux-поставщиков Canonical и SUSE. Желательно, чтобы и Ubuntu или OpenSUSE включили oVirt в свои свободно доступные дистрибутивы.
Независимо от того, получит ли oVirt кусок рынка VMware, виртуализационное пространство заполнено сильными конкурентами — Microsoft, Citrix, Oracle и др.
Подобно тому, как поставка Microsoft Hyper-V с каждой копией Windows Server придавала ускорение этой системе виртуализации, переход Red Hat к свободному коду может дать oVirt такой же стимул — особенно если другие дистрибутивы Linux поддержат проект.
oVirt в лаборатории
oVirt был установлен на двух серверах с Fedora 16, один из которых служил для управления, а второй — в качестве хоста (для ВМ). Для разделямого хранилища с Network File System (NFS) использовался сервер Openfiler. Я скомпилировал oVirt Engine и развернул его на JBoss 5.1, установил и сконфигурировал PostgreSQL для предоставления движку сервиса хранения данных.
На хост мною были установлены типичные для Linux виртуализационный стек Kernel-based Virtual Machine (KVM) и libvirt вместе с Virtual Desktop Server Manager (VDSM) из репозитария git. Затем я зарегистрировал свой хост на сервере управления и настроил пару совместно используемых ресурсов на NFS — один для хостинга образов ВМ, другой для образов CD.
Для настройки машин я по большей части использовал веб-интерфейс oVirt, и хотя в целом работой веб-приложения я был удовлетворен, некоторые операции еще не реализованы в веб-интерфейсе. В этих случаях приходилось обращаться к oVirt REST API, который предоставляет доступ к функциональности продукта и предлагает пользователям путь к интеграции их собственных приложений с oVirt. Вики-сайт oVirt содержит мало информации по этому интерфейсу, но бета-версия документации по RHEV 3.0 помогла мне найти путь к решению.
Создав несколько ВМ с Linux и Windows, я был впечатлен производительностью графической консоли oVirt, которая использует протокол RedHat SPICE. Когда же в одной из этих ВМ я установил предварительную версию Windows 8 для разработчиков, то заметил, что интерфейс рабочего стола функционирует без дополнительных настроек, так что можно смотреть видео с Youtube на удаленной ВМ практически без потери качества.
В дополнение к oVirt Engine проект включает несколько других компонентов, таких как oVirt Node — урезанная версия Linux для хостинга виртуальных машин. Я не тестировал oVirt Node, вместо этого обратившись к минимальной версии сервера Fedora 16 с работающим KVM, библиотекой управления виртуализацией libvirt и VDSM, служащим посредником между oVirt Engine и копией libvirt на хосте.
Проект oVirt включает также хранилище данных и компоненты создания отчетности, базирующиеся соответственно на программных провайдерах с открытым кодом Talend и Jaspersoft.
Большинство компонентов oVirt лицензировано под Apache Software License 2.0, но проект включает также код под GNU General Public License (например, код в библиотеке VDSM).
Другой реверанс в сторону проекта Apache заключается в том, что oVirt включает инкубационные процессы для вновь добавляемых субпроектов. Один из наиболее интересных проектов в инкубаторе — Nomad, посвященный поддержке мобильно-ориентированных приложений для управления oVirt. В настоящее время Nomad поддерживает устройства с Android; поддержка iOS запланирована.