Date: 3月 26, 2019
通过混合使用永远在线的可用性组和SANless SQL Server故障转移群集实例实现SQL Server高可用性,灾难恢复
介绍
将SQL Server故障转移群集实例(FCI)与Always On Availability Groups(AG)混合的主题已有详细记录。但是,大多数可用的文档文档配置假定解决方案的SQL Server FCI部分使用共享存储。如果我想使用Storage Spaces Direct(S2D)构建SANless SQL Server FCI,我还能添加一个SQL Server AG吗?不幸的是,这个问题的答案是否定的。截至今天,不支持基于S2D的SQL Server FCI和Always On AG的组合。我之前在博客上写过这个S2D限制。然而,好消息是你可以使用SIOS DataKeeper构建一个SANless SQL Server FCI,并且仍然可以利用Always On AG来处理可读的辅助数据库。在混合传统的基于SAN的SQL Server FCI和Always On AG时,您仍然必须遵守相同的规则,但大多数情况下实现SQL Server的高可用性大致相同。DataKeeper同步复制通常用于同一数据中心或云区域中的节点之间,但您可能希望异步复制到不同区域中的其他节点以进行灾难恢复。在这种情况下,如果您在意外故障后必须将DR节点联机,则必须废弃Always On AG配置并重新配置它们。此要求与Microsoft在此处发布的有关恢复在VM内运行的SQL Server Always On AG的异步快照的要求非常相似。
可用性组
从本质上讲,就Always On可用性组向导而言,具有DataKeeper的SANLess SQL Server故障转移群集实例看起来像SQL Server的单个实例。Always On AG的配置与在两个独立(非群集)SQL Server实例之间仅创建Always On AG的配置完全相同。真正的困惑在于,在此配置中,所有服务器都驻留在同一故障转移群集中。但SQL Server FCI仅配置为仅在作为群集SQL Server实例安装SQL Server的群集节点上运行。其他节点位于同一群集中。但是,SQL在这些节点上安装为独立SQL Server实例,而不是群集实例。这有点令人困惑。基本上正在发生的事情是Always On AG利用WSFC仲裁模型和听众。因此,所有AG副本都需要驻留在同一个WSFC中,即使它们通常不运行SQL Server的群集实例。如果你完全感到困惑,那么大多数人在第一次尝试围绕这种混合配置时会感到困惑。这样的配置的真正好处是,在许多情况下,SQL Server故障转移群集实例可以比Always On AG更好,更具成本效益(在后面的*上更多)高可用性解决方案,但它缺乏提供可读的辅助副本。添加Always On AG可读辅助副本成为满足此需求的可行选项。使用SIOS DataKeeper消除了对SQL Server FCI的SAN的需求,这开辟了配置SQL Server FCI的可能性,其中节点位于不同的数据中心,这也意味着支持跨Azure和ASP.NET中的可用区的SQL Server FCI。AWS。请注意,下图仅是一种可能的配置。支持多个FCI集群节点,多个AG和多个副本。您只受限于您的SQL Server版本所施加的限制。本文似乎很好地记录了设置步骤。当然,我将使用SIOS DataKeeper来构建FCI,而不是SQL FCI的共享存储。
基本可用性组
从SQL Server 2016开始,缩小的“基本可用性组”在SQL Server标准版中可用,即使在SQL Server标准版中也可以进行此配置。基本AG仅限于每个可用性组的单个数据库,单个副本(2个节点)。但是,它们不支持可读的辅助副本,因此它们在此混合配置中的用例非常有限。
分布式可用性组
此混合配置也支持SQL Server 2016中引入的分布式AG。分布式AG与常规AG非常相似,但副本不需要驻留在同一个集群中,甚至不需要驻留在同一个Windows域中。Microsoft记录了分布式可用性组的主要用例,如下所示:
- 灾难恢复和更轻松的多站点配置
- 迁移到新硬件或配置,可能包括使用新硬件或更改底层操作系统
- 通过跨多个可用性组,在单个可用性组中将可读副本的数量增加到八个以上
摘要
如果您喜欢SQL Server FCI的SQL Server高可用性的想法,但想要只读辅助副本的灵活性,这种混合解决方案可能就是您正在寻找的东西。传统的基于SAN的SQL Server FCI,甚至基于存储空间直接(S2D)的FCI,都将您限制在单个数据中心。SIOS DataKeeper使您摆脱SAN的限制,并支持跨越可用区域或云区域的SQL Server FCI等配置。它还消除了对SAN的依赖,允许您利用本地连接的高速存储设备,而无需放弃SQL Server故障转移群集实例。
*如何省钱
早些时候我答应过,我会告诉你如何通过SQL Server标准版来实现这一切。如果您可以使用基于时间点的快照的可读副本,则可以完全跳过Always On AG并仅使用SIOS DataKeeper目标端快照功能定期获取目标服务器上卷的应用程序一致性快照,而不会影响正在进行的复制或可用性。这是如何做…
使用SQL Server Standard Edition创建一个双节点SQL Server FCI,并在SQL许可证上节省大量资金。然而,仍然会将数据复制到群集外的第3个节点,以用于报告或DR目的。如果您拍摄第三台服务器上的卷快照,则可以直接访问这些快照。 这样,您可以从SQL Server的独立实例安装这些数据库以运行月末报告,复制到存档,或者您甚至可能希望使用这些快照使用最新的SQL快速轻松地更新QA和测试/开发环境数据。我希望您找到了创建指南以实现SQL Server高可用性,灾难恢复与Always On Availability Groups和SANless SQL Server故障转移群集实例的混合使用。