SharxBase

Описание архитектуры

Введение

В данном разделе приводится описание архитектуры ПАК. ПАК предназначен для создания высокопроизводительной вычислительной инфраструктуры центров обработки данных (далее – ЦОД).

Технические характеристики

Описание

ПАК представляет собой комплекс программных и аппаратных компонент. За базовую единицу вычислений принимается узел. Узел представляет собой сервер x86_64 архитектуры стандартного форм-фактора с установленными в него твердотельными дисками (далее SSD), высокопроизводительными процессорами и сетевой картой 10 Гбит/с или 40 Гбит/с, также в конфигурации может присутствовать модуль безопасности «Соболь». На выделенный SSD в рамках каждого узла, устанавливается программное обеспечение, предоставляющее вычислительные мощности конечным потребителям. В случае использования серверов высокой плотности, 4 узла агрегируют в блок.

ПАК построен на современных принципах построения вычислительной инфраструктуры:

1. Горизонтальное масштабирование;

2. Высокая производительность;

3. Высокая доступность и надежность;

4. Отсутствие единых точек отказа;

5. Простота в эксплуатации и обслуживании.

Описание структуры комплекса

Комплекс состоит из следующих компонент:

1. Серверный узел;

2. Серверная операционная система на основе Linux;

3. Подсистема управления виртуализацией на основе открытого исходного кода;

4. Гипервизор на основе открытого исходного кода;

5. Виртуальный сетевой коммутатор на основе открытого исходного кода;

6. Распределенное хранилище данных;

7. Сеть передачи данных;

8. Подсистема мониторинга и оповещения на основе открытого исходного кода.

Общая схема архитектуры ПАК

Общая схема архитектуры приведена на рисунке (см. Рисунок 1).

Рисунок 1. Общая схема архитектуры решения

Для обеспечения функционирования минимальная конфигурация должна включать в себя не менее трех узлов. Максимальное количество узлов в кластере равно 62.

Схема типового блока

Схема типового блока приведена на рисунке (см. Рисунок 2).

Рисунок 2. Схема типового блока (4 узла)

  • Типовые узлы агрегированы в одно устройство – блок.

  • SSD диски, входящие в состав каждого из узлов, объединяются в единое распределенное хранилище данных.

  • Добавление новых узлов/блоков увеличивает вычислительную мощность и ресурсы хранения всего кластера.

  • Подсистема управления может функционировать на любом узле кластера.

Схема типового узла

Схема типового узла приведена на рисунке (см. Рисунок 3).

Рисунок 3. Схема типового узла

Каждый узел предоставляет:

  • устройства хранения данных;
  • вычислительные ресурсы;
  • доступ к сети ЛВС.

Описание системы управления виртуализацией на основе открытого кода

Система управления виртуализацией ПАК, построена на основе открытого исходного кода. Она интегрирует в себя управление всеми ресурсами виртуальной среды, такими как вычислительные ресурсы, ресурсы хранения, сетевые ресурсы, мониторинг и модуль безопасности.

Система управления предоставляет собой, запущенные на узлах экземпляры системы и СУБД, которая содержит всю информацию об узлах, виртуальных машинах, сетях и другую информацию. При помощи алгоритма raft, производят выбор лидера и ему присваивается плавающий IP адрес, с помощью которого производится управление всей системой, через единую консоль управления. Лидер периодически отправляет heartbeat сообщения остальным узлам кластера, для подтверждения своего статуса, в случае, если лидер вышел из строя и heartbeat сообщения не отправляются, узлы инициируют процесс выбора нового лидера. Лидер оперирует со всеми ресурсами кластера на запись, а также реплицирует все изменения БД на остальные узлы кластера.

Описание виртуального сетевого коммутатора

Виртуальный сетевой коммутатор, установленный на каждом узле, представляет собой программное обеспечение управляющее сетевым трафиком между аппаратным интерфейсом узла и сетевыми интерфейсами виртуальных машин, централизованное управление виртуальными коммутаторами производится системой управления виртуализацией.

Описание подсистемы мониторинга

Подсистема мониторинга представляет собой распределенную систему мониторинга, установленную на каждом из узлов кластера и предоставляющую данные о состоянии «ПАК» системе управления виртуализацией, которая отображает эти данные пользователям «ПАК».

Описание распределенного хранилища данных.

Распределенное хранилище данных (РХД) объединяет локальные SSD диски каждого узла в кластере, в единый пул, предоставляющий ресурсы хранения вычислительным узлам и виртуальным машинам. Программное обеспечение распределённого хранилища данных, устанавливается на каждом узле в кластере и предоставляет хранилище операционной системе узла в виде блочного устройства.

Для исключения единой точки отказа хранилище использует коэффициент отказоустойчивости (уровень репликации). Коэффициент описывает количество синхронных копий данных в кластере, он коррелирует с количеством узлов в кластере, которые могут выйти из строя без потери данных и падения производительности. При минимальной конфигурации из трех узлов, коэффициент отказоустойчивости равен 2, выход из строя 1 узла не приводит к отсутствию доступа и потери целостности данных. При конфигурации, состоящей из 4 и более узлов, коэффициенте отказоустойчивости равен 3, выход из строя 2 узлов, не приводит к отсутствию доступа и потери целостности данных.

Хранилище защищает данные от потери и гарантирует их целостность с помощью 64-битной контрольной суммы и отслеживание версионности для каждого контролируемого сектора диска. В отличии от других технологий хранения данных, таких как RAID или ZFS, хранилище не полагается на дублирование данных на другие устройства, поэтому каждый диск, добавленный пул, добавляет емкость и производительность кластеру, причем не только для новых данных, но и для существующих. При наличии достаточных копий данных, диски могут быть добавлены или удалены без потери производительности и доступа к ним. Каждый узел отвечает за данные, хранящиеся на его локальных дисках. Узлы взаимодействуют друг с другом для предоставления доступа клиентам. Подсистема предоставляет общий пул хранения, объединяющий все доступные емкости. Подсистема хранения состоит из двух частей – сервера хранения и клиента хранилища, которые установлены на каждом физическом узле. Каждый узел выступает в обеих ролях. Для клиентов хранилища тома предоставляются в виде блочных устройств в /dev/* и дальнейшая работа с ними производится как с обычными дисковыми устройствами. Данные по томам могут считываться и записываться всеми клиентами одновременно, согласованность чтения и записи гарантируется с помощью протокола синхронной репликации.