将多主复制(MMR)与Linux-HA混合使用

我有兴趣使用MMR( http://mysql-mmm.org/ )来实现高可用性和复制目的。 问题是,我也有兴趣将Linux-HA用于其他服务,比如Apache。 当涉及到某些事情时,这两者重叠,例如交换虚拟IP接口等。

有没有人有类似的设置,并有上述问题的一些最佳做法/解决scheme?

其他服务在同一台机器上吗?

如果不是,那么你就没有任何重叠(在一台具有虚拟IP的机器上的Linux-HA,在另一台机器上的MMR)

如果还有其他的服务,那么可以考虑虚拟化或将它们移动到其他机器上,这样可以简化networking接口pipe理(两种虚拟IPpipe理方法之间无法冲突)。

只要确保虚拟化主服务器位于不同的主机上,否则主机的故障将导致您丢失所有的MySQL实例!

我尽可能使用Linux HA工具,并尽可能less地使用MySQL组件。 我不相信MySQL的东西,只要我可以扔它。

看起来似乎是合理的,你可以为每一个定义独立的VIP接口。

我一直无法find类似configuration的参考,所以我认为你只是需要通过工作,并进行大量的testing。

然而,在genereal中,我非常怀疑任何多主复制技术。 我很想知道是否可以在故​​障转移configuration中使用单个主服务器。

单独的Linux-HA和MMR可能会变得复杂起来。 如果你主要关心的是交互,限制它的最简单的方法是不同的硬件/networking。 如果这是不可能的,每个盒子的复杂性会增加。 所以最好的做法是尽可能地分开你的虚拟地址和ip地址,这样你就可以把Linux-HA和MMR的configuration集中在一个接口子集上,而不必担心它们互相干扰。 我也会认真考虑是否需要主 – 主复制。 它可能非常复杂,复杂性很容易失败。

如果发生主要故障,您可能会更好地服务于主从,或降级服务。 如果你仍然需要主/主,你可能想看看postgres(尽pipemmr选项很多)。 我也不愿意提到它,但如果我不这样做会是失职,但根据我的经验,如果MMR很重要,不能通过架构或其他方式解决,您可能需要查看诸如Oracle或DB2之类的商业数据库,通过共享存储实现基于日志的MMR,非常可靠。

它适合我们。

然而,每个服务都有一个单独的VIP是很重要的 ,尽pipe理论上你不需要它,但是我们发现它只是单独的VIP服务,可能有点奇怪。

我们有一个可能类似于您感兴趣的生产群:

  • MySQL MMM保持数据库在两台服务器之间同步。
  • 在多主机模式下,在DRBD 0.8的顶部使用OCFS2 ,以使Web文件和configuration文件在两台服务器之间保持同步。
  • 保存在Web群集前面的冗余防火墙上,该防火墙跟踪哪些服务器已启动,并在它们之间均匀分配客户端连接。

实现并保持运行相当简单,并提供出色的性能。 Keepalived可能会有点烦琐,因为它不会把超级用户的错误放到系统日志中关于破坏的configuration,但一旦你得到它的工作,它坚如磐石。 DRBD是保证整个文件系统在机器间同步的最佳非SAN解决scheme,OCFS2(在我们的testing中)是性能最好的开源集群文件系统,而且它的设置也非常简单。

唯一真正的警告是,如果一个用户的连接被指向一个服务器,然后他们被切换到另一个服务器,它将失去Apache / PHP会话和状态数据(除非它们全部存储在数据库中) 。 这不是什么大问题,因为keepalived有一个模式,可以确保相同的客户端IP总是连接到相同的后端服务器(假设它们保持不变)。

哪个操作系统(Linux)正在使用? 通常当你需要安装Mysql cluster / Apache时,我已经为我们的客户端设置了很多时间

| SAN Box |

| | 节点1节点2

服务运行

VIP Mysql / Apache LVM / GFS / GFS2

我build议按照以下链接进行设置

http://kbase.redhat.com/faq/docs/DOC-5648