Управление ресурсами и политиками в кластере

Отключение STONITH

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

При отсутствии настроенных устройств STONITH при выполнении команды pcs status в выводе будет отображаться предупреждение.

Для отключения STONITH в кластере выполняется команда:

sudo pcs property set stonith-enabled=false

Отключение контроля кворума

По умолчанию кластер прекращает управление ресурсами, если теряет кворум (менее половины активных узлов). Для тестовой конфигурации, в частности двухузлового кластера, может быть необходимо отключить реакцию на потерю кворума. Это осуществляется с помощью настройки no-quorum-policy.

Отключение реакции на потерю кворума выполняется следующей командой:

sudo pcs property set no-quorum-policy=ignore

Текущие свойства кластера можно просмотреть командой:

pcs property list

Добавление ресурсов в кластер

Одним из ключевых элементов высокой доступности является плавающий IP-адрес — адрес, который может автоматически перемещаться между узлами в пределах одной сети. В приведённом примере используется IP-адрес 10.45.4.60.

Для регистрации IP-адреса в виде ресурса с именем v_ip используется следующая команда:

sudo pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=10.45.4.60 cidr_netmask=24 op monitor interval=20s

Далее добавляется ресурс nginx, представляющий службу веб-сервера, управляемую через systemd:

sudo pcs resource create nginx systemd:nginx

Состояние ресурсов проверяется с помощью команды:

sudo pcs status resources

Если в выводе отображаются ресурсы v_ip и nginx, это означает, что плавающий IP-адрес и веб-сервер были успешно добавлены в кластер.

Настройка политики совместного размещения ресурсов

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

Настройка коллокации выполняется командой:

sudo pcs constraint colocation add nginx v_ip INFINITY

Также необходимо определить порядок запуска ресурсов: сначала должен быть активирован IP-адрес, затем — веб-сервер.

Настройка порядка запуска ресурсов:

sudo pcs constraint order v_ip then nginx

Проверка текущего состояния ресурсов кластера выполняется командой:

sudo pcs status