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

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

我们的目标是创build一个没有任何单点故障的群集MSMQ。 理想情况下,存储的消息将保留在群集的所有节点上,以便如果任何单个节点脱机,则群集可以继续运行并维持法定数量。

或者,还有另一种创build高可用性MSMQ的更好方法吗?

(其他最可能不相关的信息)这个集群将作为一个NServiceBus“分配器”,并在我们的系统中保留所有“未决”消息。 这将是所有消息stream量经过的枢纽。

编辑:澄清,我特别感兴趣的是存储在节点上复制的MSMQ队列本身。 我将使用FileShare或节点多数法定人数来处理群集法定人数。

MSMQ数据将存储在其上的磁盘需要某种共享磁盘。

SAN的成本并不是主要问题,而是SAN成为单一故障点的事实。

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

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

否,群集服务/ MSDTC需要一个共享块级法定卷。

是的,共享块存储是法定人数的要求。

如果SAN的成本推回来,则可以使用直接连接存储,如Dell MDS 1000 。

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