Page tree
Skip to end of metadata
Go to start of metadata

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Common Edition 2.12

Параметры стенда

Параметры сети

  • Сеть 192.168.23.0/24;
  • Адрес маршрутизатора (шлюза) сети 192.168.23.1;
  • Предполагается, что в сети отсутствует служба DNS, поэтому адреса узлов задаются с помощью файла /etc/hosts.

Параметры хостов

Для развертывания кластера используются два подсоединенных к сети компьютера с установленной ОС Astra Linux. Каждый из этих компьютеров будет выполнять роль узла кластера, поэтому далее они будут называться Узел 1 и Узел 2. Для тестирования отказоустойчивости используется рабочая станция, подключенная к той же сети.

ПараметрУзел 1Узел 2
Имя узлаpcmk-1pcmk-2
Статический IP-адрес узла192.168.23.101192.168.23.102

Дополнительно в качестве IP-адреса кластера будет использован адрес 192.168.23.100. IP-адрес рабочей станции, с помощью которой будет выполняться тестирование, неважен.

Настройка стенда

Настройка сетевых подключений

Узлам рекомендуется присвоить статические адреса. Если на узлах кластера для управления сетевыми подключениями используется NetworkManager настройку можно выполнить с помощью графического инструмента или из командной строки командами:

Узел 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
sudo nmcli c m path 1 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
sudo nmcli c m path 1 ipv4.method manual
sudo nmcli c u path 1

Подробнее про настройку сетевых подключений см. Настройка сетевых подключений в Astra Linux.

Настройка /etc/hosts

Записать имена узлов в файл /etc/hosts и удалить строку 127.0.1.1:

sudo sed -i '$a 192.168.23.101\tpcmk-1' /etc/hosts
sudo sed -i '$a 192.168.23.102\tpcmk-2' /etc/hosts
sudo sed -i '/^127\.0\.1\.1/d' /etc/hosts

Установка пакетов кластерного ПО

Установка пакетов кластерного ПО выполняется на каждом узле кластера.

Установить пакеты кластерного ПО:

  1. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 2022-1110SE17 (оперативное обновление 1.7.3):

    sudo apt install pacemaker pcs astra-resource-agents
    Использование пакета astra-resource-agents позволяет использовать в качестве кластерной службы программное обеспечение, поддерживающее МРД;

  2. Для более ранних обновлений или в случаях, когда поддержка МРД в кластерных службах не требуется:

    sudo apt install pacemaker pcs 

После установки пакетов назначить пользователю hacluster пароль:

sudo passwd hacluster

Заданный на этом шаге пароль далее в примерах обозначается как <пароль>.

Инициализация кластера

Инициализация кластера выполняется однократно на любом узле кластера.

Инициализировать кластер:

sudo pcs cluster destroy
Собрать кластер (для примера используется имя кластера astracluster):

  1. Для 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

  2. Для обновлений 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

  3. Запустить кластер:

    sudo pcs cluster start --all

  4. Убедиться, что кластер полностью запустился:

    while ! sudo pcs status ; do sleep 1 ; done

  5. В целях тестирования отключить технологию STONITH:

    STONITH (Shoot The Other Node In The Head) - технология, отвечающая за физическое устранение узла из кластера, и обеспечивающая полное обесточивание неисправных узлов, чтобы исключить повреждение данных. Поскольку в тесте устройства управления электропитанием не задействованы, эту возможность удобнее отключить, иначе будет постоянно выдаваться предупреждение, что STONITH не сконфигурирован

    На кластерах находящихся в эксплуатации  STONITH обязательно должен быть настроен и включен для предотвращения событий, приводящих к повреждению данных.

    sudo pcs property set stonith-enabled=false

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

Проверить состояние узлов кластера можно командой:

sudo pcs status
Если кластер успешно стартовал, то состояние узлов кластера в выводе команды pcs status будет таким:

Online: [ pcmk-1 pcmk-2 ]

Проверить правильность конфигурации кластера можно командой:

sudo crm_verify -L

Если конфигурация кластера содержит ошибки, утилита crm_verify о них сообщит.

Если узел кластера выключался/перезагружался, то считается, что узел работает нештатно, и решение о возможности его повторного включения в кластер может принять только человек. Автоматическое включение узлов в кластер не применяется. Для возврата узла в кластер требуется повторно добавить его в кластер, выполнив на нем команду:

sudo pcs cluster start

Настроить поведение ресурсов:

  1. Задать значение глобального таймаута на операции со всеми ресурсами:

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

    sudo pcs resource op defaults timeout=240s

  2. Добавить 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


Если узел кластера выключался/перезагружался, требуется повторно добавить его в кластер, выполнив на нем команду:

sudo pcs cluster start


Установка и подключение кластерных служб

Кластерная служба apache2 для кластера pacemaker

Кластерная служба postgresql для кластера pacemaker


  • No labels

1 Comment

  1. Некритично: после запуска перезагруженного кластера в течение 10-15 секунд была отключена сеть на другом узле, вывод скрипта в этот промежуток:

    62 Test DB - astra2
    63 Test DB - astra2
    64 psql: ????:  ??????? ??? ?????? ???????????????
    ????:  ??????? ??? ?????? ???????????????

    65 Test DB - astra2
    66 Test DB - astra2