Назад | Перейти на главную страницу

Мониторинг кардиостимулятора mysql

У меня есть 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, который является единственным надежным местом для поиска проблем ...

(после долгих раздумий я решил не делать автоматический перенос)

Надеюсь это поможет :)