Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) и РУСБ.10015-10, РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Параметры стенда
Параметры сети
- сеть 192.168.23.0/24;
- адрес маршрутизатора (шлюза) сети 192.168.23.1;
- предполагается, что в сети отсутствует служба DNS, поэтому адреса узлов задаются с помощью файла /etc/hosts.
Структура стенда
Для стенда используется два компьютера:
- В качестве IP-адреса кластера использован адрес 192.168.23.100.
Для развертывания кластера используются два подсоединенных к сети компьютера с установленной ОС Astra Linux. Каждый из этих компьютеров будет выполнять роль узла кластера, поэтому далее они будут называться Узел 1 и Узел 2:
Параметр Узел 1 Узел 2 Имя узла pcmk-1 pcmk-2 Статический IP-адрес узла 192.168.23.101 192.168.23.102
Настройка стенда
Настройка сетевых подключений
Узлам рекомендуется присвоить статические адреса. Если на узлах кластера для управления сетевыми подключениями используется Network Manager, то настройку статических адресов можно выполнить с помощью графического инструмента или из командной строки командами:
Узел 1 | Узел 2 |
---|---|
Присвоить узлу статический IP-адрес 192.168.23.101: sudo nmcli c d path 1 sudo nmcli c m path 1 ip4 192.168.23.101/24 gw4 192.168.23.1 ipv4.dns 77.88.8.8 ipv4.method manual sudo nmcli c u path 1 | Присвоить узлу статический IP-адрес 192.168.23.102: sudo nmcli c d path 1 sudo nmcli c m path 1 ip4 192.168.23.102/24 gw4 192.168.23.1 ipv4.dns 77.88.8.8 ipv4.method manual sudo nmcli c u path 1 |
В качестве IP-адреса сервера DNS (параметр ipv4.dns) для примера указан адрес сервера Яндекс (77.88.8.8), который можно заменить на любой удобный адрес. Подробнее про настройку сетевых подключений см. Настройка сетевых подключений в Astra Linux.
Настройка разрешения имен узлов с помощью /etc/hosts
На всех узлах кластера внести изменения в файл /etc/hosts:
- Удалить строки, начинающуюся с 127.0.1.1.
Внести строки с IP-адресами и именами узлов:
192.168.23.101 pcmk-1 192.168.23.102 pcmk-2
- Исключить указание имен узлов в строках с адресами локальной петли (127.0.0.1).
Пример команд для внесения изменений:
sudo sed -i '$a 192.168.23.102\tpcmk-2' /etc/hosts
sudo sed -i 's/^127\.0\.0\.1\s.*/127.0.0.1\tlocalhost/' /etc/hosts
sudo sed -i '/^127\.0\.1\.1/d' /etc/hosts
Установка пакетов кластерного ПО
Установить пакеты кластерного ПО:
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2022-1110SE17 (оперативное обновление 1.7.3) и для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20221220SE16 (оперативное обновление 12):
sudo apt install pacemaker pcs astra-resource-agentsИспользование пакета astra-resource-agents позволяет использовать в качестве кластерной службы программное обеспечение, поддерживающее мандатное управление доступом (МРД).Для более ранних обновлений или в случаях, когда поддержка МРД в кластерных службах не требуется:
sudo apt install pacemaker pcs
После установки пакетов назначить пользователю hacluster пароль:
Инициализация кластера
Удалить все существующие файлы конфигурации кластера с помощью команды::
Для Astra Linux Special Edition x.7:
sudo pcs host auth pcmk-1 pcmk-2 -u hacluster -p <пароль>
sudo pcs cluster setup astracluster pcmk-1 pcmk-2 --forceДля обновлений Astra Linux Special Edition до x.7 и Astra Linux Common Edition:
sudo pcs cluster auth pcmk-1 pcmk-2 -u hacluster -p <пароль>
sudo pcs cluster setup --name astracluster pcmk-1 pcmk-2 --forceЗапустить кластер:
sudo pcs cluster start --allУбедиться, что кластер полностью запустился:
while ! sudo pcs status ; do sleep 1 ; doneВ целях тестирования отключить технологию STONITH.
На кластерах находящихся в эксплуатации STONITH обязательно должен быть настроен и включен для предотвращения событий, приводящих к повреждению данных.Команда для отключения:
sudo pcs property set stonith-enabled=false
Проверить состояние узлов кластера можно командой:
Online: [ pcmk-1 pcmk-2 ]
Проверить правильность конфигурации кластера можно командой:
sudo crm_verify -L
Если узел кластера выключался/перезагружался, то считается, что узел работает нештатно, и решение о возможности его повторного включения в кластер может принять только человек. Автоматическое включение узлов в кластер не применяется. Для возврата узла в кластер требуется повторно добавить его в кластер, выполнив на нем команду:
Настроить поведение ресурсов:
Задать значение глобального таймаута на операции со всеми ресурсами:
На рабочем кластере не рекомендуется использовать глобальный таймаут, следует задавать таймауты для каждой операции у каждого ресурса кластера, исходя из реальных значений временных интервалов, полученных на конкретной аппаратной платформе.sudo pcs resource op defaults timeout=240sЕсли при выполнении этой команды возникает ошибка:
Error: Could not map name=... to a UUID
то команду следует выполнить повторно.
Добавить IP-адрес кластера 192.168.23.100 как ресурс ClusterIP:
sudo pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.23.100 cidr_netmask=32 op monitor interval=30sПараметры команды, задающиеся колючем op (в примере выше - параметр op monitor interval=30s) должны указываться последними.
Если узел кластера выключался/перезагружался, требуется повторно добавить его в кластер, выполнив на нем команду: