它是否像GFS上的MySQL(或任何其他关系数据库)一样工作(使用DRBD),并有多个节点读写数据? 如果是,提供高可用性数据库/应用程序设置的“最佳”方法是? RHEL(集群套件)是一个很好的方法来设置这个? (或者centos)
DRBD只适用于两个节点。 如果您在主/主设置中使用它,它确实可以让您拥有某种高可用性。
我不会推荐GFS,它真的很慢。 DRBD速度很慢,因为它需要通过networking复制数据,如果你在缓慢的FS之上添加数据,那么你正在寻找麻烦。 慢,我的意思是说DAS比较慢。
MySQL中包含的复制function是一团糟。 两台服务器已经相当复杂,但使用循环复制,这只是疯狂的。
对于数据库服务器,我发现最好的解决scheme是使用数据库系统中包含的复制function。 使用块复制可能会导致数据损坏,这很可能会导致服务器崩溃。
想象一下,你有一个使用DRBD / OCFS的主/主设置。 如果在同一时间在两个主机的同一个表中插入(+/- 1ms),会发生什么情况? DRDB / OCFS应该如何知道如何排列元组? DB软件的复制function将知道如何处理这个问题,而DRBD / OCFS不是要处理这样的事情。
因此,使用MySQL复制function并进行崩溃testing。 尝试在一台服务器上拉电源线,看看它在线时会发生什么。 试着拉上两条线,看看他们什么时候回来在线。 同时进行多个同时插入和更新。
对于更多的两个节点,请考虑MySQL代理。
MySQL的循环复制+ drdb +心跳在几个设置工作。
你只需要调整它。
关于多个节点读/写我会尝试MySQL代理。
HTH