共用方式為


Azure VM 上 SQL Server 的商務持續性和 HADR

適用於:Azure VM 上的 SQL Server

本文比較並對比可用於高可用性和災害復原 (HADR) 的僅限 Azure 和混合式商務持續性解決方案,以及 Azure 虛擬機器 (VM) 上的 SQL Server

商務持續性表示在發生災害時繼續您的業務、規劃復原,以及確保您的資料具有高可用性。 Azure 虛擬機器上的 SQL Server 可協助降低高可用性和災難復原 (HADR) 資料庫解決方案的成本。

注意

使用 Azure Migrate 可將容錯移轉叢集執行個體可用性群組解決方案隨即轉移至 Azure VM 上的 SQL Server。

概觀

Azure VM 上的 SQL Server 支援下列類型的解決方案:

  • 僅限 Azure:整個 HADR 系統會在 Azure 中執行。
  • 混合式:解決方案的一部分會在 Azure 中執行,而其他部分會在組織中的內部部署執行。

Azure 環境的彈性可讓您將解決方案部分或完全移動至 Azure,以滿足 SQL Server 資料庫系統的預算與 HADR 需求。 您可以確定資料庫系統具有 HADR 功能,以滿足您對復原時間目標 (RTO)、復原點目標 (RPO) 和服務等級協定 (SLA) 的業務需求。

Azure 提供的內建高可用性機制 (例如雲端服務的服務修復,以及虛擬機器的失敗復原偵測),也無法保證您能夠符合 SLA、RTO 或 RPO。 雖然這些機制可協助保護虛擬機器的高可用性,但其並不會保護在 VM 內執行之 SQL Server 的可用性。 因此,即使 VM 保持連線且運作正常,SQL Server 執行個體仍可能會失敗。 此外,Azure 提供的高可用性機制甚至會允許因為事件 (例如,從軟體或硬體失敗復原,以及作業系統升級) 導致的 VM 停機。

商務持續性功能

下表列出您可以用於高可用性 (HA)、災害復原 (DR) 或兩者 (HA/DR) 的僅限 Azure 和混合式 SQL Server 解決方案:

在僅限 Azure 或混合式設定中,這些 SQL Server 功能皆支援商務持續性。 其中一些選項非常適用於高可用性和災害復原 (HA/DR)、高可用性 (HA),而其他選項則適用於災害復原 (DR)。

SQL Server 功能 HA/DR 選項 詳細資料
Always On 可用性群組 高可用性和災害復原 在不同的可用性區域及/或區域中新增複本,以提供資料庫層級保護、提高高可用性和災害復原。
Always On 容錯移轉叢集執行個體 (FCI) 高可用性 使用共用儲存體,以提供執行個體層級保護。 合併可用性群組,提高資料庫和執行個體層級的保護。
記錄傳送 災害復原 災害復原的資料庫層級保護包含從主要伺服器傳送交易記錄備份,並將其還原至次要伺服器。 需要 Azure 檔案共用。
使用 Azure Blob 儲存體的 SQL Server 備份及還原 災害復原 儲存在 Azure Blob 儲存體中的生產資料庫備份可用於進行災害復原保護。
Azure Site Recovery 災害復原 將 VM 從主要站台複寫到次要站台的災害復原解決方案。

您可以將這些技術合併在一起,以實作同時具有高可用性和災害復原功能的 SQL Server 解決方案。 根據您使用的技術而定,混合式部署可能會需要使用 Azure 虛擬網路的 VPN 通道。 雖然技術相同,但在 Azure 或混合式設計中對其進行設定的方式可能有一些差異。

可用性群組 (HADR)

若要在資料庫層級保護 Azure VM 上的 SQL Server,可以使用可用性群組做為高可用性和災害復原 (HADR) 解決方案來完成。 在相同區域的 Azure VM 中執行的複本提供高可用性。 由於 Windows 容錯移轉叢集需要使用 Active Directory 網域,因此需要網域控制站 VM。

圖表顯示由「主要複本」、「次要複本」和「檔案共用見證」所組成「WSFC 叢集」上方的「網域控制站」。

若要開始使用,請檢閱可用性群組教學課程

如需更高的備援、可用性和災害復原保護,您可以將 Azure VM 部署在不同的可用性區域中,如可用性群組概觀中所述。 擴展可用性複本以在 Azure VM 的多個資料中心執行,即可進一步新增災害復原涵蓋範圍。 跨區域解決方案可協助防止整個網站中斷。

圖表顯示兩個區域,其中具有「非同步認可」所連接的「主要複本」和「次要複本」。

在區域內,所有複本都應位於相同的雲端服務與相同的虛擬網路中。 因為每個區域皆有個別的虛擬網路,所以這些解決方案需要網路對網路連線。 如需詳細資訊,請參閱使用 Azure 入口網站設定網路對網路連接。 如需詳細指示,請參閱在不同 Azure 區域中設定 SQL Server Always On 可用性群組

在混合式組態中,為了進行跨網站災害復原,部分可用性複本會在 Azure VM 中執行,而其他複本會在內部部署執行。 生產網站可以是內部部署或是在 Azure 資料中心。

圖表,其中顯示了從內部部署設定至 Azure 的可用性群組。

由於所有可用性複本都必須位於相同的容錯移轉叢集中,因此該叢集必須同時跨這兩個網路 (多重子網路的容錯移轉叢集)。 此組態需要 Azure 與內部部署網路之間的 VPN 連線。

若要成功對資料庫進行災害復原,您也應該在災害復原網站安裝複本網域控制站。 若要開始使用,請檢閱可用性群組教學課程

容錯移轉叢集執行個體 (HA)

Azure VM 上的 SQL Server 支援容錯移轉叢集執行個體 (FCI),且此解決方案在執行個體層級提供高可用性。 如需額外的保護,您可以藉由在容錯移轉叢集執行個體上建立可用性群組,在資料庫和執行個體這兩個層級上建立備援。 FCI 功能需要共用儲存體,並且有五個解決方案可與 Azure VM 上的 SQL Server 搭配使用:

  • 使用適用於 Windows Server 2019 的 Azure 共用磁碟。 共用受控磁碟是允許將受控磁碟同時連結至多個虛擬機器的 Azure 產品。 叢集中的 VM 可以根據使用 SCSI 持續保留 (SCSI PR) 的叢集應用程式所選擇的保留,來讀取或寫入您連接的磁碟。 SCSI PR 是一種業界標準儲存體解決方案,可供在內部部署的存放區域網路 (SAN) 上執行的應用程式使用。 在受控磁碟上啟用 SCSI PR 可讓您依情況將這些應用程式移轉至 Azure。

  • 使用儲存空間直接存取 (S2D) 為 Windows Server 2016 和更新版本提供以軟體為基礎的虛擬 SAN。

  • 使用 Windows Server 2012 和更新版本的進階檔案共用。 進階檔案共用支援 SSD、具有持續低延遲,而且完全支援與 FCI 搭配使用。

  • 使用合作夥伴解決方案所支援的儲存體進行叢集化。 如需使用 SIOS DataKeeper 的特定範例,請參閱容錯移轉叢集和 SIOS DataKeeper 部落格一文。

  • 透過 Azure ExpressRoute 使用遠端 iSCSI 目標的共用區塊存放裝置。 例如,NetApp 私用儲存體 (NPS) 會透過 ExpressRoute 使用 Equinix 將 iSCSI 目標公開至 Azure VM。

對於 Microsoft 合作夥伴所提供的共用儲存體和資料複寫解決方案,如有關於存取容錯移轉資料的任何問題,請與廠商連絡。

若要開始使用,請確保您的 VM 已做好 FCI 的準備作業

記錄傳送 (DR)

Azure 中的另一個災害復原解決方案是記錄傳送,即可讓您將主要伺服器上主要資料庫中的交易記錄備份,自動傳送到個別次要伺服器上的一或多個次要資料庫。 記錄傳送的設定使用 Azure 檔案共用 來儲存交易記錄備份。

圖表,其中顯示了 Azure 中的記錄傳送。

如果您需要在混合式環境中設定記錄傳送,則一部伺服器位於 Azure VM 上,另一部伺服器位於內部部署,以進行跨網站災害復原。 記錄傳送依賴 Windows 檔案共用,因此需要 Azure 虛擬網路和內部部署網路之間的 VPN 連線。

圖表,其中顯示了記錄傳送。

若要成功對資料庫進行災害復原,您也應該在災害復原網站安裝複本網域控制站。

備份和還原 (DR)

災害復原需要的備份生產資料庫。 在 Azure 中,您可以將資料庫直接備份到不同資料中心的 Blob 儲存體以進行災害復原。

圖表,其中顯示了一個區域中的資料庫,備份至另一個區域中的 Blob 儲存體。

在混合式解決方案中,內部部署生產資料庫可直接備份到 Azure Blob 儲存體以進行災害復原。

圖表,其中顯示了備份與還原。

如需詳細資訊,請參閱 Azure 虛擬機器中 SQL Server 的備份與還原

使用 Azure Site Recovery 複寫 (DR)

Azure Site Recovery 可在 Azure 和混合式設定中用做災害復原解決方案。

在 Azure 內,某個 Azure 資料中心的生產 SQL Server 執行個體直接複寫至不同 Azure 資料中心的 Azure 儲存體進行災害復原。

圖表,其中顯示了某一 Azure 資料中心的資料庫使用 Azure Site Recovery 複寫在另一個資料中心進行災害復原。

針對混合式環境,內部部署生產 SQL Server 執行個體可直接複寫至 Azure 儲存體以進行災害復原。

圖表,其中顯示了使用 Azure Site Recovery 複寫。

如需詳細資訊,請參閱使用 SQL Server 嚴重損壞修復和 Azure Site Recovery 保護 SQL Server

Azure 中的免費 DR 複本

如果您有軟體保證,則可以使用 SQL Server 來實作混合式災害復原 (DR) 計畫,而不會因為被動災害復原執行個體而產生額外的授權成本。 如果所有複本都託管在 Azure 中,您也有資格使用隨用隨付授權的免授權 DR 複本。

例如,當所有三個複本都裝載在 Azure 中時,您可以有兩個免費的被動次要資料庫:

圖表,其中顯示了 Azure 中包含所有項目時,有兩次免費被動複寫。

或者,您可以設定混合式容錯移轉環境,其中包含授權的主要內部部署、HA 的免費被動、DR 內部部署的免費被動,以及 Azure 中 DR 的免費被動:

圖表,其中顯示了當環境是包含一個主要內部部署複本的混合型環境時,有三次免費被動複寫。

如需詳細資訊,請參閱產品授權條款

若要實現此權益,請移至 SQL Server 的虛擬機器資源。 選取 [設定] 下的 [設定],然後選擇 [SQL Server 授權] 下的 [HA/DR] 選項,然後選取 [套用],以儲存您的設定。 當這三個複本都託管於 Azure 時,隨用隨付客戶也有權使用 HA/DR 授權類型。

圖表,其中顯示了在 Azure 中設定災害復原複本。

Azure 中 SQL Server HADR 的重要考量

與內部部署、非虛擬化的 IT 基礎結構相較之下,Azure VM、儲存體和網路各有不同的作業特性。 若要在 Azure 中成功實作 HADR SQL Server 解決方案,您必須了解這些差異,並配合這些差異設計您的解決方案。

可用性設定組中的高可用性節點

Azure 中的可用性設定組可讓您將高可用性節點分別放入個別的容錯網域和更新網域。 Azure 平台會為可用性設定組中的每部虛擬機器指派更新網域和容錯網域。 資料中心內的這項設定可以確保在規劃或未規劃的維護事件發生期間,至少有一部虛擬機器可以使用,且符合 99.95% 的 Azure SLA。

若要設定高可用性安裝程式,請將所有參與的 SQL Server 虛擬機器放在相同的可用性設定組中,以避免在維護事件期間遺失應用程式或資料。 只有相同雲端服務內的節點可以參與相同的可用性設定組。 如需詳細資訊,請參閱管理虛擬機器的可用性

可用性區域中的高可用性節點

可用性區域是 Azure 地區內獨特的實體位置。 每個區域皆由一或多個配備獨立電力、冷卻系統及網路的資料中心所組成。 區域內可用性區域的實體分隔可保護應用程式和資料不受資料中心失敗的影響,其方法是確保至少有一部虛擬機器可供使用且符合 99.99% 的 Azure SLA。

若要設定高可用性,請將參與的 SQL Server 虛擬機器分散到區域內的可用性區域。 可用性區域之間的網路對網路傳輸將會產生額外費用。 如需詳細資訊,請參閱可用性區域

混合式 IT 中的網路延遲

假設內部部署網路與 Azure 之間可能會有一段時間發生嚴重網路延遲,則應部署 HADR 解決方案。 當您將複本部署至 Azure 時,應該使用非同步認可,而不是同步處理模式的同步認可。 當您將資料庫鏡像伺服器同時部署至內部部署與 Azure 時,請使用高效能模式,而不是高安全性模式。

請參閱適用於叢集和 HADR 設定的 HADR 設定最佳做法,可協助您容納雲端環境。

異地複寫支援

Azure 磁碟中的異地複寫不支援將相同資料庫的資料檔案與記錄檔儲存在不同的磁碟上。 GRS 會在每個磁碟上進行獨立與非同步變更複寫。 此機制能保證異地複寫複本之單一磁碟內的寫入順序,但無法為多個磁碟的跨異地複寫複本保證。 如果您設定資料庫,將其資料檔與記錄檔儲存在不同磁碟中,災難復原後復原的磁碟可能會包含更新的資料檔 (而非記錄檔) 複本,該情形會中斷 SQL Server 與 ACID 屬性 (不可部分完成、一致性、隔離和持久性) 交易的預寫記錄檔。

如果您沒有可停用儲存體帳戶中異地複寫的選項,則應該將資料庫的所有資料和記錄檔保留在相同磁碟上。 如果因為資料庫大小的緣故,而必須使用一個以上的磁碟,則請部署以上列出的其中一個災害復原解決方案,以確保能進行資料備援。

後續步驟

決定可用性群組容錯移轉叢集執行個體是否為您企業的最佳商務持續性解決方案。 然後,請檢閱為您的環境設定高可用性和災害復原的最佳做法