我们正计划将我们的 SQL 2012 升级到 SQL 2014。我们目前为我们的生产数据库使用镜像,但正计划迁移到可用性组。我们将在我们的主站点上运行 2 个 SQL Server,并在 DR 上运行一个异步副本。
我们与 DR 的链接有时非常不完整,因此我们不想依赖 DR 来获得法定人数,这也是 Microsoft 的建议:https://msdn.microsoft.com/en-us/library/hh270280。阿斯普克斯。为了提供奇数票数,我们计划让节点和文件共享多数(2 个节点 + 主站点上的 1 个文件共享 = 3 票)。
一年中有几次我们需要故障转移到灾难恢复,无论是为了测试还是因为我们主要站点的维护(电气/连接/等)工作。
要故障转移到 DR,我们可以将 DR 副本设置为同步,等待它赶上,然后使用脚本或故障转移向导进行故障转移。我已经在 Hyper-v(3x SQL + 1x AD)中使用 4 个服务器设置了测试。一旦我将故障转移到 DR,然后关闭 SQL Server,集群就会脱机。
我注意到我上面提到的同一篇 msdn 文章说
• 故障转移后重新评估投票分配。您不希望故障转移到不支持健康仲裁的群集配置中。
在计划故障转移到 DR 并且主站点完全脱机(包括 2 个主 SQL 节点和文件共享)之后,为维持仲裁而进行的最佳调整是什么?
看起来答案是Server 2012 R2。2012 R2只有偶数个节点才包含文件共享。因此,如果 DR 脱机,则文件共享将包含在仲裁中,直到 DR 重新联机。
从测试来看,如果您优雅地关闭辅助设备上的连接,那么主设备也会保持正常运行。因此,从 DR 运行计划中断意味着我们可以优雅地进行故障转移,然后关闭主站点的服务器。因为 DR 成为主要节点,所以它将作为最后一个节点保持运行状态,直到仲裁恢复(并且同步完成)