Управление ресурсами и политиками в кластере
Отключение 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