Типовые варианты конфигурации

Документация по установке

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

Ознакомительный характер статьи

Приведённые конфигурации носят ознакомительный характер для определения примерного объёма требуемых ресурсов.

Под конкретный проект нужно сделать отдельный расчёт, учтя нагрузку и специфику проекта. Для расчёта сайзинга обратитесь к вашему авторизованному партнёру ЗАКРОМА.

В статье рассматриваются наиболее популярные варианты конфигураций S3 ЗАКРОМА.Хранение:

Расчётная нагрузка

Примеры конфигураций рассчитаны исходя из следующей нагрузки:

  • Максимальная потоковая мощность ~ 1 000 MB/s или 8 Gb/s,
  • Количество запросов - 950 rps на чтение, 50 rps на запись,
  • Количество файлов - 100 000 000 файлов,
  • Средний размер файла ~ 1 MB
  • Общий требуемый объём полезного хранения ~ 100 TB rps - requests per second (количество запросов в секунду к API S3)

Многоузловая конфигурация на одной площадке на VM (Single Cluster on VM)

Особенности

  • Конфигурация, обеспечивающая отказоустойчивость в рамках площадки.
  • Катастрофоустойчивость можно реализовать за счёт бэкапирования данных.
  • Данные хранятся на внешней СХД.
  • Требуется внешний балансировщик нагрузки.

image

Ресурсы

  • 2 VM под postgresql(слой хранения метаданных)
  • 3 VM под kafka
  • 4 VM под Zakroma.Storage(управляющий слой) + zds (слой хранения данных).

Топология EC (Erasure coding):

  • EC 4:1 - Полезный объём хранения - 102 TB. Отказоустойчивость кластера - 1 диск или 1 сервер
1VM: (2), Type: postgres, 2 vCPU: 4, RAM: 8 GB 3 Net:(1), Target: Common, Size: 1 Gb/s 4 Disk:(1), Target: System, Type: SSD, Size: 128 GB 5 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 512 GB 6 7VM: (3), Type: kafka, 8 vCPU: 2, RAM: 8 GB 9 Net:(1), Target: Common, Size: 1 Gb/s 10 Disk:(1), Target: System, Type: SSD, Size: 128 GB 11 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 128 GB 12 13VM: (4), Type: storageNode(zds+zakroma), 14 vCPU: 10, RAM: 20 GB 15 Net:(1), Target: outer, Size: 10 Gb/s 16 Net:(1), Target: zds-cluster, Size: 10 Gb/s 17 Disk:(1), Target: System, Type: SSD, Size: 128 GB 18 Disk:(1), Target: Data, Type: СХД, Size: 34 TB
  • в скобках указано количество элементов
  • размер системного диска может варьироваться

Многоузловая конфигурация на одной площадке на Kubernetes + VM (Single Cluster on Kubernetes + VM)

Особенности

  • Конфигурация, обеспечивающая отказоустойчивость в рамках площадки.
  • Катастрофаустойчивость можно реализовать за счёт бэкапирования данных.
  • Данные хранятся на СХД
  • Возможно масштабировать отдельные компоненты системы независимо друг от друга

image

Ресурсы

  • k8s под Zakroma.Storage(управляющий слой) + kafka
  • 2 VM под postgresql(слой хранения метаданных)
  • 4 VM под zds (слой хранения данных).

Топология EC (Erasure coding):

  • EC 4:1 - Полезный объём хранения - 102 TB. Отказоустойчивость кластера - 1 диск или 1 сервер
1K8s: 2 Namespace Quota: CPU: 34, RAM: 68 GB, Storage: 90 GB 3 Требования сети - не менее 10 Gb/s между K8S Worker Node 4 5VM: (2), Type: postgres, 6 vCPU: 4, RAM: 8 GB 7 Net:(1), Target: Common, Size: 1 Gb/s 8 Disk:(1), Target: System, Type: SSD, Size: 128 GB 9 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 512 GB 10 11VM: (4), Type: zds, 12 vCPU: 4, RAM: 8 GB 13 Net:(1), Target: outer, Size: 10 Gb/s 14 Net:(1), Target: zds-cluster, Size: 10 Gb/s 15 Disk:(1), Target: System, Type: SSD, Size: 128 GB 16 Disk:(1), Target: Data, Type: СХД, Size: 34 TB
  • в скобках указано количество элементов
  • размер системного диска может варьироваться

Многоузловая конфигурация на одной площадке на Baremetal (Single Cluster on BareMetal)

Особенности

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

image

Ресурсы (вариант на 3 серверах)

  • 3 Baremetal под все компоненты.

Топология EC (Erasure coding):

  • EC 3:1 - Полезный объём хранения - 102.4 TB. Отказоустойчивость кластера - 1 диск или 1 сервер
1BareMetal: (3), Type: storageNode(zds+zakroma) + postgres + kafka, 2 CPU: 12, RAM: 32 GB 3 Net:(2), Target: outer, Size: 10 Gb/s 4 Net:(2), Target: zds-cluster, Size: 10 Gb/s 5 Disk:(2), Target: System, Type: SSD, Size: 128 GB 6 Disk:(2), Target: MetaData, Type: SSD SAS / NVME, Size: 256 GB 7 Disk:(1), Target: Data, Type: SSD, Size: 7.68 TB(6,98 TB реальная ёмкость) 8 Disk:(6), Target: Data, Type: HDD/SSD, Size: 8 TB (7.27 TB реальная ёмкость) 9
  • в скобках указано количество элементов
  • базовая частота CPU - 2.1 ГГц
  • для BareMetal сети объединяются в bond (balance), например Net:(2), Target: outer, Size: 10 Gb/s означает bond из 2х10G сетей
  • размер системного диска может варьироваться

Ресурсы (вариант на 5 серверах)

  • 2 Baremetal под zds (слой хранения) и postgres (слой метаданных)
  • 3 Baremetal под zds (слой хранения), kafka и Zakroma.Storage (слой управления)

Топология EC (Erasure coding):

  • EC 5:1 - Полезный объём хранения - 144.24 TB. Отказоустойчивость кластера - 1 диск или 1 сервер
  • EC 5:2 - Полезный объём хранения - 108.18 TB. Отказоустойчивость кластера - 2 диска или 1 сервер и 1 диск
1BareMetal: (2), Type: zds + postgres, 2 CPU: 12, RAM: 32 GB 3 Net:(2), Target: outer, Size: 10 Gb/s 4 Net:(2), Target: zds-cluster, Size: 10 Gb/s 5 Disk:(2), Target: System, Type: SSD, Size: 128 GB 6 Disk:(2), Target: MetaData, Type: SSD SAS / NVME, Size: 256 GB 7 Disk:(1), Target: Data, Type: SSD, Size: 7.68 TB(6,98 TB реальная ёмкость) 8 Disk:(4), Target: Data, Type: HDD/SSD, Size: 8 TB (7.27 TB реальная ёмкость) 9 10BareMetal: (3), Type: zds + kafka + zakroma, 11 CPU: 12, RAM: 32 GB 12 Net:(2), Target: outer, Size: 10 Gb/s 13 Net:(2), Target: zds-cluster, Size: 10 Gb/s 14 Disk:(2), Target: System, Type: SSD, Size: 128 GB 15 Disk:(1), Target: Data, Type: SSD, Size: 7.68 TB(6,98 TB реальная ёмкость) 16 Disk:(4), Target: Data, Type: HDD/SSD, Size: 8 TB (7.27 TB реальная ёмкость) 17
  • в скобках указано количество элементов
  • базовая частота CPU - 2.1 ГГц
  • для BareMetal сети объединяются в bond (balance), например Net:(2), Target: outer, Size: 10 Gb/s означает bond из 2х10G сетей
  • размер системного диска может варьироваться

Многоузловая конфигурация растянутого кластера на нескольких площадках на Kubernetes + VM (Stretched Cluster on Kubernetes + VMs)

Особенности

  • Конфигурация, обеспечивающая отказоустойчивость и катастрофаустойчивость.
  • Требуется минимум 2 площадки для хранения данных и ещё одна для witness.
  • Возможна как синхронная, так и асинхронная репликация данных между площадками.
  • Данные хранятся на СХД
  • Возможно масштабировать отдельные компоненты системы независимо друг от друга

image

Ресурсы (в каждом из ЦОД 1/2)

  • k8s не растянут между площадками (для растянутого кластера конфигурация будет отличаться)
  • k8s под Zakroma.Storage(управляющий слой)
  • 1 VM под postgresql(слой хранения метаданных)
  • 1 VM под kafka
  • 4 VM под zds (слой хранения данных).

Топология EC (Erasure coding):

  • EC 4:1 - Полезный объём хранения - 102 TB. Отказоустойчивость кластера - 1 диск или 1 сервер
1K8s: 2 Namespace Quota: CPU: 32, RAM: 64 GB, Storage: 0 GB 3 Требования сети - не менее 10 Gb/s между K8S Worker Node 4 5VM: (1), Type: postgres, 6 vCPU: 4, RAM: 8 GB 7 Net:(1), Target: Common, Size: 1 Gb/s 8 Disk:(1), Target: System, Type: SSD, Size: 128 GB 9 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 512 GB 10 11VM: (1), Type: kafka, 12 vCPU: 2, RAM: 8 GB 13 Net:(1), Target: Common, Size: 1 Gb/s 14 Disk:(1), Target: System, Type: SSD, Size: 128 GB 15 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 128 GB 16 17VM: (4), Type: zds, 18 vCPU: 4, RAM: 8 GB 19 Net:(1), Target: outer, Size: 10 Gb/s 20 Net:(1), Target: zds-cluster, Size: 10 Gb/s 21 Disk:(1), Target: System, Type: SSD, Size: 128 GB 22 Disk:(1), Target: Data, Type: СХД, Size: 34 TB
  • в скобках указано количество элементов
  • размер системного диска может варьироваться

Ресурсы (в ЦОД 3)

  • 1 VM под kafka
1VM: (1), Type: kafka, 2 vCPU: 2, RAM: 8 GB 3 Net:(1), Target: Common, Size: 1 Gb/s 4 Disk:(1), Target: System, Type: SSD, Size: 128 GB 5 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 128 GB

Мультикластерная конфигурация на VM (Multi Cluster on VMs)

Особенности

  • Конфигурация, обеспечивающая отказоустойчивость и катастрофоустойчивость.
  • Возможна только асинхронная репликация данных между площадками.
  • Возможно независимое, не реплицируемое хранение данных на площадках.
  • Состоит из двух и более кластеров (Single Cluster)

image

Ресурсы (в каждом из ЦОД)

  • 2 VM под postgresql(слой хранения метаданных)
  • 3 VM под kafka
  • 4 VM под Zakroma.Storage(управляющий слой) + zds (слой хранения данных).

Топология EC (Erasure coding):

  • EC 4:1 - Полезный объём хранения - 102 TB. Отказоустойчивость кластера - 1 диск или 1 сервер
1VM: (2), Type: postgres, 2 vCPU: 4, RAM: 8 GB 3 Net:(1), Target: Common, Size: 1 Gb/s 4 Disk:(1), Target: System, Type: SSD, Size: 128 GB 5 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 512 GB 6 7VM: (3), Type: kafka, 8 vCPU: 2, RAM: 8 GB 9 Net:(1), Target: Common, Size: 1 Gb/s 10 Disk:(1), Target: System, Type: SSD, Size: 128 GB 11 Disk:(1), Target: Data, Type: SSD SAS / NVME, Size: 128 GB 12 13VM: (4), Type: storageNode(zds+zakroma), 14 vCPU: 10, RAM: 20 GB 15 Net:(1), Target: outer, Size: 10 Gb/s 16 Net:(1), Target: zds-cluster, Size: 10 Gb/s 17 Disk:(1), Target: System, Type: SSD, Size: 128 GB 18 Disk:(1), Target: Data, Type: СХД, Size: 34 TB
  • в скобках указано количество элементов
  • размер системного диска может варьироваться