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

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

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

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

В статье рассматриваются наиболее популярные варианты конфигураций 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
  • в скобках указано количество элементов
  • размер системного диска может варьироваться