Типовые варианты конфигурации
Документация по установкеСм. раздел Установка
Ознакомительный характер статьиПриведённые конфигурации носят ознакомительный характер для определения примерного объёма требуемых ресурсов.
Под конкретный проект нужно сделать отдельный расчёт, учтя нагрузку и специфику проекта. Для расчёта сайзинга обратитесь к вашему авторизованному партнёру ЗАКРОМА.
В статье рассматриваются наиболее популярные варианты конфигураций S3 ЗАКРОМА.Хранение:
- Многоузловая конфигурация на одной площадке на VM (Single Cluster on VM)
- Многоузловая конфигурация на одной площадке на Kubernetes + VM (Single Cluster on Kubernetes + VM)
- Многоузловая конфигурация на одной площадке на Baremetal (Single Cluster on BareMetal)
- Многоузловая конфигурация растянутого кластера на нескольких площадках на Kubernetes + VM (Stretched Cluster on Kubernetes + VMs)
- Мультикластерная конфигурация на VM (Multi Cluster on VMs)
Расчётная нагрузка
Примеры конфигураций рассчитаны исходя из следующей нагрузки:
- Максимальная потоковая мощность ~ 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)
Особенности
- Конфигурация, обеспечивающая отказоустойчивость в рамках площадки.
- Катастрофоустойчивость можно реализовать за счёт бэкапирования данных.
- Данные хранятся на внешней СХД.
- Требуется внешний балансировщик нагрузки.

Ресурсы
- 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)
Особенности
- Конфигурация, обеспечивающая отказоустойчивость в рамках площадки.
- Катастрофаустойчивость можно реализовать за счёт бэкапирования данных.
- Данные хранятся на СХД
- Возможно масштабировать отдельные компоненты системы независимо друг от друга

Ресурсы
- 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)
Особенности
- Конфигурация, обеспечивающая отказоустойчивость в рамках площадки.
- Катастрофаустойчивость можно реализовать за счёт бэкапирования данных.
- Данные хранятся на дисках
- Минимизация сетевого трафика между узлами за счёт локального взаимодействия компонентов
- Требуется внешний балансировщик нагрузки

Ресурсы (вариант на 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.
- Возможна как синхронная, так и асинхронная репликация данных между площадками.
- Данные хранятся на СХД
- Возможно масштабировать отдельные компоненты системы независимо друг от друга

Ресурсы (в каждом из ЦОД 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)

Ресурсы (в каждом из ЦОД)
- 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
- в скобках указано количество элементов
- размер системного диска может варьироваться