Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • 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-1pcmk-2
    Статический IP-адрес узла192.168.23.101192.168.23.102

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

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

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

Узел 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-адреса и чтобы далее при создании кластерных ресурсов использовались в точности те же имена. Также можно использовать имена узлов отличные от имен хостов (пример приведен далее). В этом случае при создании ресурсов следует использовать имена узлов.

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

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

  1. Должно быть настроено разрешение имен.
  2. Узлам рекомендуется присвоить статические IP-адреса.

Краткую инструкцию по настройкам см. в статье Настройка разрешения имен и статических IP-адресов. Подробно

Присвоить узлу статический 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
В качестве IP-адреса сервера DNS (параметр ipv4.dns) для примера указан адрес сервера Яндекс (77.88.8.8), который можно заменить на любой удобный адрес. Подробнее

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

 

Настройка разрешения имен узлов с помощью /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).
  • Пример команд для внесения изменений:

    Commandsudo sed -i '$a 192.168.23.101\tpcmk-1' /etc/hosts
    sudo sed -i '$a 192

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

    .

    .

    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

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

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

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

    1. Для 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 позволяет использовать в качестве кластерной службы программное обеспечение, поддерживающее мандатное управление доступом (МРД).

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

      Command
      sudo apt install pacemaker pcs

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

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

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

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

    Удалить все существующие файлы конфигурации кластера с помощью команды::

    Command
    sudo pcs cluster destroy

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

    1. Для 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
    2. Для обновлений 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 <пароль>
      При этом далее при создании ресурсов нужно будет использовать не имена хостов, а имена узлов.
    3. Запустить кластер:

      Command
      sudo pcs cluster start --all
    4. Убедиться, что кластер полностью запустился:

      Command

      while ! sudo pcs status ; do sleep 1 ; done

    5. В целях тестирования отключить технологию 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 cluster start

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

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

      Предупреждение
      На рабочем кластере не рекомендуется использовать глобальный таймаут, следует задавать таймауты для каждой операции у каждого ресурса кластера, исходя из реальных значений временных интервалов, полученных на конкретной аппаратной платформе.
      Command
      sudo pcs resource op defaults timeout=240s

      Если при выполнении этой команды возникает ошибка:

      Блок кода
      Error: Could not map name=... to a UUID

      то команду следует выполнить повторно.

    2. Добавить 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) должны указываться последними.
    Информация

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

    Command
    sudo pcs cluster start

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

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

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