Варианты развёртывания
Ниже приведены типовые сценарии установки для продуктивной эксплуатации и тестирования. Сценарии можно расширять дополнительными сервисами в зависимости от требований к ёмкости и производительности.
Источник пользователей не определяет топологию кластера. В базовом сценарии используются локальные пользователи; для базового кластера также приведены конфигурации с 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) |
Server4 | PostgreSQL |
См. Быстрый старт.
Схема стенда:

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

Базовый кластер
- Отказоустойчивый кластер хранилища для тестовых и продуктивных сред.
| Сервер | Компоненты |
|---|---|
Server1 | PostgreSQL |
Server2 | Закрома.Хранение, ZDS (Erasure Coding 2+1), HAProxy и keepalived |
Server3 | Закрома.Хранение, ZDS (Erasure Coding 2+1), HAProxy и keepalived |
Server4 | Закрома.Хранение, ZDS (Erasure Coding 2+1), HAProxy и keepalived |
Server5 | Kafka и Kafka-UI (опционально) |
См. Установка базового кластера.
Схема стенда:

Профили аутентификации базового кластера
| Профиль | Источник пользователей | Особенности |
|---|---|---|
| Локальные пользователи | Файл конфигурации Закрома.Хранение | Вариант по умолчанию в инструкции базового кластера |
| Внешний 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–Server3 | 1 | Закрома.Хранение, ZDS v2 EC 2+1, HAProxy и keepalived |
Server4–Server6 | 2 | Закрома.Хранение, ZDS v2 EC 2+1, HAProxy и keepalived |
Server7 | Внешняя инфраструктура | PostgreSQL |
См. Установка растянутого кластера.
Схема стенда:

Мультикластер
- Несколько независимых кластеров.
- Используется для распределённого хранения, георезервирования и масштабирования, например при размещении кластеров в разных ЦОД.
| Сервер | Компоненты | Cluster |
|---|---|---|
Server1 | PostgreSQL | 1 |
Server2 | Закрома.Хранение, ZDS (Erasure Coding 2+1) | 1 |
Server3 | Закрома.Хранение, ZDS (Erasure Coding 2+1) | 1 |
Server4 | Закрома.Хранение, ZDS (Erasure Coding 2+1) | 1 |
Server5 | Kafka и Kafka-UI | 1 |
Server6 | PostgreSQL | 2 |
Server7 | Закрома.Хранение, ZDS (Erasure Coding 2+1) | 2 |
Server8 | Закрома.Хранение, ZDS (Erasure Coding 2+1) | 2 |
Server9 | Закрома.Хранение, ZDS (Erasure Coding 2+1) | 2 |
Server10 | Kafka и Kafka-UI | 2 |
Схема стенда:

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