Данная статья применима к:
- 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
Для примера далее в качестве имен узлов кластера используются краткие имена хостов (имена, не содержащие доменную составляющую). При необходимости можно использовать полные имена хостов (содержащие доменную составляющую). Важно, чтобы для этих имен работало разрешение в IP-адреса и чтобы далее при создании кластерных ресурсов использовались в точности те же имена. Также можно использовать имена узлов отличные от имен хостов (пример приведен далее). В этом случае при создании ресурсов следует использовать имена узлов.
Настройка стенда
Настройка сетевых подключений
- Должно быть настроено разрешение имен.
- Узлам рекомендуется присвоить статические IP-адреса.
Краткую инструкцию по настройкам см. в статье Настройка разрешения имен и статических IP-адресов. Подробно про настройку сетевых подключений см. Настройка сетевых подключений в Astra Linux.
Установка пакетов кластерного ПО
Установить пакеты кластерного ПО:
Для 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В примерах выше в качестве имен узлов кластера используются имена хостов. При этом IP-адреса узлов определяются автоматически. Если есть необходимость использовать имена узлов отличные от имен хостов, то эти имена можно указать в команде, дополнив их указанием IP-адреса. Например, для имен узлов node1 и node2:sudo pcs host auth node1 addr=192.168.23.101 node2 addr=192.168.23.102 -u hacluster -p <пароль>При этом далее при создании ресурсов нужно будет использовать не имена хостов, а имена узлов.Запустить кластер:
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) должны указываться последними.
Если узел кластера выключался/перезагружался, требуется повторно добавить его в кластер, выполнив на нем команду: