我试图启用故障转移策略,在两台运行由VritualBox创build的openSUSE 12的虚拟机上进行mysql Master-Master复制时使用pacemaker。
我设法完成MySQL双主复制,它似乎工作。 服务器A的IP为192.168.Xb ,服务器B的IP为192.168.Xb 我遵循这里的指令,所以基本上我的corosync.conf看起来像指南中介绍的,除了下面写的接口部分:
interface { ringnumber: 0 bindnetaddr: 192.168.Xc mcastaddr: 226.94.1.1 mcastport: 5405 ttl: 1 }
我的第一个问题是:什么是bindnetaddr: 它是我的群集的虚拟IP吗? 如果不是,它应该是其他节点的IP还是它自己的IP? (我的意思是服务器的IP有这个configuration或其他服务器)
我的第二个问题是:什么是mcastaddr和mcastport ,他们应该设置什么?
然后我尝试添加MySQL作为资源,所以我按照这里所述做了 。 但是当我inputcrm configure primitive ip_mysql ocf:heartbeat:IPaddr2 params ip="192.168.Xc"我得到
crm configure primitive ip_my ocf:heartbeat:IPaddr2 params ip='192.168.114.8' crm_verify[23888]: 2012/12/29_12:25:51 WARN: cluster_option: Using deprecated name 'stonith_enabled' for cluster option 'stonith-enabled' Warnings found during check: config may not be valid
我的第三个问题是:在提供params ip来configure primitive ,它应该是虚拟IP吗? (在corosync.conf文件中设置的那个)
我的第四个问题是:我应该忽略这些警告吗? 说实话,当我面临警告时我没有再去,而且由于我有很多不确定因素,我认为确保我走在正确的道路上更好。
另一方面,如果有人能把我简单的/很好的关于使用Pacemaker / Corosync和mySQL复制非DRDB或者使用XtraDB和简单的双主复制的教程联系起来,我将不胜感激。 Web上的教程适用于DRDB和XtraDB或其他工具。 我知道这个程序应该是一样的(为心脏起搏器增加一个资源),但是我没有从这些教程中提取相似之处。
问题一答案 bindnetaddr是我们要连接起搏器/ corosync(?)的networking地址。 因此,如果您的服务器将ABCx和ABCy作为IP地址,则在corosyncconfiguration文件中,必须将bindnetaddr分配给ABC0 。
问题二的答案 mcastaddr是用于多播的IP地址, mcastport是用于群集通信的端口。 为了相互通信,属于同一集群的所有节点需要使用相同的bindnetaddr , mcastaddr和mcastport 。
问题三 params ip 答案 params ip是虚拟IP。 如果你已经将你的bindnetaddr设置为ABC0那么你的虚拟IP应该是ABCz 。
问题四的答案这些警告并不影响我的集群。 所以,我忽视了他们。
除了关于我的问题的评论中提供的链接@slm(请参阅下面的资源),Heartbeat MySQL资源代理的此教程以及此高可用性指南帮助我设置和configuration群集。
资源