[ English | Deutsch | русский | English (United Kingdom) ]
Архитектура хранения данных¶
OpenStack имеет несколько областей хранения, которые следует учитывать:
Блочное хранилище (cinder)
Объектное хранилище (swift)
Хранение образов (glance)
Временное хранение (nova)
Shared Filesystems storage (manila)
Блочное хранилище (cinder)¶
Служба блочного хранилища (cinder) управляет дисками на устройствах хранения в среде. В рабочем окружении устройство представляет хранилище через протокол хранения (например, NFS, iSCSI или Ceph RBD) в сети хранения (br-storage
) и API управления хранилищем в сети управления (br-mgmt
). Инстансы подключаются к дискам через сеть хранения гипервизором на вычислительном хосте.
На следующей схеме показано, как блочное хранилище подключается к инстансам.

На схеме показаны следующие шаги.¶
Диск создается службой |
|
После создания диска служба |
|
После подключения гипервизора к диску он представляет диск как локальное аппаратное устройство для инстанса. |
Важно
LVMVolumeDriver разработан как реализация стандартного драйвера, которую мы не рекомендуем для использования в рабочем окружении. Серверная часть хранилища LVM представляет собой решение с одним сервером, которое не обеспечивает возможности высокой доступности. Если сервер становится недоступным, то все диски, управляемые службой cinder-volume
, работающей на этом сервере, становятся недоступными. Обновление пакетов операционной системы (например, ядра или iSCSI) на сервере приводит к сбоям в подключении к хранилищу, поскольку служба iSCSI (или хост) перезапускается.
Из-за ограничения с подключением контейнера iSCSI, необходимо развернуть службу cinder-volume
непосредственно на физическом хосте (не в контейнере) при использовании бекэндов хранения, подключаемых через iSCSI. Сюда входит LVMVolumeDriver и многие драйверы для коммерческих устройств хранения.
Примечание
Служба cinder-volume
не работает в конфигурации высокой доступности. Когда служба cinder-volume
настроена на управление дисками на одном и том же бекэнде с нескольких хостов или контейнеров, одна служба планируется для управления жизненным циклом диска, пока для этого не будет назначена альтернативная служба. Это назначение можно выполнить с помощью cinder-manage CLI tool. Эта конфигурация может измениться, если будет реализована cinder volume active-active support spec.
Объектное хранилище (swift)¶
Служба Object Storage (Swift) реализует высокодоступное, распределенное и в конечном итоге согласованное хранилище объектов/BLOB-объектов, доступное по протоколу HTTP/HTTPS.
Следующая схема иллюстрирует, как осуществляется доступ к данным и их репликация.

Клиенты получают доступ к сервису swift-proxy
через балансировщик нагрузки в сети управления (br-mgmt
). Сервис swift-proxy
взаимодействует со сервисами Account, Container и Object на хостах Object Storage через сеть хранения (br-storage
). Репликация между хостами Object Storage выполняется через сеть репликации (br-repl
).¶
Хранение образов (glance)¶
Службу образов (glance) можно настроить для хранения образов на различных внутренних хранилищах, поддерживаемых драйверами glance_store.
Важно
При использовании файлового хранилища служба образов не имеет собственного механизма для репликации образа между хостами службы образов. Мы рекомендуем использовать общий бекэнд хранилища (через монтирование файловой системы), чтобы гарантировать, что все службы glance-api
имеют доступ ко всем образам. Это предотвращает потерю доступа к образам при потере хоста инфраструктуры (управляющей плоскости).
На следующей схеме показано взаимодействие между службой образов, устройством хранения и службой nova-compute
при создании инстансов.

На схеме показаны следующие шаги.¶
1 |
Когда клиент запрашивает образ, служба |
2 |
Когда на вычислительном хосте запланировано создание инстанса, служба |
3 |
После извлечения образа служба |
Временное хранение (nova)¶
Когда типы инстансов в вычислительной службе настроены на предоставление инстансам корневых или временных дисков, служба nova-compute
управляет этими распределениями, используя свое местоположение хранилища временных дисков.
Во многих средах временные диски хранятся на локальных дисках вычислительного хоста, но для рабочих окружений мы рекомендуем настроить вычислительные хосты на использование общей подсистемы хранения. Общая подсистема хранения позволяет быстро выполнять динамическую миграцию инстансов между вычислительными хостами, что полезно, когда администратору необходимо выполнить обслуживание вычислительного хоста и он хочет его эвакуировать. Использование общей подсистемы хранения также позволяет восстанавливать инстансы, когда вычислительный хост отключается. Администратор может эвакуировать инстанс на другой вычислительный хост и снова загрузить его. На следующей схеме показано взаимодействие между устройством хранения, вычислительным хостом, гипервизором и инстансом.

На схеме показаны следующие шаги.¶
1 |
Вычислительный хост настроен с доступом к устройству хранения. Вычислительный хост получает доступ к пространству хранения через сеть хранения ( |
2 |
Служба |
3 |
Гипервизор представляет диск как устройство для инстанса. |