1. Архитектура сервиса

Редактировал(а) Ирина Сафонова 13.03.2024, 15:16

Слои сервиса


В BeeCloud Stack пять слоев:

Физический слой


В слое организована сетевая связность базовых физических элементов (серверов).

Кластерный слой


В слое работают службы обеспечения программно-определяемых слоев:

Главная задача слоя — обеспечение резервирования элементов инфраструктуры до узлов. Резервирование элементов инфраструктуры (Failover) — процедура резервирования при аварийных ситуациях. Процедура проводится кластерным фреймворком, поэтому не требует вмешательства человека.

Кластерный слой формируется в виде работы кластерного ПО на каждом из узлов.

SDC

SDS (Software Defined Storage) — программно-определяемый слой вычислений. Слой работает на базе гипервизора второго типа (bhyve). Производительность bhyve выше, чем у других популярных гипервизоров. Средства аппаратного ускорения виртуальных вычислений поддерживаются на процессорах Intel. Гипервизор bhyve поддерживает работу в условиях CPU overcommit.

Экземпляр SDC — виртуальная машина (ВМ), которая состоит из четырех элементов:

  • CPU,
  • RAM,
  • Виртуальные дисковые устройства, подключенные к слою SDS.
  • Виртуальные сетевые порты, подключенные к слою SDN.

1707342322756-453.png

В каталоге для ВМ доступно три образа гостевых ОС:

  • FreeBSD,
  • Linux (OEL/CentOS/Ubuntu/Debian и т.д.),
  • Windows 2016, 2019, 2022.

Работоспособность BeeCloud Stack с другими гостевыми ОС не исключается из-за небольших требований к ним. Примеры требований:

  • загрузка в режиме UEFI,
  • наличие драйверов virtio,
  • наличие cloud-init.

Диски ВМ создаются на том же пуле, на котором была создана ВМ. В процессе создания ВМ существуют следующие возможности выбора пула, ресурсы которого будут использоваться:

  • Селекторы — автоматический выбор пула, на котором наименьшее совокупное значение трех параметров:
    • CPU,
    • RAM,
    • дисковое пространство.
  • Пул.

Легковесность BeeCloud Stack — основная причина низкого значения Overhead. Снижение производительности ВМ относительно физического сервера вследствие значимости накладных расходов гипервизора.

SDS

SDS (Software Defined Storage) — программно-определяемый слой хранения. Слой формируется на основе ресурсных примитивов из кластерного слоя. Технологическая основа SDS — ZFS. ZFS — файловая система, объединенная с менеджером логических томов. Единица грануляции слоя SDS — пул, который собирается из дисков каждого узла c избыточностью, равной избыточности кластера (N+2). В момент времени пул работает на конкретном узле кластера.

Возможности слоя хранения:

  • компрессия и дедупликация,
  • внутренняя целостность данных,
  • клоны и снимки,
  • самовосстановление данных,
  • транзакционная целостность.

На схеме ниже кластер с пятью узлами. На схеме вертикальные контейнеры — пулы, горизонтальные контейнеры — узлы кластера. При выходе из строя узла за счет механизма fencing узел, на котором возникла проблема, исключается из кластера. Механизм fencing означает процесс исключения узла из кластера. Кластер автоматически выполнит процедуру аварийного переключения (failover) ресурсов данного узла. Пул, работавший на узле, вышедшем из строя, становится доступным на другом узле. Все ВМ продолжат свою работу на другом узле.

1707342322778-969.png

SDN

SDN (Software-defined networking) — сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется программно, одна из форм виртуализации сети. BeeCloud Stack предоставляет три варианта технологического обеспечения виртуальных сетей:

При создании новой виртуальной сети на каждом из узлов кластера создается программно-определяемый коммутатор.

1707342322789-137.png

Свойства экземпляра сети:

  • MTU,
  • поддержка:
    • Jumbo Frames,
    • TSO/GSO,
    • TCP MSS clamping «из коробки»,
    • Path MTU Discovery «из коробки».

Лимиты SDN:

  • Максимальное количество сетей — 65536.
  • 1 048 576 портов на коммутаторе одного узла.
  • Производительность виртуального порта ВМ: 22 Гбит/с / 2.5 Mpps.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰