Кажется, я не могу найти подходящий способ настройки ресурсов в кардиостимуляторе для управления моим кластером Galera. Мне нужен VIP, который будет переключаться между 5 ящиками (это работает), но я также хотел бы привязать его к ресурсу, который также контролирует mysql. Если экземпляр mysql выходит из строя, VIP должен переместиться в другой ящик, на котором действительно запущен mysql. Но я не хочу, чтобы кардиостимулятор запускал или останавливал службу mysql. Вот моя текущая конфигурация:
node galera01
node galera02
node galera03
node galera04
node galera05
primitive ClusterIP IPaddr2 \
params ip=10.10.10.178 cidr_netmask=24 \
meta is-managed=true \
op monitor interval=5s
primitive p_mysql mysql \
params pid="/var/lib/mysql/mysqld.pid" test_user=root test_passwd=moo \
meta is-managed=false \
op monitor interval=5s OCF_CHECK_LEVEL=10 \
op start interval=0 timeout=60s \
op stop interval=0 timeout=60s on-fail=standby
group g_mysql p_mysql ClusterIP
order order_mysql_before_ip Mandatory: p_mysql ClusterIP
property cib-bootstrap-options: \
dc-version=1.1.10-14.el6_5.3-368c726 \
cluster-infrastructure="classic openais (with plugin)" \
stonith-enabled=false \
no-quorum-policy=ignore \
expected-quorum-votes=5 \
last-lrm-refresh=1401942846
rsc_defaults rsc-options: \
resource-stickiness=100
Что я делаю не так?
Спасибо.
Итак, после того, как я много раз ударил головой о стол, наш контракт с Percona, наконец, снова заработал. Использование нового ресурса высокой доступности: https://github.com/percona/percona-pacemaker-agents/raw/master/agents/mysql_monitor
Создайте ресурс высокой доступности в отдельной папке, я назвал ее Percona (/usr/lib/ocf/resource.d/percona). Этот ресурс не будет пытаться убить ваши узлы mysql, как это сделал другой.
Также возьмите pxc_resource_agent и поместите его в ту же папку.
Новая конфигурация crm выглядит следующим образом:
node galera01 \
attributes standby=off
node galera02 \
attributes standby=off
node galera03 \
attributes standby=off
node galera04 \
attributes standby=off
node galera05 \
attributes standby=off
primitive ClusterIP IPaddr2 \
params ip=10.10.10.178 cidr_netmask=24 \
meta is-managed=true \
op monitor interval=5s
primitive p_mysql_monit ocf:percona:mysql_monitor \
params reader_attribute=readable_monit writer_attribute=writable_monit user=root password=foo pid="/var/lib/mysql/mysqld.pid" socket="/var/run/mysqld/mysqld.sock" max_slave_lag=5 cluster_type=pxc \
op monitor interval=1s timeout=20s OCF_CHECK_LEVEL=1
clone cl_mysql_monitor p_mysql_monit \
meta clone-max=5 clone-node-max=1
location loc-no-writer-vip ClusterIP \
rule $id="loc-no-writer-vip-rule" -inf: writable_monit eq 0
property cib-bootstrap-options: \
dc-version=1.1.10-14.el6_5.3-368c726 \
cluster-infrastructure="classic openais (with plugin)" \
stonith-enabled=false \
no-quorum-policy=ignore \
expected-quorum-votes=5 \
default-resource-stickiness=1