Date: 2月 28, 2023
Azure VM 上 SQL Server 的高可用性选项
Microsoft Azure 基础架构旨在为您的应用程序和数据提供高可用性。 Azure 提供了多种用于实现高可用性的基础设施选项,包括可用性区域、配对区域、冗余存储以及高速、低延迟的网络连接。 所有这些服务均由服务级别协议 (SLA) 提供支持,以确保您的关键业务应用程序的可用性。 这篇博文将重点介绍在 Azure 虚拟机中运行 SQL Server 时的高可用性选项。
Azure 基础架构
在我们进入 SQL Server 的高可用性选项之前,让我们讨论一下必须到位的重要基础架构。 可用性区域、区域和配对区域是 Azure 基础结构中的关键概念,在规划应用程序和数据的高可用性.
可用区是区域内物理上独立的位置,提供冗余电源、冷却和网络。 每个可用区由一个或多个数据中心组成。 通过将您的资源放置在不同的可用区中,您可以保护您的应用程序和数据免受计划内或计划外维护、硬件故障或自然灾害造成的中断。 在将可用区用于 SQL Server 部署时,您有资格获得 99.99%可用性 SLA对于虚拟机。
区域是 Azure 服务可用的地理位置。 Azure 目前在全球拥有 60 多个区域,每个区域都有多个可用区。 通过将您的资源放置在不同的区域,您可以提供更好的保护,以防止自然灾害或其他重大事件造成的中断。
配对区域是具有独特关系的预定义区域对。 最值得注意的是,当使用地理冗余存储时,成对的区域会相互复制数据。 成对区域的其他好处是区域恢复顺序、顺序更新、物理隔离和数据驻留。 在设计灾难恢复计划时,建议对主要位置和灾难恢复位置使用配对区域。
将可用性区域和配对区域与可用性组和故障转移集群实例等高可用性选项结合使用,您可以创建高度可用、有弹性的 SQL Server 部署,这些部署可以承受各种故障,从而最大限度地减少停机时间。
SQL Server 可用性组和故障转移群集实例
SQL Server 可用性组 (AG) 和 SQL Server 故障转移群集实例 (FCI) 都是 SQL Server 的高可用性 (HA) 和灾难恢复 (DR) 解决方案,但它们的工作方式不同。
AG 是 SQL Server 企业版的一项功能,它通过跨多个服务器(称为副本)复制数据库来提供 HA 解决方案,以确保数据库在发生故障时始终可用。 AG 可用于为单个数据库和多个数据库提供 HA。
SQL Server Standard Edition 支持称为 Basic AG 的东西。 SQL Server 中的基本 AG 存在一些限制。 首先,Basic AG 只支持单个数据库。 如果您有多个数据库,则每个数据库都需要一个 AG 以及关联的 IP 地址和负载平衡器。 此外,Basic AG 不支持只读副本。 虽然 Basic AG 提供了一种为单个数据库实现 HA 的简单方法,但它们可能不适合更复杂的场景。
另一方面,SQL Server FCI 是 Windows Server 故障转移群集 (WSFC),它通过创建使用共享存储的多个服务器(称为节点)的群集来提供 HA 解决方案。 如果发生故障,在一个节点上运行的 SQL Server 实例可以故障转移到另一个节点。
在 SQL Server 2022 Enterprise Edition 中,新的 Contained Availability Groups (CAG) 通过允许用户创建系统数据库到 CAG,然后可以复制,从而解决了一些 AG 限制。 CAG 消除了手动同步 SQL 登录和 SQL 代理作业等内容的需要。
可用性组和故障转移集群实例各有利弊。 AG 具有高级功能,例如可读辅助节点以及同步和异步复制。 但是,AG 需要 SQL Server 的企业版,这可能会导致成本过高,尤其是在您不需要任何其他企业版功能的情况下。
FCI 保护整个 SQL Server 实例,包括所有用户定义的数据库和系统数据库。 FCI 使管理更容易,因为所有更改(包括对 SQL Server 代理作业、用户帐户和密码以及数据库添加和删除所做的更改)都会在所有版本的 SQL Server 上自动协调,而不仅仅是带有 CAG 的 SQL 2022。 FCI 随 SQL Server Standard Edition 提供,这使其更具成本效益。 但是,FCI 需要共享存储,这在跨可用区、区域或混合云配置的环境中部署时会带来挑战。 详细了解 SIOS 软件如何启用SQL 服务器的高可用性.
SQL Server 故障转移群集实例的存储选项
关于跨可用区的 SQL Server 故障转移集群实例的存储选项,有三个选项:Azure 文件共享、带区域冗余存储的 Azure 共享磁盘和 SIOS DataKeeper 集群版。 还有第四个选项,Storage Spaces Direct (S2D),但仅限于单个 AZ 部署,因此基于 S2D 的集群不符合 99.99% SLA 的条件,并且容易受到影响整个 AZ 的故障的影响。
Azure 文件共享
具有区域冗余 (ZRS) 的 Azure 文件共享功能允许你跨 Azure 区域的不同可用性区域存储数据的多个副本,从而提供更高的持久性和可用性。 然后可以将此数据共享为 CIFS 文件共享,并且集群使用 SMB 3 协议连接到它。
Azure 共享磁盘
具有区域冗余存储 (ZRS) 的 Azure 共享磁盘是一种共享磁盘,可以存储 SQL Server 数据以供在群集中使用。 SCSI 持久保留确保只有活动集群节点才能访问数据。 如果主可用区发生故障,备用可用区中的数据将变为活动状态。 使用 ZRS 的共享磁盘仅在美国西部 2、西欧、北欧和法国中部区域可用。
SIOS DataKeeper 集群版
SIOS DataKeeper 集群版是一种存储 HA 解决方案,支持 Azure 中的 SQL Server 故障转移群集。 它在所有区域可用,并且是唯一支持跨可用区故障转移和跨区域故障转移的 FCI 存储选项。 它还支持跨本地到云配置的混合云配置。 DataKeeper 是一种软件解决方案,可使本地附加存储在所有集群节点之间保持同步。 它作为称为 DataKeeper 卷的第三方存储类集群资源与 WSFC 集成。 故障转移集群控制 DataKeeper 卷的所有管理,为最终用户提供无缝体验。 学习更多关于SIOS 数据管理员。
概括
总之,Azure 提供了各种基础结构选项来实现 SQL Server 部署的高可用性,例如可用性区域、区域和配对区域。 通过利用这些选项,结合可用性组和故障转移群集实例等高可用性解决方案,您可以创建高度可用、有弹性的 SQL Server 部署,可以承受各种故障并最大限度地减少停机时间。 在为您的特定需求选择最佳解决方案之前,了解所需的基础架构以及每个选项的优缺点至关重要。 建议咨询 SQL 和 Azure 专家以指导你完成整个过程,并查看 Azure 文档和最佳实践。 通过适当的规划和实施,您可以确保 Azure 上的 SQL Server 部署始终可用于支持您的关键业务应用程序。
联系我们了解更多关于我们的信息高可用性解决方案.
经许可转载自信息系统