Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 13 Следующий »

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

  • 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

Аннотация

Предполагается, что дальнейшие действия выполняются на ранее подготовленном кластере pacemaker. См. статью Развертывание двухузлового кластера pacemaker.
В рамках подготовки кластера созданы два узла кластера. В процессе настройки один из узлов назначается ведущим (master), второй (остальные) — подчиненным (slave). При отказе ведущего узла подчиненный узел автоматически становится ведущим.
Настройка и тестирование аутентификации пользователей и работы мандатного управления доступом (МРД) в данной статье не рассматривается и не тестируется.

Внимание! Порты, используемые DRBD (7788) и Corosync (5404, 5405), должны быть свободны. Получить перечень используемых портов можно командой  sudo netstat -tulpn

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

Для развертывания кластера и использования инструментов, описываемых в статье используются два подсоединенных к сети компьютера (узла) с установленной ОС Astra Linux, сетевыми картами и двумя жесткими дисками: диск с операционной системой (далее в примере — /dev/sda) и свободный диск (далее в примере — /dev/sdb), который будет использован для организации хранилища и его резервирования.

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


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


Рекомендации по настройке сети приведены в статье Настройка разрешения имен и статических IP-адресов. В целях тестирования можно использовать раздел Настройка разрешения имен в тестовом окружении.

Основные термины

DRBD (Distributed Replicated Block Device) — это инструмент, позволяющий создавать решения для резервирования данных путем репликации блочных устройств (например, жестких дисков или томов LVM). см. Использование DRBD и OCFS2 для резервирования данных .

  • CIB (Cluster Information Base) — информационная база ресурсов кластера в формате XML-файла. Автоматически реплицируется на весь кластер, база доступна для редактирования с любого узла кластера;

  • Ресурс — эмулируемое или физическое блочное устройство, резервирование которого осуществляется инструментом DRBD. 

Следует различать ресурсы для DRBD и для pacemaker! Это разные сущности разных инструментов, для DRBD ресурс - синхронизируемый каталог, для pacemaker - сущность, управляемая сценарием

Использование инструмента DRBD на кластере pacemaker

Перед установкой проверить работоспособность кластера:

sudo pcs status

На узлах кластеров необходимо установить и настроить DRBD (см. Использование DRBD и OCFS2 для резервирования данных). Далее проверить работу узлов c DRBD:

sudo drbdadm status

На узле с которого будет доступен общий раздел:

  1. Инициализировать рабочую версию CIB:
    sudo pcs cluster cib drbdconf


  2. Создать новый ресурс кластера, указать имя ресурса, интервалы и параметры работы ресурса:

    sudo pcs -f drbdconf resource create <имя_ресурса_pacemaker> ocf:linbit:drbd \

    drbd_resource=<имя_ресурса_drbd> \

    op start interval=0s timeout=240s \

    stop interval=0s timeout=100s \

    monitor interval=31s timeout=20s \

    role=Slave monitor interval=29s timeout=20s role=Master

    где <имя_ресурса_pacemaker> - имя создаваемого ресурса pacemaker, а <имя_ресурса_drbd> - ранее указанное имя ресурса DRBD, в текущем примере это r0.

  3. Создать виртуальный IP-адрес для кластера:
    sudo pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=<адрес кластера> cidr_netmask=32 nic=eth1 op monitor interval=10 

    где ClusterIP  - имя ресурса для виртуального IP-адреса кластера, а <адрес кластера> - отличный от IP-адресов узлов кластера адрес, занесённый в etc/hosts.

  4. Инициализировать дубликат ресурса кластера:
    sudo pcs -f drbdconf resource promotable <имя_ресурса> \
    promoted-max=1 promoted-node-max=1 \
    clone-max=2 clone-node-max=1 notify=true

    где <имя_ресурса> - имя создаваемого ресурса pacemaker. Подробная справка по параметрам доступна в man pcs

  5. Обновить и сохранить обновление конфигурации в CIB:
    sudo pcs cluster cib-push drbdconf


  6. Проверить перечень и статус настроенных ресурсов:
    sudo pcs status

    Cluster name: astracluster
    Status of pacemakerd: 'Pacemaker is running' (last updated 2024-10-16 02:36:40 +03:00)
    Cluster Summary:
     * Stack: corosync
     * Current DC: pcmk-1 (version 2.1.5-a3f44794f94) - partition with quorum
     * Last updated: Wed Oct 16 02:36:40 2024
     * Last change:  Wed Oct 16 02:36:18 2024 by root via cibadmin on pcmk-1
     * 2 nodes configured
     * 3 resource instances configured

    Node List:
     * Online: [ pcmk-1 pcmk-2 ]

    Full List of Resources:
     * ClusterIP   (ocf:heartbeat:IPaddr2):         Started pcmk-1
     * Clone Set: test_drbd0-clone [test_drbd0] (promotable):
       * Promoted: [ pcmk-1 ]
       * Unpromoted: [ pcmk-2 ]

    Daemon Status:
     corosync: active/enabled
     pacemaker: active/enabled
     pcsd: active/enabled

Проверить CIB на наличие ошибок:

sudo pcs cluster verify

Пример сценария настройки

#!/bin/bash
pcs property set stonith-enabled=false
pcs resource defaults migration-threshold=1

# указать имя ClusterIP для ресурса, связанного с heartbeat
pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip={{$virtual_ip}} cidr_netmask=32 nic=eth1 op monitor interval=10 

# указать необходимое имя ресурса для DRBD вместо  drbd_testdrbd
pcs resource create drbd_testdrbd ocf:linbit:drbd \
drbd_resource="testdrbd" promotable promoted-max=1 promoted-node-max=1 clone-max={{amount_nodes}} clone-node-max=1 \
notify=true op monitor interval="29s" role="Master" op monitor interval="31s" role="Slave"
pcs resource create ext4_pcmk-1 ocf:heartbeat:Filesystem \
device=/dev/sdb directory=/mnt/testdrbd fstype=ext4 \
options=noatime,nodiratime \
op start interval="0" timeout="60s" \
stop interval="0" timeout="60s" \
monitor interval="20" timeout="40s"
pcs constraint order promote drbd_testdrbd-clone then start ext4_pcmk-1
pcs constraint colocation add ext4_pcmk-1 with master drbd_testdrbd-clone INFINITY
pcs constraint colocation add ClusterIP with master drbd_testdrbd-clone INFINITY



  • Нет меток