OpenStack

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
OpenStack
Логотип программы OpenStack
Тип Облачные вычисления
Автор Rackspace
Разработчик сообщество
Написана на Python
Операционная система Кроссплатформенное ПО
Первый выпуск 21 октября 2010
Последняя версия 2023.2 Bobcat (4 октября 2023)
Лицензия Apache License 2.0
Сайт openstack.org
Логотип Викисклада Медиафайлы на Викискладе

OpenStack — комплекс проектов свободного программного обеспечения, который может быть использован для создания инфраструктурных облачных сервисов и облачных хранилищ, при том как публичных, так и частных. Все проекты комплекса распространяются под лицензией Apache License.

История[править | править код]

Инициатива была начата в июле 2010 года, когда Rackspace совместно с NASA объявили об открытии кода проектов платформы Nebula (IaaS для NASA) и платформы Rackspace Cloud Files.

В мае 2011 года Canonical объявила, что OpenStack станет основной облачной платформой Ubuntu уже с выходом версии 11.10 Ubuntu Server и Ubuntu Enterprise Cloud. До этого в дистрибутиве для этих же целей использовалась платформа Eucalyptus[1].

В октябре 2011 года Rackspace объявила о намерении передать все права на код и торговую марку OpenStack некоммерческой организации OpenStack Foundation, открытие которой было запланировано на 2012 год[2].

В середине августа 2012 года компания Red Hat представила предварительную версию своего дистрибутива на основе OpenStack. Коммерческая версия (с поддержкой) появилась в июле 2013 года с релизом «Grizzly»[3].

В сентябре 2014 года Cisco объявила о приобретении компании Metacloud, специализирующейся на создании и обслуживании облачных систем на базе платформы с открытым кодом OpenStack. Эта сделка стала крупнейшей за всю историю сообщества OpenStack.

В 2014 году к разработке OpenStack присоединилось более 180 компаний.

По состоянию на 2015 организация OpenStack Foundation насчитывала более чем 500 участников, включая AppFormix, Arista Networks, AT&T, AMD, Avaya, Brocade, Canonical, Cisco, Citrix, Comcast, Cray, Dell, Dreamhost, EMC, Ericsson, Fujitsu, Go Daddy, Google, Hewlett-Packard, Hitachi Data Systems, Huawei, IBM, Intel, Internap, Juniper Networks, Mellanox, Mirantis, MRV, NEC, NetApp, Nexenta, Oracle, PLUMgrid, Pure Storage, Qosmos, Red Hat, Solidfire, SUSE Linux, VMware, VMTurbo, Yahoo! и ZTE.

По состоянию на 2015 год высший уровень членства («платиновый») в некоммерческой организации, координирующей разработку, имелся у компаний AT&T, Canonical, Hewlett-Packard, IBM, Intel, Rackspace, Red Hat, SUSE[4].

В 2021 году организация стала фондом Open Infrastructure Foundation (OIF)[5].

История релизов[править | править код]

Номера релизов формируются по схеме YYYY.N. Например, первый релиз 2012 года имеет номер 2012.1.

В течение цикла разработки релизы именуются с использованием кодовых имен. Имена выбираются в алфавитном порядке. Например первый релиз имеет название Austin, второй релиз называется Bexar и т. д. Имена выбираются голосованием участников OpenStack Foundation. Кодовые имена выбираются из городов или стран, где проходит соответствующий саммит.

Название[6] Дата Заметки
Austin 21 октября 2010[7] EOL
Bexar 3 февраля 2011[8] EOL
Cactus 15 апреля 2011[9] EOL
Diablo 22 сентября 2011[10] EOL
Essex 5 апреля 2012[11] EOL
Folsom 27 сентября 2012[12] EOL
Grizzly 4 апреля 2013[13] EOL
Havana 17 октября 2013[14] EOL
Icehouse[15] 17 апреля 2014 EOL
Juno[16] 16 октября 2014 EOL
Kilo[17] 30 апреля 2015 EOL
Liberty 15 октября 2015 EOL
Mitaka 7 апреля 2016 EOL
Newton 6 октября 2016 EOL
Ocata 22 февраля 2017 EOL
Pike 06 октября 2017 EOL
Queens 28 февраля 2018 Extended Maintenance
Rocky 30 августа 2018 Extended Maintenance
Train 10 апреля 2019 Extended Maintenance
Ussuri 13 мая 2020 Extended Maintenance
Victoria 14 октября 2020 Extended Maintenance
Wallaby 14 апреля 2021 Maintained
Xena 6 октября 2021 Maintained
Yoga 30 марта 2022 Maintained
Zed 5 октября 2022 Текущий стабильный релиз

Компоненты[править | править код]

Основные компоненты OpenStack:

  • Nova — контроллер вычислительных ресурсов;
  • Glance — библиотека образов виртуальных машин, обычно с бэкендом в Swift;
  • Swift — облачное файловое хранилище;
  • Cinder — служба работы с блочными устройствами хранения данных (выведена из Nova в отдельный проект);
  • Keystone — сервис идентификации;
  • Neutron (в первых выпусках — Quantum) — сервис «подключение к сети как услуга» между интерфейсами устройств (vNIC), которые управляются другими сервисами OpenStack.
  • Horizon — графический интерфейс администрирования.
  • Heat — оркестратор
  • Ceilometer — средства сбора, нормализации и трансформации данных, предоставляемых сервисами OpenStack. Собираемые данные используются для реализации различных сценариев реагирования на события.
  • Trove — База данных
  • Sahara — Elastic Map Reduce
  • Ironic — средства управления и провижининга физическими серверами (Bare Metal Provisioning)
  • Zaqar — Multiple Tenant Cloud Messaging
  • Manila — Shared File System Service
  • Designate — DNS как сервис (DNSaaS — DNS as a Service)
  • Barbican — API безопасности
  • Searchlight — передовая и масштабируемая индексация и поиск по многопользовательским облачным ресурсам.
  • Watcher — оптимизация вычислительной нагрузки облачных ресурсов.

Nova[править | править код]

OpenStack Compute (Nova) — отвечает за создание, запуск, перезапуск, остановку виртуальных машин, и т. д. компонент для контроля вычислительных ресурсов. Модуль может работать с различными технологиями виртуализации (гипервизорами), такими, как KVMVMware, Xen, а также с Hyper-V и системами виртуализации на уровне операционной системы, такими, как LXC. Также модуль может управлять конфигурациями bare metal и high-performance computing

Nova использует компонент OpenStack Keystone для выполнения аутентификации, компонент OpenStack Horizon в качестве интерфейса администрирования и компонент OpenStack Glance для предоставления своих образов. Самым тесным является взаимодействие с компонентом Glance, который требуется компоненту Nova для загрузки образов с целью их последующего запуска[18].

Модуль поддерживает горизонтальное масштабирование на стандартном аппаратном обеспечении, и позволяет интегрироваться с унаследованными системами.

Glance[править | править код]

Компонент Image Service (Glance) позволяет обнаруживать, регистрировать и извлекать образы виртуальных машин (VMI — Virtual Machine Images).

Glance также хранит и управляет метаданными VMI.

Данный модуль управляет образами в кластере OpenStack, но не отвечает за их фактическое хранение. Glance обеспечивает абстрагирование нескольких технологий хранения — в диапазоне от простых файловых систем до систем хранения объектов, таких как проект OpenStack Object Storage (Swift). Помимо реальных образов дисков, Glance содержит метаданные и сведения о состоянии, описывающие образ[18].

Swift[править | править код]

Swift (OpenStack Object Storage) — это полностью распределенное «безграничное» хранилище, которое характеризуется отказоустойчивостью и высокой надежностью. Созданный аналогично Amazon S3, Swift почти полностью основан на разработках компании Rackspace[19].

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

Объект — это основная сущность хранения в Swift. Он содержит контент и все возможные дополнительные метаданные, ассоциированные с файлами, хранящимися в системе OpenStack Object Storage. Данные хранятся в несжатом и в незашифрованном виде и состоят из имени объекта, его контейнера и, возможно, метаданных, представленных в форме пар «ключ/значение». Объекты распределены между несколькими дисками в масштабе всего центра обработки данных, чем Swift гарантирует репликацию данных и целостность данных. Распределенная организация позволяет применять недорогие массовые аппаратные средства, а также повышает избыточность и как следствие, масштабируемость и долговечность[20].

Cinder[править | править код]

Cinder (OpenStack Block Storage) — блочное хранилище (в отличие от объектного хранилища Swift). Реализация подобна решению Amazon Elastic Block Store[20].

Watcher[править | править код]

Watcher (OpenStack Infrastructure Optimization) предназначен для оптимизации существующих виртуальных ресурсов — таких как виртуальные машины, образы, тома. Он позволяет провести балансировку кластера за счет применения сложных стратегий, которые в результате подготавливают план действий для администратора кластера[21].

Примечания[править | править код]

  1. Canonical будет использовать OpenStack в качестве основной cloud-платформы. Дата обращения: 8 октября 2011. Архивировано 13 октября 2011 года.
  2. OpenStack Foundation. Дата обращения: 8 октября 2011. Архивировано из оригинала 8 октября 2011 года.
  3. Red Hat Announces OpenStack-powered Product Offerings to Deliver on Open Hybrid Cloud Vision. Red Hat Press Release (12 июня 2013). Дата обращения: 22 июля 2015. Архивировано 29 июля 2014 года.
  4. Participating Companies. Дата обращения: 8 октября 2011. Архивировано 22 сентября 2012 года.
  5. OpenStack Foundation переименовали в Open Infrastructure Foundation: новые функции, миссия и участники. Дзен | Блогерская платформа. Дата обращения: 20 апреля 2023. Архивировано 20 апреля 2023 года.
  6. Release Naming — Wiki. Дата обращения: 6 июня 2013. Архивировано 26 сентября 2013 года.
  7. OpenStack Projects " OpenStack Open Source Cloud Computing Software. Дата обращения: 29 августа 2011. Архивировано из оригинала 7 июня 2012 года.
  8. BexarReleaseSchedule — Wiki Архивировано 2 ноября 2012 года.
  9. CactusReleaseSchedule — Wiki. Дата обращения: 29 августа 2011. Архивировано 8 февраля 2013 года.
  10. DiabloReleaseSchedule — Wiki. Дата обращения: 29 августа 2011. Архивировано 16 февраля 2013 года.
  11. EssexReleaseSchedule — Wiki. Дата обращения: 15 апреля 2012. Архивировано 10 февраля 2013 года.
  12. FolsomReleaseSchedule — Wiki. Дата обращения: 1 октября 2012. Архивировано 19 января 2013 года.
  13. GrizzlyReleaseSchedule — Wiki. Дата обращения: 11 апреля 2013. Архивировано 13 февраля 2013 года.
  14. Havana_Release_Schedule — Wiki. Дата обращения: 6 июня 2013. Архивировано 8 октября 2013 года.
  15. OpenStack «I» release naming — launchpad. Дата обращения: 6 июня 2013. Архивировано 20 октября 2013 года.
  16. Juno Release Schedule — Wiki. Дата обращения: 22 октября 2014. Архивировано 6 октября 2014 года.
  17. Список релизов OpenStack (en). Дата обращения: 17 июня 2015. Архивировано 18 июня 2015 года.
  18. 1 2 Знакомство с OpenStack: компонент Glance и компонент Nova. www.ibm.com (19 мая 2014). Дата обращения: 18 апреля 2016. Архивировано 4 мая 2016 года.
  19. OpenStack Swift - OpenStack.ru. OpenStack.ru. Дата обращения: 25 апреля 2016. Архивировано из оригинала 25 апреля 2016 года.
  20. 1 2 Знакомство с OpenStack  : Storage-компоненты Swift и Cinder. www.ibm.com (6 марта 2015). Дата обращения: 25 апреля 2016. Архивировано 12 мая 2016 года.
  21. OpenStack Watcher Wiki. Дата обращения: 9 октября 2016. Архивировано 10 октября 2016 года.

Литература[править | править код]

  • Маркелов А. OpenStack. Практическое знакомство с облачной операционной системой. — 3-е. — ДМК Пресс, 2017. — 268 с. — ISBN 978-5-97060-520-2.

Ссылки[править | править код]