У меня есть Pacemaker + Corosync, настроенный для управления общим IP-адресом между двумя ящиками Mysql в настройке Master-Master / Active-Passive (с использованием чередующихся первичных ключей).
У меня есть Pacemaker, настроенный для управления общим IP-адресом между двумя машинами, однако в настоящее время он переносит IP-адрес только тогда, когда узел не работает, а не когда есть проблема с mysql. Я хотел бы, чтобы IP-адрес переключался автоматически, если есть проблема с подключением к локальному экземпляру mysql.
Раздел конфигурации моего cib.xml выглядит так ...
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.0.9-89bd754939df5150de7cd76835f98fe90851b677"/>
<nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="openais"/>
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-expected-quorum-votes" name="expected-quorum-votes" value="2"/>
</cluster_property_set>
</crm_config>
<nodes>
<node id="db0.xxx.xxx" uname="db0.xxx.xxx" type="normal"/>
<node id="db1.xxx.xxx" uname="db1.xxx.xxx" type="normal"/>
</nodes>
<resources>
<group id="group1">
<primitive class="ocf" id="ip0" provider="heartbeat" type="IPaddr2">
<instance_attributes id="ip0-instance_attributes">
<nvpair id="ip0-instance_attributes-ip" name="ip" value="192.168.101.139"/>
<nvpair id="ip0-instance_attributes-nic" name="nic" value="eth0"/>
<nvpair id="ip0-instance_attributes-cidr_netmask" name="cidr_netmask" value="22"/>
<nvpair id="ip0-instance_attributes-broadcast" name="broadcast" value="192.168.103.255"/>
</instance_attributes>
</primitive>
</group>
</resources>
<constraints>
<rsc_order id="ip_before_lvs" score="INFINITY">
<resource_set action="start" id="ip_before_lvs-0">
<resource_ref id="ip0"/>
</resource_set>
</rsc_order>
</constraints>
<rsc_defaults/>
<op_defaults/>
</configuration>
Я думаю, что мне нужно добавить к моему примитиву ip0 что-то вроде следующего ...
<operations>
<op id="....
</operations>
Но я не совсем уверен, что мне нужно, чтобы проверить, запущен ли mysql, а также, возможно, войти в mysql и выполнить запрос с известным выводом. Если эти две проверки завершились неудачно, ресурс следует перенести.
Любые указатели приветствуются.
У меня точно такая же настройка с сердцебиением ...
Проблема, с которой мы сталкиваемся, заключается в том, чтобы знать, когда перенести IP-адрес записи.
В основном проверка с помощью входа в систему и выбора не работает, я видел, что некоторые таблицы были повреждены, и одна проверяется, чтобы быть в порядке.
Прямо сейчас я слушаю журнал mysql, который является единственным надежным местом для поиска проблем ...
(после долгих раздумий я решил не делать автоматический перенос)
Надеюсь это поможет :)