Страницы

четверг, 18 ноября 2021 г.

Архитектура Red Hat Ceph Storage

Кластер Red Hat Ceph Storage – это распределенное объектное хранилище, спроектированное для предоставления великолепной производительности, устойчивости и масштабирования. Распределенные объектные хранилища – это будущее хранилища, так как они могут управлять неструктурированными данными, а клиенты при этом могут одновременно использовать как современные, так и устаревшие интерфейсы, например:

  • Интерфейсы разработки приложений (API) во множестве языков программирования (C/C++, Java, Python).
  • Интерфейсы на базе REST (S3, Swift).
  • Интерфейс больного устройства.
  • Интерфейс файловой системы.

Мощь кластера Red Hat Ceph Storage может трансформировать инфраструктуру организации и обеспечить возможности управления невероятными объемами данных, особенно, для облачных вычислительных платформ, таких как Red Hat OpenStack. Кластер Red Hat Ceph Storage способен обеспечить экстраординарную масштабируемость – тысячи клиентов смогут обращаться к петабайтам, экзабайтам и даже еще большим объемам данных.

В сердце каждого развертывания Ceph находится кластер Red Hat Ceph Storage.В свою очередь, кластер состоит из трёх типов демонов:

  • Демоны Ceph OSD хранят данные от имени клиентов Ceph. Дополнительно, эти демоны используют процессор, память и сетевые ресурсы узлов Ceph для выполнения функций репликации данных, очищающего кодирования, повторной балансировки, восстановления, мониторинга и отчётов.
  • Демоны Ceph Monitor поддерживают главную копию (Master Copy) карты кластера Red Hat Ceph Storage с текущим состоянием. Данные демоны требуют высокой согласованности и используют Paxos для согласования состояния кластера.
  • Демоны Ceph Manager поддерживают детальную информацию о группах размещения, обрабатывают метаданные и размещают метаданные вместо Ceph Monitor, существенно увеличивая производительность в масштабе. Демоны Ceph Manager обрабатывают множество запросов только для чтения, таких как статистики групп размещения. Также эти демоны предоставляют полный интерфейс разработки приложений (API) на базе REST для мониторинга.

Интерфейсы клиентов Ceph читают и записывают данные в кластер Red Hat Ceph Storage. Для взаимодействия с кластером клиентам нужны следующие данные:

  • Конфигурационный файл Ceph или имя кластера (обычно Ceph) и адрес монитора.
  • Имя пула (Pool Name).
  • Имя пользователя и путь к секретному ключу (Secret Key).

Клиенты Ceph поддерживают идентификаторы объектов и имена пулов, в которых хранятся объекты. Однако им не нужно поддерживать индекс (Object-to-OSD) или взаимодействовать с централизованным индексом для обнаружения расположений объектов. Для хранения запрашиваемых данных клиенты Ceph обращаются к Ceph Monitor и получают новейшую копию карты кластера Red Hat Ceph Storage. Затем клиенты Ceph предоставляют имена объекта и пула в libroads, который вычисляет группу размещения объектов и основной OSD для хранения и получения данных при помощи алгоритма CRUSH (Controlled Replication Under Scalable Hashing). Клиент Ceph подключается к основному OSD, на котором он может выполнить операции чтения и записи. В архитектуре отсутствует промежуточный сервер, брокер или шина между клиентом и OSD.

Когда OSD сохраняет данные, он получает их от клиента, вне зависимости от того, будет это блочное устройство Ceph, Ceph Object Gateway, файловая система Ceph или иной интерфейс, и сохраняет данные в качестве объекта. Идентификатор объекта (Object ID) уникален для всего кластера, не только для накопителя хранения OSD.

Ceph OSD хранит все данные в виде объектов в плоском пространстве имён, в нем отсутствует иерархия или каталоги. Объект состоит из уникального идентификатора (ID), двоичных данных и метаданных, состоящих из набора пар имя/значение).

Клиенты Ceph определяют семантику для формата собственных данных. Например, карты блочных устройств Ceph сопоставляют образ блочного устройства с серией объектов, хранящихся в кластере.

Объекты, состоящие из уникальных идентификаторов, данных и спаренных метаданных (имя/значение), могут представлять структурированные и не структурированные данные, а также устаревшие и современные интерфейсы хранения данных.


P.S. Ранее я уже писал несколько статей на тему Ceph Storage: «Жизненный цикл Red Hat Ceph Storage», «Релиз Red Hat Ceph Storage 4» и «Релиз Red Hat Ceph Storage 5». Также в скором времени, я планирую больше рассказать о Red Hat Ceph Storage 5.

Комментариев нет:

Отправить комментарий