У нас есть два сервера с настройкой Pacemaker (crm), которая включает основной / резервный кластер. В настоящее время Pacemaker контролирует / контролирует две службы, которые, в случае отказа, приведут к переключению в режим ожидания, нашей собственной настраиваемой службе (далее именуемой customservice1) и mysql.
customservice1 и mysql остановлены в режиме ожидания и работают на первичном (очевидно). Когда происходит аварийное переключение, кажется, что кардиостимулятор остановит оба (или гарантирует, что они остановлены, если только один отказал по какой-либо причине, я не совсем ясно в этом пункте), измените IP-адрес основного и резервного (так, чтобы псевдоним в DNS всегда будет идти к основному), затем запустите customservice1 и mysql на том, что ранее было резервным.
Я хотел бы добавить к этому шаг, контролируемый кардиостимулятором, который будет просто перезапускать httpd при каждом сбое. В настоящее время httpd постоянно работает как на основном, так и на резервном сервере. Сбой в httpd в настоящее время не вызывает аварийного переключения, и я не очень заинтересован в добавлении этого мониторинга, я просто хочу, чтобы кардиостимулятор запускал эквивалент «перезапуска службы httpd», когда резервный стал основным.
Каков правильный синтаксис для добавления нового примитива, который будет только перезапускать службу?
Текущая конфигурация кардиостимулятора ниже:
node $id="XX" some.machine.name \
attributes standby="off"
node $id="YY" another.machine.name
primitive customservice1 lsb:customservice1 \
op monitor interval="30s" timeout="30s" \
op start interval="0" timeout="120" \
op stop interval="0" timeout="120" \
meta target-role="Started"
primitive mysql-server ocf:heartbeat:mysql \
params binary="/usr/bin/mysqld_safe" config="/etc/my.cnf" datadir="/some/data/dir" user="mysql" pid="/var/lib/mysql/mysql.pid" socket="/var/lib/mysql/mysql.sock" \
op monitor interval="30s" timeout="30s" \
op start interval="0" timeout="120" \
op stop interval="0" timeout="120"
primitive node1-stonith stonith:external/riloe \
params hostlist="some.machine.name" ilo_user="Administrator" ilo_hostname="some-ilo.machine.name" ilo_password="<ilopassword>" ilo_can_reset="1" ilo_protocol="2.0" ilo_powerdown_method="button" \
op monitor interval="120s" timeout="40s" \
meta target-role="Started"
primitive node2-stonith stonith:external/riloe \
params hostlist="another.machine.name" ilo_user="Administrator" ilo_hostname="another-ilo.machine.name" ilo_password="<ilopassword>" ilo_can_reset="1" ilo_protocol="2.0" ilo_powerdown_method="button" \
op monitor interval="120s" timeout="40s" \
meta target-role="Started"
primitive node_one_ip ocf:heartbeat:IPaddr2 \
params ip="1.1.1.1" cidr_netmask="255.255.255.0" nic="eth0" \
op monitor interval="40s" timeout="20s"
primitive node_two_ip ocf:heartbeat:IPaddr2 \
params ip="1.1.1.2" cidr_netmask="255.255.255.0" nic="eth0" \
op monitor interval="40s" timeout="20s" \
meta target-role="Started"
group only-group node_one_ip mysql-server customservice1
property $id="cib-bootstrap-options" \
dc-version="1.0.9-89bd754939df5150de7cd76835f98fe90851b677" \
cluster-infrastructure="Heartbeat" \
no-quorum-policy="ignore" \
last-lrm-refresh="1287686604" \
default-resource-stickiness="1"