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

Версия 23.1 от Ирина Сафонова на 08.02.2024, 12:19

Слои сервиса


В Beecloud stack пять слоев:

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


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

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


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

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

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

SDC

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

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

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

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

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

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

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

1707342322778-969.png

SDN

Программно-определяемая сеть (software-defined networking, SDN; также программно-конфигурируемая сеть) — сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется программно, одна из форм виртуализации сети. 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.