Найти в Дзене
ОНЛАНТА

Всем привет

Всем привет! 👋 В одном из предыдущих постов, прежде чем углубиться в мир RDMA, мы упомянули еще одну технологию, о которой хотели рассказать подробнее. И вы конечно же помните, что это? 😉 Да, это OpenStack Swift. OpenStack Swift — это сервис объектного хранилища в экосистеме OpenStack. Он представляет собой отказоустойчивую распределенную систему объектного хранения, предназначенную для записи, хранения и извлечения больших объемов неструктурированных данных (файлов, образов ВМ, бэкапов) через REST API (Representational State Transfer Application Programming Interface). Поддерживает все стандартные HTTP (HyperText Transfer Protocol) методы: 🔵GET — получение данных 🔵POST — создание новых ресурсов 🔵PUT — обновление существующего ресурса 🔵PATCH — частичное обновление 🔵DELETE — удаление 📖OpenStack Swift (Object Storage) зародился в 2010 году как совместный проект Rackspace Hosting и NASA, став одним из двух первоначальных компонентов OpenStack. Проект был призван обеспечить мас

Всем привет! 👋

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

И вы конечно же помните, что это? 😉

Да, это OpenStack Swift.

OpenStack Swift — это сервис объектного хранилища в экосистеме OpenStack. Он представляет собой отказоустойчивую распределенную систему объектного хранения, предназначенную для записи, хранения и извлечения больших объемов неструктурированных данных (файлов, образов ВМ, бэкапов) через REST API (Representational State Transfer Application Programming Interface). Поддерживает все стандартные HTTP (HyperText Transfer Protocol) методы:

🔵GET — получение данных

🔵POST — создание новых ресурсов

🔵PUT — обновление существующего ресурса

🔵PATCH — частичное обновление

🔵DELETE — удаление

📖OpenStack Swift (Object Storage) зародился в 2010 году как совместный проект Rackspace Hosting и NASA, став одним из двух первоначальных компонентов OpenStack.

Проект был призван обеспечить масштабируемое, полностью распределенное отказоустойчивое хранилище (аналог Amazon S3) с использованием стандартного оборудования.

С 2012 года проект управляется OpenStack Foundation. Swift получился универсальным и надежным решением, используемым в крупных продуктивных средах. Он поддерживает API, совместимый с S3, хотя в последние годы может выступать просто как API-интерфейс для других бэкендов, таких как Ceph.

Основные логические сущности Swift:

✅ Владелец (tenant)

✅ Учетная запись (account)

✅Пользователь (users)

✅Контейнер (container)

✅Объект (object)

Как же они соотносятся друг с другом?

В одном аккаунте может находиться несколько пользователей (users). Аккаунт в свою очередь принадлежит владельцу. Владелец (tenant) может создавать пользователей. Учетная запись содержит в себе контейнеры (container), а контейнеры уже содержат в себе объекты (object).

Объект — это атомарная единица хранения данных. По умолчанию в Swift у объекта три реплики или копии (с возможностью физического разделения по разным ЦОД). Для обращения к объекту необходима комбинация из трёх элементов: account, container и object.

Основные компоненты OpenStack Swift делятся на несколько ключевых служб и подсистем:

⤵️ Proxy Server (swift-proxy-server): принимает HTTP-запросы (REST API), перенаправляет их к нужным узлам хранения и возвращает ответ пользователю.

⤵️ Ring (Кольцо): определяет логическое отображение имен (account/container/object) на физическое расположение данных на дисках. Использование колец (rings) позволяет распределять данные по серверам без единой точки отказа, обеспечивая высокую отказоустойчивость. При этом отсутствует необходимость единой базы данных.

⤵️ Account Server (swift-account-server): управляет учетными записями, которые содержат списки контейнеров.

⤵️ Container Server (swift-container-server): управляет контейнерами, которые хранят списки объектов.

⤵️ Object Server (swift-object-server): отвечает за хранение, передачу и удаление реальных данных на узлах.

⤵️ Replicator (Репликатор): обеспечивает согласованность данных, копируя их между узлами.

⤵️ Updater (Обновитель): обновляет информацию о контейнерах/объектах, если основные сервисы не смогли сделать это сразу.

⤵️ Auditor (Аудитор): проверяет целостность объектов, контейнеров и учетных записей, исправляя поврежденные данные.

OpenStack Swift стал одним из стандартов для объектного хранилища в частных и публичных облаках.

💡 А что дальше?

На следующей неделе мы рассмотрим преимущества и недостатки OpenStack Swift.

Будет интересно! 💯

#ТехЛаб_Образовательный

🔗 Читать в MAX