Кластер GUI [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_components:dpiui:user_guide:admin_section:cluster:start [2022/08/29 15:31] arusnakdpi:dpi_components:dpiui:user_guide:admin_section:cluster:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-====== 5 Кластер GUI ====== 
-{{indexmenu_n>5}} 
- 
-Кластеризация повышает уровень доступности системы за счет распространения изменений на разные серверы. В случае выхода из строя одного из серверов другие остаются доступными для работы. 
- 
-Кластеризация dpiui2 реализуется за счет репликации базы данных и файловой системы. 
- 
-Возможность кластеризации доступна, начиная с версии [[dpi:dpi_components:dpiui:install_and_update:version_information#версия_v2259_29082022|dpiui2-2.25.9]] 
- 
-===== Репликация базы данных (БД) ===== 
- 
-Репликация БД реализована с помощью MariaDB Galera Cluster. 
- 
-Galera - решение кластеризации баз данных, которое позволяет настраивать кластеры с несколькими главными узлами, используя синхронную репликацию. Galera автоматически обрабатывает размещение данных на разных узлах, позволяя при этом отправлять запросы чтения и записи на любой узел кластера. 
- 
-Дополнительную информацию о Galera можно найти на странице [[https://mariadb.com/kb/en/what-is-mariadb-galera-cluster/|официальной документации]]. 
- 
-===== Репликация файловой системы (ФС) ===== 
- 
-Репликация файловой системы реализована с помощью GlusterFS. 
- 
-GlusterFS — это распределённая, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. GlusterFS объединяет хранилища данных, находящиеся на разных серверах, в одну параллельную сетевую файловую систему. GlusterFS работает в пользовательском пространстве при помощи технологии FUSE, поэтому не требует поддержки со стороны ядра операционной системы и работает поверх существующих файловых систем (ext3, ext4, XFS, reiserfs и т. п.). 
- 
-Дополнительную информацию о GlusterFS можно найти на странице [[https://docs.gluster.org/en/latest/|официальной документации]] 
- 
-===== Установка и настройка ===== 
- 
-==== Настройки ==== 
- 
-Все настройки можно произвести в .env файле dpiui2 или в разделе Конфигурация GUI > Настройки кластера. 
- 
-{{ :dpi:dpi_components:dpiui:user_guide:admin_section:cluster:dpiui2_настройки_кластера.png?direct&640 |}} 
- 
-Параметры настройки: 
- 
-**GALERA_PEER_HOSTS** – список хостов кластера Galera через запятую. Параметр определяет, какие узлы будут доступны кластеру Galera . 
- 
-<note important>!Важно: Главный (мастер) узел кластера необходимо поместить вначале списка. Это важно для первоначального развертывания кластера. 
-</note> 
-**CLUSTER_FS_PEER_HOSTS** – список хостов кластера GlusterFS через запятую. Параметр определяет, какие узлы будут доступны кластеру GlusterFS. 
- 
-<note important>!Важно: Главный (мастер) узел кластера необходимо поместить вначале списка. Это важно для первоначального развертывания кластера.</note> 
- 
-**CLUSTER_PRIMARY_HOST** – главный узел (мастер узел) для Galera и GlusterFS. Параметр определяет главный узел на текущий момент. Данный параметр можно менять в процессе эксплуатации, если главный узел по каким-то причинам выйдет из строя. 
- 
-==== Установка и запуск Galera ==== 
- 
-Для установки и запуска кластера Galera, нужно под пользователем root последовательно на всех узлах кластера, начиная с мастер-узла, выполнить скрипт: 
- 
-<code>sh "/var/www/html/dpiui2/backend/app_bash/galera_setup.sh" -a init_cluster</code> 
- 
-<note warning>!!! Важно: перед запуском скрипта на мастер-узле, необходимо выполнить резервное копирование БД.</note> 
- 
-<note important>! Важно: Перед запуском скрипта необходимо внести [[dpi:dpi_components:dpiui:user_guide:admin_section:cluster:start#настройки|настройки]]</note> 
- 
-<note important>! Важно: между узлами кластера должна быть связанность по IP.</note> 
- 
-<note important>! Важно: Запуск скрипта необходимо выполнять под пользователем root</note> 
- 
-<note important>! Важно: Запуск скрипта необходимо выполнить в первую очередь на мастер узле</note> 
- 
-<note important>! Важно: Необходимо дождаться окончания выполнения скрипта на одном узле, прежде чем запускать его на следующем</note> 
- 
-==== Установка и запуск GlusterFS ==== 
- 
-Для установки и запуска кластера GlusterFS, нужно под пользователем root последовательно выполнить действия: 
- 
-1 
- 
-На всех узлах последовательно выполнить скрипт: 
- 
-<code>sh "/var/www/html/dpiui2/backend/app_bash/glusterfs_setup.sh" -a init_gluster</code> 
- 
-Скрипт выполнит первоначальную установку GlusterFS. Требуется запуск на всех узлах кластера. 
- 
-2 
- 
-На главном (мастер) узле выполнить скрипт: 
- 
-<code>sh "/var/www/html/dpiui2/backend/app_bash/glusterfs_setup.sh" -a init_peers</code> 
- 
-Скрипт выполнит настройку всех узлов кластера. Требуется запуск только на мастер узле. На остальных узлах запуск не требуется. 
- 
-3 
- 
-На главном (мастер) узле выполнить скрипт: 
- 
-<code>sh "/var/www/html/dpiui2/backend/app_bash/glusterfs_setup.sh" -a init_volume</code> 
- 
-Скрипт выполнит настройку распределенного хранилища и файловой системы. Требуется запуск только на мастер узле. На остальных узлах запуск не требуется. 
- 
-4 
- 
-На всех узлах последовательно выполнить скрипт: 
- 
-<code>sh "/var/www/html/dpiui2/backend/app_bash/glusterfs_setup.sh" -a mount</code> 
- 
-Скрипт выполнит монтирование реплицируемых каталогов к распределенной файловой системе. Требуется запуск на всех узлах кластера. 
- 
- 
- 
- 
-<note warning>!!! Важно: перед запуском скрипта на мастер-узле, необходимо выполнить резервное копирование каталога /var/www/html/dpiui2/backend/storage/.</note> 
- 
-<note important>! Важно: Перед запуском скрипта необходимо внести [[dpi:dpi_components:dpiui:user_guide:admin_section:cluster:start#настройки|настройки]]</note> 
- 
-<note important>! Важно: между узлами кластера должна быть связанность по IP.</note> 
- 
-<note important>! Важно: Запуск скрипта необходимо выполнять под пользователем root</note> 
- 
-<note important>! Важно: Необходимо дождаться окончания выполнения скрипта на одном узле, прежде чем запускать его на следующем</note> 
- 
-===== Мастер сервер ===== 
- 
-Важную роль в кластере играет Главный (мастер) сервер. 
- 
-Мастер сервер устанавливается настройкой [[dpi:dpi_components:dpiui:user_guide:admin_section:cluster:start#настройки|CLUSTER_PRIMARY_HOST]]. 
- 
-Мастер сервер выполняет всю фоновою работу dpiui2: взаимодействие с оборудованием, синхронизация абонентов, услуг, тарифов и т.д. 
- 
-Остальные (slave) узлы не выполняют никаких фоновых действий и находятся в режиме ожидания. При этом к эти узлы доступны для работы: пользователи могут работать с этими узлами также как и с мастер сервером и не увидят разницы. Эту опцию можно использовать для балансировки нагрузки, а также для обеспечения более защищённого доступа. 
- 
-При выходе из строя мастер сервера, необходимо изменить настройку CLUSTER_PRIMARY_HOST и назначить мастером другой сервер. 
- 
-===== Перезапуск узлов ===== 
- 
-Для нормальной работы кластера необходимо 3 узла (3 сервера или виртуальные машины). 
- 
-При запуске кластера только на 2-х узлах возникнут проблемы с перезапуском узлов. 
- 
-<note warning>!!! Важно: не пытайтесь реализовать GlusterFS на только на 2-х узлах. Для кластера необходим 3-й сервер – арбитр. При перезапуске любого из 2-х узлов, вы потеряете данные.</note> 
- 
-===== Перезапуск узлов ===== 
- 
-В штатном режиме вы можете без последствий остановить / перезапустить 1 или 2 сервера одновременно. 
- 
-Если необходимо остановить все 3 сервера, нужно сделать это последовательно. Желательно мастер узел останавливать последним. Необходимо первым запускать тот сервер, который был остановлен последним. 
- 
-Если были остановлены все 3 сервера, потребуется инициализировать кластер Galera вручную: 
- 
-1 
- 
-Остановите на всех узлах сервер БД. Для этого последовательно выполните команду 
- 
-<code>systemctl stop mariadb</code> 
- 
-2 
- 
-Определите, какой сервер был остановлен последним (https:%%//%%galeracluster.com/library/documentation/crash-recovery.html) 
- 
-<code>cat /var/lib/mysql/grastate.dat</code> 
- 
-Найдите узел, у которого safe_to_bootstrap = 1 или наибольший seqno. Для этого узла выполните: 
- 
-<code>galera_new_cluster</code> 
- 
-Для остальных узлов выполните: 
- 
-<code>systemctl start mariadb</code> 
-