Pacemaker 监控mysql

Pacemaker 监控mysql

我已设置 Pacemaker+Corosync 来管理 Master-Master/Active-Passive 设置中两个 Mysql 框之间的共享 IP 地址(使用交错主键)。

我已设置 Pacemaker 来管理两台机器之间的共享 IP,但是,它目前仅在节点关闭时迁移 IP,而不是在 mysql 出现问题时迁移 IP。如果连接到本地 mysql 实例时出现问题,我希望 IP 能够自动故障转移。

我的 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 并执行具有已知输出的查询。如果这两项检查失败,则应迁移资源。

任何指点都值得赞赏。

答案1

我的心跳设置完全相同......

我们面临的问题是知道何时迁移写入 IP。

基本上通过登录和选择检查是行不通的,我发现某些表已损坏,而正在检查的表却没有问题。

现在我正在听 mysql 日志,这是捕获问题的唯一可靠的地方......

(经过长时间的考虑,我决定不进行自动迁移)

希望这可以帮助 :)

相关内容