题 没有SAN的MSMQ的Windows故障转移群集?


是否可以在没有SAN的情况下创建3节点Windows Server 2008 R2故障转移群集?

我们的目标是创建一个没有任何单点故障的集群MSMQ。理想情况下,存储的消息将保留在集群的所有节点上,这样,如果任何单个节点脱机,集群可以继续运行并维护仲裁。

或者,是否有另一种更好的方法来创建高可用性MSMQ?

(其他最可能无关的信息) 该集群将充当NServiceBus“分发服务器”并在我们的系统中保存所有“待处理”消息。它将成为所有消息流量通过的中心。

编辑: 为了澄清,我特别感兴趣的是存储在节点本身上复制的MSMQ队列。我会使用FileShare或Node Majority仲裁来处理群集仲裁。


5
2017-09-22 19:50






答案:


存储MSMQ数据的磁盘需要某种共享磁盘。

SAN的成本并不是主要成本   问题 - 这是事实   SAN成为单点故障。

SAN并不是真正的单点故障。它们具有冗余控制器,从服务器到SAN的冗余路径,从控制器到主轴的冗余路径。如果主轴故障是一个问题,您可以将LUN克隆到第二组磁盘以获得最大冗余。如果你有第二个数组,你甚至可以从一个数组复制到另一个数组。

如果不是更多,大多数存储阵列的正常运行时间为99.999%。有些设计的正常运行时间为99.9999%,有些可以提供更长的正常运行时间。


3
2017-09-22 21:31



有趣/好点。并且,正如您所说,如果我们将LUN复制到第二个阵列,即使在主阵列发生灾难性故障的情况下,我们也可以保持极高的SLA。 - Mike


不,群集服务/ MSDTC需要共享块级仲裁卷。


0
2017-09-22 20:01



此仲裁是否可以作为文件共享的群集仲裁? - Mike
block-level!= fileshare - Antoine Benkemoun
迈克,很高兴出错,但据我所知,仲裁必须是阻止级别而不是文件级别 - 我错了吗? - Chopper3
看起来fileshare quorum选项在R2中可能是新的(technet.microsoft.com/en-us/library/cc731739.aspx#BKMK_choices)。我真正的问题是,除了群集仲裁之外,MSMQ的存储是否可以在节点之间复制? - Mike


是的,共享块存储是法定人数的必要条件。

如果是将SAN推回去的成本,您可以使用直接连接存储,例如 戴尔MDS 1000


0
2017-09-22 21:00



SAN的成本不是主要问题 - 而是SAN成为单点故障的事实。 - Mike


MSMQ使用一个固定文件位置来存储特定队列管理器的消息和日志文件。当群集MSMQ服务故障转移到另一个节点时,文件将从同一共享位置加载到内存中,以便MSMQ可以继续工作。无法将MSMQ存储目录复制到多个位置,并使这些位置可用于MSMQ服务以从中加载文件。消息都标有MSMQ队列管理器的名称,因此文件只能由具有相同队列管理器名称的MSMQ服务加载。


0
2018-01-29 00:32