Варианты развёртывания

Ниже приведены типовые сценарии установки для продуктивной эксплуатации и тестирования. Сценарии можно расширять дополнительными сервисами в зависимости от требований к ёмкости и производительности.

Источник пользователей не определяет топологию кластера. В базовом сценарии используются локальные пользователи; для базового кластера также приведены конфигурации с LDAP и Keycloak.

В базовом и растянутом кластере S3 API и Admin UI публикуются через отказоустойчивый балансировщик haproxy-ha (HAProxy и keepalived) на узлах Закрома.Хранение: S3 API — на порту 443, Admin UI — на порту 8443 виртуального IP-адреса (VIP). Балансировщик из поставки опционален: вместо него можно использовать собственные балансировщики, см. Рекомендации по балансировке.

Для базового кластера, растянутого кластера и Single Node Nginx не обязателен. В мультикластерном сценарии Nginx устанавливается на узлах Закрома.Хранение и терминирует TLS для сервиса CDN на порту 443. Для legacy-инсталляций, где Nginx уже используется как reverse proxy или точка TLS-терминации, сохраните существующую схему. Подробнее см. Настройку Nginx.

Быстрый старт (Quick Start, 3+1)

  • Предназначен для функционального пилота и первого знакомства с кластерной установкой.
  • Разворачивает три совмещённых узла Закрома.Хранение/Zakroma-ZDS и отдельный узел PostgreSQL одним плейбуком sample-play-quick-start.yml.
  • Использует локальных пользователей и HTTP без TLS; Kafka, Keycloak, LDAP, Nginx и балансировщик в сценарий не входят.
СерверКомпоненты
Server1Закрома.Хранение, Zakroma-ZDS (Erasure Coding 2+1)
Server2Закрома.Хранение, Zakroma-ZDS (Erasure Coding 2+1)
Server3Закрома.Хранение, Zakroma-ZDS (Erasure Coding 2+1)
Server4PostgreSQL

См. Быстрый старт.

Схема стенда:

image

Демо-стенд (Single Node)

  • Предназначен для демонстрации возможностей Закрома.Хранение и внутренних тестов.
  • Разворачивается на одном сервере.
СерверКомпоненты
Server1Закрома.Хранение, ZDS, PostgreSQL, Kafka и Kafka-UI (опционально)

См. Описание установки демо-стенда.

Схема стенда:

image

Базовый кластер

  • Отказоустойчивый кластер хранилища для тестовых и продуктивных сред.
СерверКомпоненты
Server1PostgreSQL
Server2Закрома.Хранение, ZDS (Erasure Coding 2+1), HAProxy и keepalived
Server3Закрома.Хранение, ZDS (Erasure Coding 2+1), HAProxy и keepalived
Server4Закрома.Хранение, ZDS (Erasure Coding 2+1), HAProxy и keepalived
Server5Kafka и Kafka-UI (опционально)

См. Установка базового кластера.

Схема стенда:

image

Профили аутентификации базового кластера

ПрофильИсточник пользователейОсобенности
Локальные пользователиФайл конфигурации Закрома.ХранениеВариант по умолчанию в инструкции базового кластера
Внешний LDAPСуществующий внешний LDAP-каталогLDAP не устанавливается в составе продукта; все узлы Закрома.Хранение подключаются к нему по LDAP/LDAPS. См. Установка базового кластера с LDAP
KeycloakОтдельный сервис KeycloakТребует установки и настройки Keycloak. См. Установка базового кластера с Keycloak

Растянутый кластер

  • Один управляющий кластер Закрома.Хранение работает на двух площадках и использует одну общую БД PostgreSQL.
  • На каждой площадке развёрнут собственный трёхузловой кластер ZDS с Erasure Coding 2+1 и балансировщик haproxy-ha. При общем L2-сегменте площадки используют один VIP, при L3 — отдельный VIP на каждой площадке с распределением клиентов через DNS Round-Robin, GSLB или внешний балансировщик.
  • Пример инвентаря входит в поставку: inventories/stretched-cluster.
  • Данные бакета зеркалируются между ZDS-хранилищами двух площадок. Зеркало синхронное с MIN SIZE = 1, поэтому при недоступности одной площадки запись выполняется в доступный кластер ZDS, а недостающая копия восстанавливается после возврата площадки.
СерверПлощадкаКомпоненты
Server1–Server31Закрома.Хранение, ZDS v2 EC 2+1, HAProxy и keepalived
Server4–Server62Закрома.Хранение, ZDS v2 EC 2+1, HAProxy и keepalived
Server7Внешняя инфраструктураPostgreSQL

См. Установка растянутого кластера.

Схема стенда:

image

Мультикластер

  • Несколько независимых кластеров.
  • Используется для распределённого хранения, георезервирования и масштабирования, например при размещении кластеров в разных ЦОД.
СерверКомпонентыCluster
Server1PostgreSQL1
Server2Закрома.Хранение, ZDS (Erasure Coding 2+1)1
Server3Закрома.Хранение, ZDS (Erasure Coding 2+1)1
Server4Закрома.Хранение, ZDS (Erasure Coding 2+1)1
Server5Kafka и Kafka-UI1
Server6PostgreSQL2
Server7Закрома.Хранение, ZDS (Erasure Coding 2+1)2
Server8Закрома.Хранение, ZDS (Erasure Coding 2+1)2
Server9Закрома.Хранение, ZDS (Erasure Coding 2+1)2
Server10Kafka и Kafka-UI2

См. Установка мультикластера.

Схема стенда:

image


Количество серверов каждого компонента зависит от требуемого объёма хранения, уровня отказоустойчивости и производительности. Для тестовых стендов и слабо нагруженных систем часть компонентов можно совмещать на меньшем количестве серверов.