Развёртывание и настройка Pacemaker и Corosync

Данный раздел содержит пошаговую инструкцию по развёртыванию кластера высокой доступности на двух серверах под управлением ОС РОСА "ХРОМ" с использованием компонентов Pacemaker и Corosync. В качестве примера рассматривается настройка кластера с веб-сервером Nginx:

  1. Подготовка Системы.

На всех узлах, планируемых к объединению в кластер, необходимо внести записи в файл /etc/hosts, чтобы обеспечить корректное разрешение имён.

Пример содержимого файла /etc/hosts:

10.45.4.58 webserver-01
10.45.4.59 webserver-02

Редактирование может быть выполнено с использованием любого доступного текстового редактора.

  1. Установка и первичная настройка Nginx.

На каждом сервере устанавливается веб-сервер Nginx с помощью менеджера пакетов. После установки служба добавляется в автозагрузку и запускается командами:

sudo dnf install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

Для визуального различения узлов в кластере рекомендуется изменить содержимое страницы по умолчанию. На каждом сервере в файл /usr/share/nginx/html/index.html добавляется уникальная метка.

На сервере webserver-01:

echo "<h1>webserver-01</h1>" >\ /usr/share/nginx/html/index.html

На сервере webserver-02:

echo "<h1>webserver-02</h1>" >\ /usr/share/nginx/html/index.html
  1. Установка компонентов Pacemaker и Corosync.

Для настройки кластера устанавливаются пакеты corosync, pacemaker и pcsd. Указанные службы добавляются в автозагрузку и запускаются.

sudo dnf install corosync pacemaker
sudo systemctl enable corosync
sudo systemctl enable pacemaker
sudo systemctl enable pcsd
sudo systemctl start corosync
sudo systemctl start pacemaker
sudo systemctl start pcsd

В процессе установки создаётся системный пользователь hacluster, необходимый для аутентификации между узлами. На всех узлах кластера для пользователя hacluster задаётся одинаковый пароль.

passwd hacluster
  1. Аутентификация и создание кластера.

После установки и настройки компонентов необходимо выполнить аутентификацию между узлами с использованием утилиты pcs:

sudo pcs cluster auth webserver-01 webserver-02

Затем создаётся кластер с именем rosacluster, включающий оба сервера:

sudo pcs cluster setup --force --name rosacluster webserver-01 webserver-02

Для корректного функционирования кластера рекомендуется повторно включить службы в автозагрузку и перезагрузить Систему:

sudo systemctl enable corosync
sudo systemctl enable pacemaker
sudo systemctl enable pcsd
reboot
  1. Проверка состояния кластера после перезагрузки с помощью команды:
pcs status