本文的目的是总结最近集群研究的成果,并提供一些思路给感兴趣的朋友。
由于mysql cluster实现的ha+负载均衡(以前的文章中实现的)方式有很大的局限性,
当前的mysql cluser处理库时是全库载入内存,所有数据在内存中处理,并且表和库
的应用有很多限制,没有普遍应用性,所以有了下面的替代方案。
方案1:openssi+lvs+mysql+(共享存储)
openssi官方文档中实现的是ha的failover方式,使用drdb同步数据,没有讨论负载
均衡,我在此基础上,去除drdb,使用共享存储来保持数据唯一性,在此基础上就
可以实现负载均衡了。如下:
server1: 192.168.0.1
10.0.0.1(对应192.168.0.1,openssi虚拟出的cvip1)
server2: 192.168.0.2
10.0.0.1 (对应192.168.0.2,openssi虚拟出的cvip1)
mysql 绑定ip 10.0.0.1.
方案2:openssi+lvs+mysql+并行文件系统(gfs,pvfs,lustre)+vmare
在不使用额外的存储用设备(nfs或阵列)时 ,缺点,机器要够强劲.
server1: 192.168.0.1 vmare下的os1 (mds1)
192.168.0.2 vmare下的os2 (client1)
192.168.0.3 vmare下的os3 (ost1)
10.0.0.1(对应192.168.0.2,openssi虚拟出的cvip1)
server1: 192.168.0.4 vmare下的os1 (mds2)
192.168.0.5 vmare下的os2 (client2)
192.168.0.6 vmare下的os3 (ost2)
10.0.0.1 (对应192.168.0.5,openssi虚拟出的cvip1)
mysql 绑定ip 10.0.0.1.
方案3:openssi+lvs+mysql+并行文件系统(gfs,pvfs,lustre)+多网卡方案(或单网卡
多vlan,或多网卡多vlan,单网卡多ip).
类似方案2,只不过是不同os变成了相应的网络设备,因为这几个文件系统服务都是可
以通过绑定ip的方式在同一系统中运行多个服务.
总结,三个方案的实现难度是依次增加的,可管理性上是依次减弱的,可根据自己
的需求做相应的选择,在这里只是为了抛砖引玉,欢迎大家共同计论研究.
阅读(4227) | 评论(2) | 转发(0) |