eWeek Labs: StackOps представляет собой дистрибутив Ubuntu, созданный на базе Linux, который в сочетании с веб-приложением Smart Installer ускоряет конфигурирование и развертывание облаков OpenStack.
OpenStack явно хочет превратиться в Linux для инфраструктуры облаков. НАСА и компания Rackspace запустили этот проект с целью объединить вычислительные и сетевые компоненты и устройства хранения, используемые для создания публичных и частных облаков, в рамках облачной операционной системы с открытым исходным кодом.
Большинство людей, использующих и развертывающих Linux, рассчитывает, что создатели дистрибутивов позаботятся о решении множества необходимых для работы системы вопросов, связанных с созданием пакетов и конфигурированием. В мире OpenStack будут свои дистрибутивы.
Я протестировал один из них, именуемый StackOps. Он позволяет легко приступить к работе с одним узлом OpenStack. Дистрибутив хорошо подходит для первых этапов тестирования и для ознакомления с этим быстро развивающимся компьютерным проектом. Состоит он из дистрибутива Ubuntu, созданного на базе Linux, который в сочетании с веб-приложением Smart Installer ускоряет процесс конфигурирования и развертывания облаков OpenStack.
Для тестирования я обычно предпочитаю конфигурацию с единственным узлом, когда контроллер, сеть, система хранения и вычислительные узлы, составляющие облако OpenStack, устанавливаются на одной машине. Если речь не идет о тестировании, то StackOps Smart Installer поддерживает также конфигурацию OpenStack из двух и более узлов. Тем не менее дистрибутиву StackOps и проекту OpenStack еще предстоит достичь уровня зрелости, характерного для дистрибутивов Linux.
OpenStack состоит из надежных компонентов. Однако уровень их интеграции и ситуация с инструментами напомнили мне первые тесты гипервизора Xen, проводившиеся в лаборатории eWeek Labs в 2005—2006 гг. В данный момент использование OpenStack в производственных системах потребует привлечения собственных или сторонних специалистов. StackOps распространяет свой дистрибутив и приложение Smart Installer бесплатно, но сервисы, предназначенные для этих продуктов, продает.
В дальнейшем я ожидаю увидеть наряду со StackOps несколько других дистрибутивов OpenStack. Кроме того, Ubuntu Linux Server, на базе которого создан StackOps, начиная с выпускаемой осенью этого года версии 11.10 будет включать OpenStack в качестве используемого по умолчанию частного облака.
На проходившей недавно в Сан-Франциско (США) конференции Synergy корпорация Citrix анонсировала собственный дистрибутив OpenStack под названием Project Olympus. Если StackOps использует для предоставления компьютерных сервисов KVM (Kernel-based Virtual Machine) или QEMU (quick emulator), то в Project Olympus будет применять XenServer, разработанный самой Citrix.
Тестирование в лаборатории
Тестирование StackOps я проводил на нескольких машинах. Начал я с развертывания одного узла на мощной мобильной рабочей станции Lenovo W520, затем развернул конфигурации из одного и из нескольких узлов на сервере с процессорами AMD серии Opteron 4000. Множество узлов устанавливалось на виртуальных машинах, созданных в нашей лаборатории с помощью инфраструктуры VMware vSphere.
Для развертывания OpenStack с одним узлом потребовалось установить на моей тестовой машине StackOps и обратиться к простой веб-программе — агенту конфигурирования, запущенному на моем сервере. Агент конфигурирования перенаправил меня к сервису Smart Installer, который находится по адресу stackops.org, где я мог задать конфигурацию с одним узлом. Эта конфигурация была передана на мою тестовую машину.
У меня была возможность создать учетную запись на сайте stackops.org, чтобы сохранить свою одноузловую конфигурацию для использования в будущем. Я мог, например, удалить свою инсталляцию, переустановить StackOps и загрузить сохраненную ранее конфигурацию. Для конфигураций из двух и более узлов создание учетной записи является обязательным, чтобы обеспечить согласованность деталей настройки между отдельными узлами при развертывании одного экземпляра OpenStack.
Для развертывания с одним узлом выбор конфигураций был невелик. Мне необходимо было указать диапазон адресов своей сети, который следовало зарезервировать для гостевых экземпляров, и раздел диска, где надлежало хранить образы.
Создать конфигурацию из двух и более узлов мне не удалось из-за проблем с корректным формированием отдельной сервисной сети, которая необходима для такой установки. StackOps и сам проект OpenStack хорошо документированы, но мне хотелось бы видеть больше примеров конфигураций.
OpenStack поддерживает весьма разнообразные компоненты, и StackOps помогает несколько ограничить разнообразие. Что касается гипервизора, то у меня был выбор между KVM и QEMU. Последний предоставляет возможность снижать производительность узлов, не имеющих аппаратной поддержки виртуализации. Именно такими являются узлы, созданные на виртуальных машинах.
OpenStack поддерживает облачные API-интерфейсы Rackspace и Amazon. Но StackOps имеет только интерфейс Amazon, которым я мог манипулировать с помощью набора инструментов euca-tools компании Eucalyptus Systems.
Сами по себе базовые команды и процедуры, использовавшиеся для управления тестовым облаком, были мне знакомы. Как и в случае с Amazon EC2, я использовал набор полномочий, заданных с помощью тестового облака, для доступа к сервису, а также для извлечения, запуска и остановки экземпляров ОС и закрепления за ними публичных IP-адресов.
Я проводил тестирование с помощью гостевых систем под управлением Ubuntu Server 10.04 и Windows Server 2008 R2. Производительность не вызывала нареканий. В конце концов мое микрооблако в базовой конфигурации, которую я использовал для тестирования, сжалось до сервера Ubuntu, управляющего виртуальными машинами, которые были созданы с помощью KVM.
Для ознакомления с OpenStack, в частности с особенностями создания гостевых экземпляров и манипулирования ими, достаточно простой конфигурации вроде той, что я тестировал. Кроме того, я использовал свои простые облака для экспериментов с находящимся в процессе разработки проектом OpenStack Dashboard, который придает облаку OpenStack веб-интерфейс, напоминающий веб-консоль Amazon EC2.
Со временем лаборатория eWeek Labs, возможно, перенесет часть инфраструктуры предназначенной для проведения тестов, в облако OpenStack. Но мы предпримем такой шаг лишь после того, как будут усовершенствованы инструменты управления, разработанные для данного проекта.