情况:build立一个负载均衡器
目前我们所有的服务器(运行CentOS Linux)在我们的数据中心都是成对的:每台服务器都有一台镜像服务器。 目前我们没有采用任何负载均衡,所以serverA获取所有stream量,当发生故障时(硬件或软件),我们可以通过在serverB上configurationserverA IP地址来快速切换到serverB。 我们正在使用MySQL主/主复制(尽pipe我们可以简单地使用主/从复制进行当前设置)和rsync保持同步的vhost文件(serverA同步到serverB)。
这对我们来说工作的很好,但是效率很低,因为我们有50%的硬件在机器出现故障之前什么也不做。 我们正考虑在服务器对之前安装负载平衡器,这样我们就可以将负载分配到两台机器,并为每个群集添加额外的服务器。
问题:共享文件存储
设置它可能不会比将负载均衡器放在每个服务器对前面,然后将stream量分配给每个服务器对中的每个服务器。 除了一件事:文件存储。 目前rsync“推”从serverA到serverB的变化,但不是相反。 我们可以设置它,使rsync也从serverB运行到serverA,但问题是,rsync永远不知道是否创build或删除serverA上存在的文件,而不是serverB上的文件。 我看着Unison ,但是这个项目似乎已经停止了。
问题:基于软件的共享文件存储的最佳解决scheme是什么?
所以,我正在寻找一个不同的解决scheme。 请注意,我不想添加更多的硬件(所以没有NAS / SAN解决scheme)。 另外请注意,我们需要每个群集less量的存储(低于500GB),并且所有服务器都在同一个本地networking上。 我们有一个体面的备份解决scheme(备份每3小时运行一次)。
我一直在看DRBD ,这似乎很适合我们的情况,但我没有经验。 DRBD是我们走的路吗? 请分享您与这个和其他类似的解决scheme的经验。 任何想到的陷阱? 我在正确的轨道上? 请赐教:)
DRBD是伟大的。
好东西:
挑战:
为了在几个节点上安装“相同的”文件系统,即使我们继续testing各种解决scheme,我们也会继续使用NFS。 一个设置我没有生产问题是在DRBD之上的EXT4之上的NFS。 我不敢用数据库文件系统来做这件事,但是wwwroot可以。
DRBD透明地实时镜像数据。 请注意以下几点:
如果你想要设置3或4个节点,请看看:
为什么不为每个集群设置两个(或更多)服务,并且默认情况下让每个服务运行一个?