我有两个节点从 iscsi 启动以实现 Windows 2008 集群。我使用磁盘多数选项作为 iscsi 上的仲裁。但是当仲裁的 iscsi 连接失败时(可能是 SAN 服务器重置),故障转移群集也会失败。如果我重置其中一个节点,它可以打开,但其系统磁盘会脱机。我无法将其状态更改为在线,因为它说它由故障转移群集保留(磁盘在 iscsi 上,因为 iscsi 启动)。并且此磁盘以只读方式工作。它上面的任何内容都不能删除或写入。所以,我无法再次将节点重新加入群集。我必须重新安装 Windows。所以,我想问的是,我如何实现更多的仲裁备份?我的意思是,我可以同时使用磁盘多数和文件共享多数吗?据我所知,每个节点也保留仲裁的副本。但我不知道有时 san 服务器会脱机。仲裁的 iscsi 连接和节点的 iscsi 连接会丢失。因此,节点中保留的仲裁和仲裁 iscsi 磁盘不足以重新启动集群。我想同时使用磁盘多数和文件共享多数。我可以这样做吗?你还有其他建议吗?问候。
答案1
这是使用 Server 2012 或更低版本的任何 Microsoft 故障转移群集的问题,使用磁盘多数或节点和磁盘多数。磁盘见证是群集的故障点。即使所有节点都正常运行,如果磁盘见证发生故障(我们无法访问它),群集就会关闭。那么该怎么办?
1) 确保您的磁盘见证具有高可用性,这样就不太可能脱机 2) 考虑使用文件共享和备用文件共享见证,选择节点和文件共享见证作为您的仲裁类型 3) 使用 Windows Server 2012 R2 作为您的集群。Server 2012 r2 使用动态仲裁模型,不会遇到同样的问题。
答案2
我认为您必须检查您的架构。您实际上有一个组件会同时导致 2 个故障:您的 SAN 服务器将导致 2 个链接故障。如果您不采取额外的应对措施,故障转移群集通常无法处理这种情况。如果您使用 SAN 服务器,它必须具有容错能力,并且如果不是为了维护,则永远不会重置,并且您知道您必须停止群集。我已经在 POSIX shell 中编写了一个故障转移群集软件,并在 Windows 上使用 CYGWIN 对其进行了测试,它可以工作,但由于它是经典的 unix 脚本,它使用了很多 fork,因此在 Windows 上它比在 Linux 上消耗更多的 CPU。如果您有兴趣探索新的解决方案: https://github.com/nackstein/back-to-work/