Развёртывание и настройка Pacemaker и Corosync
Данный раздел содержит пошаговую инструкцию по развёртыванию кластера высокой доступности на двух серверах под управлением ОС РОСА "ХРОМ" с использованием компонентов Pacemaker и Corosync. В качестве примера рассматривается настройка кластера с веб-сервером Nginx:
- Подготовка Системы.
На всех узлах, планируемых к объединению в кластер, необходимо внести записи в файл /etc/hosts, чтобы обеспечить корректное разрешение имён.
Пример содержимого файла /etc/hosts:
10.45.4.58 webserver-01
10.45.4.59 webserver-02
Редактирование может быть выполнено с использованием любого доступного текстового редактора.
- Установка и первичная настройка 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
- Установка компонентов 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
- Аутентификация и создание кластера.
После установки и настройки компонентов необходимо выполнить аутентификацию между узлами с использованием утилиты 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
- Проверка состояния кластера после перезагрузки с помощью команды:
pcs status