需要帮助configuration起搏器

我正在尝试configuration一个双节点的openais / pacemaker集群,并且很难find信息/教程。

我的目标是在主从复制场景中设置2台MySQL服务器,在这里我可以从两台服务器上读取数据,但只能写入“主”服务器。

因此,我通过交换辅助IP地址来实现复制和手动故障切换 ,并使用my.cnf中的“只读”选项重新configuration新的从站。 现在我想用起搏器自动化。 基本上我希望主IP始终在我可以写入的服务器上 ,并且从IP总是在另一个上 。 如果主服务器上的mysql无法响应,我希望发生故障转移。

这是迄今为止的configuration。 有没有人可以检查我的工作(我肯定是不完整的), 给我一些关于我做错了什么的指针 ? (注意:mysql-master脚本是/etc/init.d下的一个自定义脚本,用于设置/清除只读选项,并重新启动mysql)

primitive virtual_master_ip ocf:heartbeat:IPaddr2 \ params ip=192.168.250.xxx.xxx \ op monitor interval=10s primitive virtual_slave_ip ocf:heartbeat:IPaddr2 \ params ip=192.168.xxx.yyy primitive mysql_service ocf:heartbeat:mysql params binary="/usr/bin/mysqld_safe" config="/etc/mysql/my.cnf" \ op minitor interval="60s" timeout="30s" \ meta target-role="Started" primitive mysql_master_role lsb:mysql-master group mysql virtual_master_ip mysql_master virtual_slave_ip colocation ms_ip inf: virtual_master_ip virtual_slave_ip score="-INFINITY" 

如卡米尔所说,知道实际问题会是非常有用的信息。 不过,我对你有几个问题直接甩掉了蝙蝠:

  • 您的IP地址有五个八位字节: 192.168.250.xxx.xxx
  • 我不知道一个叫做“minitor”的操作: op minitor interval="60s" timeout="30s"
  • 我使用lsb:mysql类,而不是ocf:heartbeat:mysql ; 如果你在这方面遇到问题,可能值得一试。
  • 如果您有-INF代号约束,您可能不希望在同一组中使用virtual_master_ipvirtual_slave_ip 。 这将使起搏器出现心律失常。

尽pipe如此,我甚至不确定你是否想要做你认为正在做的事情。 我更倾向于设置两个资源, mysql_as_mastermysql_as_slave ,它确保MySQL在机器上以适当的模式运行(我将通过在命令行上设置只读选项来启动MySQL,而不是使用configuration文件跳转,使用mysql客户端查询正在运行的服务器,以确保它按需要运行为只读或读写),然后将它们与关联的IP地址分组。