我正在从镜像迁移到 SQL Server 2014/Windows 2012 R2 上的 AG。我将有一个 2 节点集群。我需要这个集群在生产环境中始终在线。
我正在阅读有关可用性组的 Microsoft 文档,但我找不到任何关于拥有 2 节点 AG/WSFC 的“最佳实践”,除了没有见证人不是“最佳实践”。我只是充满了疑问。
如果我实施文件共享见证
放置我的(文件共享)见证的最佳位置是什么?将它放在 DC 上是好主意还是安全风险?
为什么它必须是 Windows Server 而不是(比如说)linux/NAS?
我如何防止某人因为不知道它是什么或它的用途而简单地删除文件共享,同时又不将我自己/所有系统管理员锁定在其中?
如果我不实施文件共享见证
我可以只删除动态仲裁并完全排除见证人吗?这可能吗?
将另一个 SQL 节点添加到我的集群(如果我有一个)作为第三投票方但不包括其任何数据库是否更好?那可能更耐用吗?
在 2 节点可用性组(或镜像)中,如果您想要自动 HA,第三个节点很重要。如果您的辅助设备无法连接到主要设备,则辅助设备必须确定它是否可以作为主要设备联机,或者错误是否实际上与辅助设备有关。没有第三方,这是不可能的。
文件共享见证将比添加另一个 Windows 节点只是作为见证更简单。它可以在任何地方,重要的是如果另一个节点离线,两个节点都能够看到见证。如果你有一个虚拟环境,你可能需要更加努力地思考,你需要考虑如果物理节点离线,你的文件共享是否仍然可用。
对多数据中心的额外思考
如果这 2 个节点位于不同的数据中心(你提到了 DR,所以我假设)那么在云中共享文件可能会有所帮助(你可以使用 Azure Blob Storage 作为见证)。这意味着如果您的一个主要数据中心脱机,SQL 将自动故障转移到次要数据中心。如果您在辅助服务器上托管文件共享并且辅助服务器脱机,那么您的主服务器也将脱机(无法联系辅助服务器或文件共享,因此假设它不再是主服务器)。