Настройка кластера с помощью Pacemaker
06 октября 2026
ID 307477
Вы можете развернуть и настроить отказоустойчивый кластер с двумя узлами для работы службы идентификации пользователей с помощью утилиты Pacemaker.
Чтобы развернуть и настроить отказоустойчивый кластер с помощью Pacemaker:
- Подключитесь к основному узлу.
- Установите утилиту Pacemaker и программы для работы с кластером, выполнив следующую команду:
- Для Astra Linux:
sudo apt install pacemaker pcs pacemaker-cli-utils astra-resource-agents docker.io -y
- Для Ubuntu:
sudo apt install pacemaker pacemaker-cli-utils resource-agents-extra docker.io -y
- Для Astra Linux:
- Задайте пароль для пользователя
hacluster:- Перейдите в режим изменения пароля пользователя, выполнив следующую команду:
sudo passwd hacluster
Вам будет предложено ввести пароль пользователя.
- Введите пароль, который вы хотите задать для пользователя
hacluster, и подтвердите его.
- Перейдите в режим изменения пароля пользователя, выполнив следующую команду:
- Удалите файлы конфигурации кластера, выполнив следующую команду:
sudo pcs cluster destroy
- Переключитесь на резервный узел и выполните все шаги, описанные выше.
- Переключитесь на основной узел для развертывания кластера.
- Создайте кластер с двумя узлами, выполнив следующие команды:
sudo pcs host auth ha-node-1 addr=
<IP-адрес основного узла>ha-node-2 addr=<IP-адрес резервного узла>-u haclustersudo pcs cluster setup uawscluster ha-node-1 ha-node-2 --force - Запустите созданный кластер и настройте его параметры, выполнив следующие команды:
sudo pcs cluster start --all
sudo pcs property set stonith-enabled=false
- Создайте кластерный ресурс
ClusterIPс IP-адресом отказоустойчивого кластера, выполнив следующую команду:sudo pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=
<IP-адрес службы идентификации пользователей>cidr_netmask=23 op monitor interval=5s - Создайте кластерный ресурс
HA-PGSQLдля работы с базами данных PostgreSQL из кластера, выполнив следующие команды:sudo pcs resource create HA-PGSQL ocf:heartbeat:pgsql \
pgctl="/usr/lib/postgresql/15/bin/pg_ctl" \
psql="/usr/lib/postgresql/15/bin/psql" \
pgdata="/var/lib/postgresql/15/main" \
config="/etc/postgresql/15/main/postgresql.conf" \
rep_mode="sync" node_list="ha-node-1 ha-node-2" \
master_ip="
<IP-адрес службы идентификации пользователей>" check_wal_receiver="true"sudo pcs resource promotable HA-PGSQL promoted-max=1 promoted-node-max=1 clone-max=2 clone-node-max=1 notify=true
- Создайте группу main-group и добавьте в нее созданные ресурсы
ClusterIPиHA-PGSQL, чтобы они всегда запускались вместе на одном узле, выполнив следующие команды:sudo pcs resource group add main-group ClusterIP
sudo pcs constraint colocation add main-group with Promoted HA-PGSQL-clone
sudo pcs constraint order promote HA-PGSQL-clone then start main-group symmetrical=false kind=Mandatory
sudo pcs constraint order demote HA-PGSQL-clone then stop main-group symmetrical=false kind=Optional
- Перезапустите ресурсы кластера:
sudo pcs resource cleanup
- Создайте ресурсы для компонентов службы идентификации пользователей и добавьте их в группу
main-group:- Для компонента Collector создайте ресурс
uaws-collector, выполнив следующие команды:sudo pcs resource create uaws-collector \
ocf:heartbeat:docker \
image="uaws-collector"
name="uaws-collector" \
run_opts="--hostname collector --sysctl net.ipv6.conf.all.disable_ipv6=1 --dns
<DNS-сервер>-p 8888-8901:8888-8901-v /var/lib/uaws/collector:/uaws/ -e AGENT_CONFIG=/uaws/ collector_config.yml -e AGENT_KEY_STORE=/uaws/ssl/uaws.p12 -e AGENT_KEY_STORE_PASS=123456 -e AGENT_TRUST_STORE=/uaws/ssl/ca.p12 -e AGENT_TRUST_STORE_PASS=<пароль>"sudo pcs constraint colocation add main-group with Promoted uaws-collector
- Для компонента MapApp создайте ресурс
uaws-mapapp, выполнив следующие команды:sudo pcs resource create uaws-mapapp \
ocf:heartbeat:docker \
image="uaws-mapapp" \
name="uaws-mapapp" \
run_opts="--hostname mapapp --sysctl net.ipv6.conf.all.disable_ipv6=1 -v /var/lib/uaws/mapapp:/uaws/ -p 8443:8443 -e USERMAP_CONFIG=/uaws/mapapp_config.yml -e USERMAP_KEY_STORE=/uaws/ssl/uaws.p12 -e USERMAP_KEY_STORE_PASS=123456 -e USERMAP_TRUST_STORE=/uaws/ssl/ca.p12 -e USERMAP_TRUST_STORE_PASS=
<пароль>"sudo pcs constraint colocation add main-group with Promoted uaws-mapapp
- Для компонента GroupApp создайте ресурс uaws-groupapp, выполнив следующие команды:
sudo pcs resource create uaws-groupapp ocf:heartbeat:docker \
image="uaws-groupsapp" \
name="uaws-groupapp" \
run_opts="--hostname groupapp --sysctl net.ipv6.conf.all.disable_ipv6=1 -v /var/lib/uaws/groupapp:/uaws/ -p 8444:8443 -e GROUPAPP_CONFIG=/uaws/groupapp_config.yml -e GROUPAPP_KEY_STORE=/uaws/ssl/uaws.p12 -e GROUPAPP_KEY_STORE_PASS=123456 -e GROUPAPP_TRUST_STORE=/uaws/ssl/ca.p12 -e GROUPAPP_TRUST_STORE_PASS=
<пароль>"sudo pcs constraint colocation add primary-group with Promoted uaws-groupapp
- Для компонента Collector создайте ресурс
- Перезапустите ресурсы кластера:
sudo pcs resource cleanup
Отказоустойчивый кластер развернут, и для него настроены компоненты службы идентификации пользователей.
Чтобы проверить переключение на резервный узел:
- Выключите основной узел.
- Переключитесь на резервный узел.
- В командой строке проверьте, что кластер PostgreSQL на резервном узле запущен в онлайн-режиме, выполнив следующую команду:
pg_lsclusters
Отобразится следующая информация, в столбце
Statusбудет указаноonline:Ver Cluster Port Status Owner Data directory Log file
15 main 5432 online postgres /var/lib/postgresql/15/main pg_log/postgresql-%a.log
Контейнеры компонентов также будут запущены.
Развертывание службы идентификации пользователей в отказоустойчивом кластере успешно завершено. Вы можете использовать семейство команд user-awareness для работы с функционалом службы идентификации пользователей в Kaspersky NGFW. Описание семейств команд для настройки работы Kaspersky NGFW вы можете найти в документе Управление Kaspersky NGFW с помощью командной строки.