Date: 28 2 月, 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 部署始終可用於支持您的關鍵業務應用程序。
聯繫我們了解更多關於我們的信息高可用性解決方案.
經許可轉載自信息系統