我有一些关于 Azure 故障转移的基本问题。我是故障转移新手。我一直在阅读文献,我准备尝试一下。在我尝试之前,我想更好地了解它是如何运作的。
我们在一个区域的服务器上有一个主数据库,我们将该服务器称为 DBPrime。我们最近在不同区域的服务器上创建了只读副本。我们的第一步是将读取工作负载卸载到只读副本。我们将该服务器称为 DBRead。
我们现在要采取下一步并设置故障转移。如果我正确理解文献,我不需要第三台服务器来进行故障转移。相反,我可以使用只读副本服务器作为故障转移的备用服务器吗?
这是我对触发故障转移时会发生什么的理解。请告诉我我对这些陈述的理解是否正确,或者是否理解不正确。
- Azure 将交换服务器名称,以便 DBRead 现在为 DBPrime,反之亦然。
- 新的DBPrime将从只读模式转变为读写模式。
- 对 DBPrime 的应用程序引用将无缝访问新的 DBPrime
- 引用 DBRead 的工作负载将无法访问服务器,因为该服务器当前已关闭(首先触发了故障转移)。
(我们可以单独讨论退出故障转移时会发生什么。但是,在我了解进入故障转移模式时会发生什么之前,讨论这个问题是没有意义的。)
感谢您的建议!
在 Azure 门户的“故障转移组”选项卡上,应该有两个端点,一个用于读写工作负载,一个用于只读工作负载 ( . secondary 。 )。如果您的只读工作负载使用只读端点,那么它们将无缝切换到现在的辅助节点。
但是,是的,假设所有登录的 SID 都匹配,那么一切对您来说都应该是非常无缝的。当您拥有可用性组和登录时,您也需要注意这一点,SID 必须相同,以便它们可以无缝地进行故障转移。
是的,如果您处于 Azure 数据中心完全关闭的情况下,并且强制将辅助节点设置为主节点,则任何尝试连接到辅助节点的应用程序都将失败,因为它指向完全关闭的数据中心。
就我个人而言,我尝试使用 C 名称来解决这个问题(就像在本地环境中一样),但 Azure 托管实例确实关心它们的名称。设置 C-Name 导致无法登录,这确实令人沮丧。因此,如果我们的辅助设备实际上出现故障,我们需要手动更新我们指定的任何位置。