Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Параметры стенда
Параметры сети
- Сеть сеть 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-адреса кластера будет использован адрес 192.168.23.100. IP-адрес рабочей станции, с помощью которой будет выполняться тестирование, неважен.Для примера далее в качестве имен узлов кластера используются краткие имена хостов (имена, не содержащие доменную составляющую). При необходимости можно использовать полные имена хостов (содержащие доменную составляющую). Важно, чтобы для этих имен работало разрешение в IP-адреса и чтобы далее при создании кластерных ресурсов использовались в точности те же имена. Также можно использовать имена узлов отличные от имен хостов (пример приведен далее). В этом случае при создании ресурсов следует использовать имена узлов.
Настройка стенда
Настройка сетевых подключений
- Должно быть настроено разрешение имен.
- Узлам рекомендуется присвоить статические
- IP-адреса.
Краткую инструкцию по настройкам см. в статье Настройка разрешения имен и статических IP-адресов. Подробно
Узел 1Узел 2Присвоить узлу статический IP-адрес 192.168.23.101:
Command |
---|
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:
Command |
---|
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 |
про настройку сетевых подключений см.
Настройка сетевых подключений в Astra Linux.
Настройка /etc/hostsЗаписать имена узлов в файл /etc/hosts и удалить строку 127.0.1.1:
Command |
---|
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 |
Установка пакетов кластерного ПО
Информация |
---|
Установка пакетов кластерного ПО выполняется на каждом узле кластера. |
Установить пакеты кластерного ПО:
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2022-1110SE17 (оперативное обновление 1.7.3) и для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20221220SE16 (оперативное обновление 12):
Command sudo apt install pacemaker pcs astra-resource-agents Использование пакета astra-resource-agents позволяет использовать в качестве кластерной службы программное обеспечение, поддерживающее мандатное управление доступом (МРД).
Для более ранних обновлений или в случаях, когда поддержка МРД в кластерных службах не требуется:
Command sudo apt install pacemaker pcs pcs
После установки пакетов назначить пользователю hacluster пароль:
Command |
---|
sudo passwd hacluster |
Инициализация кластера
Информация |
---|
Инициализация кластера выполняется однократно на любом узле из узлов кластера. |
Инициализировать кластерУдалить все существующие файлы конфигурации кластера с помощью команды::
Command |
---|
sudo pcs cluster destroy |
Собрать кластер (для примера используется имя кластера astracluster):
Для Astra Linux Special Edition x.7:
Command 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:
Command 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:
При этом далее при создании ресурсов нужно будет использовать не имена хостов, а имена узлов.Command sudo pcs host auth node1 addr=192.168.23.101 node2 addr=192.168.23.102 -u hacluster -p <пароль> Запустить кластер:
Command sudo pcs cluster start --all Убедиться, что кластер полностью запустился:
Command while ! sudo pcs status ; do sleep 1 ; done
В целях тестирования отключить технологию STONITH:.
infoНа кластерах находящихся в эксплуатации STONITH обязательно должен быть настроен и включен для предотвращения событий, приводящих к повреждению данных.Предупреждение На кластерах находящихся в эксплуатации STONITH обязательно должен быть настроен и включен для предотвращения событий, приводящих к повреждению данных. Раскрыть title Подробнее про STONITH STONITH (Shoot The Other Node In The Head) - технология, отвечающая за физическое устранение узла из кластера, и обеспечивающая полное обесточивание неисправных узлов, чтобы исключить повреждение данных. Поскольку в тесте устройства управления электропитанием не задействованы, эту возможность удобнее отключить, иначе будет постоянно выдаваться предупреждение, что STONITH не сконфигурирован
Предупреждение Команда для отключения:
Command sudo pcs property set stonith-enabled=false
Информация |
---|
Процедура добавления узла в кластер занимает некоторое время, обычно не более 1 минуты. |
Проверить состояние узлов кластера можно командой:
Command |
---|
sudo pcs status |
Если кластер успешно стартовал, то состояние узлов кластера в выводе команды pcs status будет таким:
Блок кода |
---|
Online: [ pcmk-1 pcmk-2 ] |
Проверить правильность конфигурации кластера можно командой:
Command |
---|
sudo crm_verify -L |
Если конфигурация кластера содержит ошибки, утилита crm_verify о них сообщит.
Предупреждение | ||
---|---|---|
Если узел кластера выключался/перезагружался, то считается, что узел работает нештатно, и решение о возможности его повторного включения в кластер может принять только человек. Автоматическое включение узлов в кластер не применяется. Для возврата узла в кластер требуется повторно добавить его в кластер, выполнив на нем команду:
|
Настроить поведение ресурсов:
Задать значение глобального таймаута на операции со всеми ресурсами:
Предупреждение На рабочем кластере не рекомендуется использовать глобальный таймаут, следует задавать таймауты для каждой операции у каждого ресурса кластера, исходя из реальных значений временных интервалов, полученных на конкретной аппаратной платформе. Command sudo pcs resource op defaults timeout=240s Если при выполнении этой команды возникает ошибка:
Блок кода Error: Could not map name=... to a UUID
то команду следует выполнить повторно.
Добавить IP-адрес кластера 192.168.23.100 как ресурс ClusterIP:
Command 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) должны указываться последними.
Информация | ||
---|---|---|
Если узел кластера выключался/перезагружался, требуется повторно добавить его в кластер, выполнив на нем команду:
|