1. Архитектура сервиса
Слои сервиса
Физический слой
В слое организована сетевая связность базовых физических элементов (серверов).
Кластерный слой
В слое работают службы обеспечения программно-определяемых слоев:
- SDS (Software Defined Storage),
- SDN (Software Defined Networking),
- SDC (Software Defined Computing).
Главная задача слоя — обеспечение резервирования элементов инфраструктуры до узлов. Резервирование элементов инфраструктуры (Failover) — процедура резервирования при аварийных ситуациях. Процедура проводится кластерным фреймворком, поэтому не требует вмешательства человека.
Слой формируется в виде работы кластерного ПО на каждом из узлов.
SDS
Слой SDC работает на базе гипервизора второго типа (bhyve). Производительность bhyve выше, чем у других популярных гипервизоров. Оптимизация bhyve до сих пор продолжается. Средства аппаратного ускорения виртуальных вычислений поддерживаются на современных процессорах Intel. Гипервизор bhyve поддерживает работу в условиях CPU overcommit.
Экземпляр SDC — виртуальная машина (ВМ), являющаяся совокупной сущностью трех элементов:
- CPU/RAM,
- Виртуальные сетевые порты, подключенные к слою SDN.
- Виртуальные дисковые устройства, подключенные к слою SDS.
В каталоге для ВМ доступно три образа гостевых ОС:
- 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 – файловая система, объединенная с менеджером логических томов, которая также обладает совокупностью уникальных свойств. Единица грануляции слоя SDS – пул, собранный из дисков каждого узла c избыточностью равной избыточности кластера (N+ 2). В момент времени пул работает на конкретном узле кластера.
Возможности слоя хранения:
- компрессия и дедупликация;
- внутренняя целостность данных;
- клоны, снимки;
- самовосстановление данных;
- транзакционная целостность.
На схеме ниже изображен пятиузловой кластер. Вертикальные контейнеры — пулы, горизонтальные — узлы кластера.
В случае выхода из строя узла за счет механизма fencing (процесс исключения узла из кластера) узел, на котором возникла проблема, будет исключен из кластера, а все пулы потеряют по одному диску. При этом кластер автоматически выполнит процедуру аварийного переключения (failover) ресурсов данного узла, и пул, работавший на узле, вышедшем из строя, станет доступен на другом узле. Все ВМ продолжат свою работу на другом узле.
Рисунок 3. Пятиузловый кластер
- Слой сети – SDN
Beecloud stack предоставляет три варианта технологического обеспечения виртуальных сетей:
- VLAN;
- VxLAN;
- GENEVE (собственная имплементация).
При создании новой виртуальной сети на каждом из Узлов Кластера создается программно-определяемый коммутатор.
РИСУНОК 4. SDN – SOFTWARE DEFINED NETWORKING
Каждый экземпляр сети имеет следующие свойства:
- собственный MTU;
- поддержка Jumbo Frames;
- поддержка TSO/GSO;
- поддержка TCP MSS clamping «из коробки»;
- поддержка Path MTU Discovery «из коробки».
Лимиты SDN:
- максимальное количество сетей – 65536;
- 1 048 576 портов на коммутаторе одного узла;
- Производительность виртуального порта ВМ: 22 GBps / 2.5Mpps.