数据库的高可用性(DRBD + GFS)?

数据库的高可用性(DRBD + GFS)?

在 GFS(使用 DRBD)上安装类似 MySQL(或任何其他关系数据库)并让多个节点对其进行读写是否可行?如果是这样,这是提供 HA 数据库/应用程序设置的“最佳”方式吗?RHEL(集群套件)是设置此设置的好方法吗?(或 centos)

答案1

DRBD 仅适用于两个节点。如果您在主/主设置中使用它,它确实可以让您获得某种高可用性。

我不推荐 GFS,它真的很慢。DRBD 很慢,因为它需要通过网络复制数据,如果再加上一个慢速 FS,那就麻烦了。我说的慢,是指比 DAS 慢。

MySQL 的复制功能很乱。两台服务器就已经很复杂了,再加上循环复制,简直是疯了。

对于数据库服务器,我发现最好的解决方案是使用数据库系统自带的复制功能。使用块复制可能会导致数据损坏,这很可能会使服务器崩溃。

想象一下,您有一个使用 DRBD/OCFS 的主/主设置。如果您同时(+/- 1ms)在两个主机的同一张表中执行插入操作,会发生什么情况?DRDB/OCFS 应该如何知道如何对元组进行排序?DB 软件的复制功能将知道如何处理这种情况,而 DRBD/OCFS 并非旨在处理此类事情。

因此,请使用 MySQL 复制功能并对其进行崩溃测试。尝试拉动一台服务器上的电源线,看看当它重新上线时会发生什么。尝试拉动两台服务器上的电源线,看看当它们重新上线时会发生什么。同时在两台服务器上执行多次插入和更新操作。

对于两个以上的节点,请考虑使用 MySQL Proxy。

答案2

mysql 循环复制 + drdb + 心跳在几种设置中起作用。
您只需要对其进行调整。

关于多个节点读/写,我将尝试 mysql 代理。

高血压

相关内容