本文将告诉你如何配置一个三个节点的MySQL 5数据库服务器群集:两个存储节点和一个管理节点。这个群集是由用提供“heartbeat心跳”(用来检查另外一个节点是否活动)和“ldirectord”(将请求分发到MySQL群集的节点)的Ultra Monkey安装包的两个节点组成的一个高可用性负载均衡器。
本文我们的每个节点使用Debian Sarge Linux系统。其它Linux发行版本的安装可能一点点区别。MySQL的版本我们使用5.0.19。如果你不想使用MySQL 5,你也可以使用MySQL 4.1,尽管我还没有测试过。
本文是一篇实践应用指导;它没有涉及太多的理论。关于群集的理论你可以在网上找到很多。
服务器
我使用下面的Debian服务器,它们都在同一个网段(本例如:192.168.0.x):
sql1.test.com: 192.168.0.101 MySQL 群集节点 1
sql2.test.com: 192.168.0.102 MySQL 群集节点 2
loadb1.test.com: 192.168.0.103 负载均衡 1 / MySQL 群集管理服务器
loadb2.test.com: 192.168.0.104 负载均衡 2
另外我们需要一个虚拟IP地址:192.168.0.105。它会安排给这个MySQL群集的负载均衡,以便于应用程序通过统一单独的IP地址来访问群集。尽管我们想在MySQL群集中使用两个节点,但是我们仍然需要第三个节点,MySQL群集管理服务器,主要的一个原因是:如果其中一个MySQL群集节点坏了,而MySQL群集管理服务器没有运行,那么两个群集节点上的数据将会不一致(“split brain”)。我们需要它来配置MySQL群集.