Представлен одиннадцатый релиз платформы OpenStack, выпущенный под кодовым именем "Kilo". В новом выпуске реализовано около 400 улучшений. В развитии продукта приняли участие 1492 разработчика, представляющих 169 различных компаний. При подготовке изменений для релиза наиболее активно себя проявили компании Red Hat, HP, IBM, Mirantis, Rackspace, Yahoo!, NEC, Huawеi и SUSE.

Платформа OpenStack включает в себя набор взаимосвязанных компонентов, нацеленных на создание как публичных cloud-сервисов, подобных Amazon EC2, так и приватных cloud-окружений, работающих на собственном оборудовании и полностью подконтрольных компании. Среди поддерживаемых систем виртуализации: KVM, QEMU, Xen, Hyper-V, Citrix XenServer, контейнеры LXC и VMWare/vSphere ESX/ESXi. OpenStack обладает превосходной масштабируемостью и способен обслуживать инфраструктуру из сотен тысяч виртуальных серверов.

Изначально платформа OpenStack была разработана и открыта под лицензией Apache компанией Rackspace и космическим агентством NASA. Впоследствии связанная с проектом интеллектуальная собственность была передана независимой некоммерческой организации OpenStack Foundation. На данный момент к разработке OpenStack присоединилось около 500 компаний и около 24000 независимых разработчиков. Продукты для развёртывания облачных инфраструктур на базе OpenStack развиваются такими компаниями, как Rackspace, Red Hat, SUSE, Canonical, IBM, Cisco, Dell и HP.

Из входящих в состав релиза Kilo компонентов и реализованных в них новшеств можно отметить:

  • OpenStack Object Storage (Swift) - распределенное, отказоустойчивое и высоконадежное хранилище объектов. Хранимые объекты сохраняются одновременно на несколько узлов кластера в датацентре, при этом обеспечивается автоматический контроль целостности и репликация при отключении/добавлении узлов. Хранилище масштабируется горизонтально, т.е. для увеличения размера достаточно просто добавить новые узлы, конфигурация которых производится автоматически. При выходе узла из строя, его содержимое воспроизводится на других узлах сети для обеспечения должной избыточности. Дублирование информации позволяет использовать для формирования кластера типичные недорогие серверы, не заботясь о надежности каждого из них в отдельности.
    • Поддержка кода избыточности (Erasure Code, EC), предназначенного для восстановления содержимого блоков данных на основании избыточной информации, сохранённой в других блоках. По сравнению с дублирующей репликацией коды избыточности позволяют обойтись хранилищем меньшего размера, но требуют для работы больше вычислительных и сетевых ресурсов. Из применений, для которых хорошо подходит данный метод, упоминается хранение в одном регионе больших размеров данных, обращение к которым производится достаточно редко.
    • Реализация комбинированных токенов (Composite tokens), которые позволяют сервисам OpenStack от имени клиента сохранять в Swift свои данные, таким образом, что по отдельности не клиент и не сервис, не могут обновить эти данные без согласия обеих сторон. Например, пользователь может инициировать через Nova запись снапшота виртуальной машины, Nova передаст этот запрос в Glance, который запишет образ в контейнере Swift в форме набора объектов. Затем пользователь не сможет обновить образ не получив токен от сервиса, а сервис не сможет обновить образ не получив токен от пользователя.
    • Возможность учёта веса устройства при размещении данных, что позволяет организовать добавление в кластер новых зон или регионов без инициирования мгновенного перемещения больших объёмов данных, а также приводит к более эффективной обработке насбалансированных кластеров, в которых одна зона содержит существенно больше данных.
    • Улучшение репликации данных между регионами. За один проход перемещается только одна реплика, что даёт удалённому региону возможность совершить внутреннюю репликацию без перемещения лишних данных через внешний сетевой линк.
  • OpenStack Compute (Nova) - инструментарий, позволяющий автоматически создавать и управлять работой больших групп VPS-серверов. Система основана на технологии NASA Nebula и наработках, применяемых для оказания услуги Rackspace Cloud Servers. OpenStack Compute написан на языке Python с использованием фреймворков Tornado и Twisted, для обмена сообщениями используется протокол AMQP, для хранения данных задействована БД Redis.
    • Реализован новый Nova API (2.1), который обратно совместим с API 2.0 и примечательнен введением в практику системы добавления новшеств через механизм микроверсий. В API 2.1 также представлена поддержка сертификатов x509.
    • Поддержка live-обновлений в условии необходимости смены схемы хранения данных в БД.
    • В драйвер Hyper-V добавлена поддержка виртуальных машин Hyper-V второго поколения и SMB-разделов;
    • В драйвере Libvirt (KVM) появилась возможность прикрепления vCPU к гостевой системе, поддержка SMB-резделов и поддержка QEMU iSCSI initiator.
  • OpenStack Image Service (Glance) - реестр образов виртуальных машин, позволяющий регистрировать новые образы виртуальных машин и обеспечивать их доставку на нужные узлы перед выполнением. Обеспечивает функционирование хранилища образов виртуальных машин, представленных в широком спектре форматов: Raw, AMI, VHD (Hyper-V), VDI (VirtualBox), qcow2 (Qemu/KVM), VMDK (VMWare) и OVF (VMWare). Для унификации операций по получению информации, добавлению и доставке образов виртуальных машин используется специальный Glance REST-ful API;
    • Возможность деактивации образа;
    • Поддержка конвертации образа в процессе его импорта;
    • Возможность выбора метода хэширования, помимо SHA-1;
    • Поддержка тегов Metadef;
    • Экспериментальный API индексации каталога;
    • Поддержка перезагрузки файлов конфигурации при получении сигнала SIGHUP;
  • OpenStack Identity (Keystone) - пакет для унификации средств аутентификации и обеспечения интеграции компонентов OpenStack с существующими системами аутентификации, в том числе построенными на базе Active Directory и LDAP. Возможно использование и обычных средств входа с использованием логина/пароля или AWS. На плечи Keystone вынесены такие операции, как управление пользователями, проектами и правами доступа;
    • Средства федеративной идентификации расширены возможностью работы в гибридных системах с несколькими облачными окружениями.
    • Реализация иерархической привязки настроек проектов;
    • Поддержка токенов Fernet;
  • OpenStack Dashboard (Horizon) - web-интерфейс для управления системой, построенный на основе web-фреймворка Django и приложения django-openstack. Интерфейс представлен как для администраторов, так и для пользователей. Поддерживается широкий спектр средств для управления ресурсами, созданием и запуском окружений, установкой лимитов. Возможно подключение плагинов, например, с реализацией средств мониторинга.
    • Реализация тем оформления для изменения внешнего вида;
    • Поддержка аутентификации с единой точкой входа (Single-Sign-On);
    • Кардинально переработан интерфейс для управления системой обработки данных (Sahara);
    • Добавлен мастер запуска нового окружения (Launch Instance Wizard)
  • Networking (Neutron) - фреймворк для выполнения задач, связанных с созданием, конфигурированием и сопровождением сетей внутри дата-центров. Quantum поддерживает динамическую конфигурацию сети и может быть использован для настройки как виртуальных сетей, так и физических хостов. Quantum поддерживает расширение функциональности через плагины и может решать различные административные задачи, от создания портов до настройки маршрутов и VLAN.
    • В DVR добавлена поддержка VLAN, в дополнение к VXLAN/GRE;
    • Новые драйверы: A10 Networks LBaaS V2, Brocade LBaaS V2, Brocade ML2 для коммутаторов MLX и ICX, Brocade Vyatta vRouter Firewall, Brocade Vyatta vRouter VPN, Cisco CSR VPNaaS, Freescale FWaaS, Intel Mcafee NGFW FWaaS, IPSEC Strongswan VPNaaS;
    • Новые плагины: L3-маршрутизация на коммутаторах Brocade MLX, Brocade Vyatta vRouter L3, Distributed Virtual Router L3 на базе Dragonflow SDN.
  • Block Storage (Cinder) - многофункциональное и расширяемое хранилище блочных устройств и дисковых разделов, поддерживающее также работу с ранее созданными разделами, развёрнутыми в процессе использования прошлых выпусков OpenStack. Ранее Cinder был реализован как подпроект к рамках сервиса OpenStack Compute, но отныне выделен в обособленную подсистему, развиваемую отдельной командой разработчиков.
    • Возможность изменения схемы БД без перезапуска;
    • Поддержка добавления/удаления разделов из существующей согласованной группы;
    • Возможность создания согласованной группы из снапшота другой согласованной группы;
    • Сервис резервного копирования теперь может быть применим для зашифрованных разделов;
    • Возможность создания приватных типов разделов;
    • Для обеспечения отказоустойчивости теперь допускается привязка раздела к нескольким экземплярам OpenStack Сompute;
  • OpenStack Metering (Ceilometer) - нацелен на сбор данных о работе системы и проведение мониторинга, предоставляя пользователям единый источник данных об использовании всех сервисов OpenStack;
    • Поддержка Ceilometer API RBAC;
    • Поддержка получения метрик через Gnocchi
  • OpenStack Orchestration (Heat) - обеспечивает работу сервиса для управления жизненным циклом работающих в облаке приложений и автоматизации распределения для приложений вычислительных ресурсов, сетевой пропускной способности и места в хранилище.
  • OpenStack Database Service (Trove) - система для поддержания сервиса облачных баз данных (Database as a Service), на базе как реляционных, так и не реляционных СУБД. Trove позволяет упростить обслуживание нескольких экземпляров СУБД, предоставляя средства для выполнения таких операций, как развёртывание СУБД, настройка, применение патчей, резервное копирование, восстановление после сбоев и мониторинг. Полноценная поддержка обеспечена для MySQL и Percona. Экспериментальная поддержка доступна для MongoDB, Redis, Cassandra и Couchbase;
    • Поддержка новой стратегии репликации, основанной на реализованной в MySQL 5.6 асинхронной репликации GTID;
    • Поддержка хранилищ Vertica, Vertica Cluster, DB2 и CouchDB;
    • Расширение управляющего API;
  • OpenStack Data Processing (Sahara), компонент для автоматизации сопровождения и управления большими кластерами обработки данных, построенных на базе Apache Hadoop или Apache Spark.
    • Новые плагины для MAPR, Apache Storm и Apache Hadoop 2.6.0;
    • Добавлено ведение лога событий
  • Ironic (Bare Metal Provisioning Service), новый компонент, позволяющий использовать существующие методы развёртывания конфигураций виртуальных машин для развёртывания систем на реальном оборудовании или для таких применений как контейнеры Linux.


Источник: http://www.opennet.ru/opennews/art.shtml?num=42150