銷售: 1-800-867-1380

Azure 虛擬機器中的 SQL Server 高可用性和災害復原

更新日期: 2014年6月

Microsoft Azure 虛擬機器 (VM) 與 虛擬機器建立 搭配使用,有助於降低高可用性和災害復原 (HADR) 資料庫方案的成本。大部分的 虛擬機器建立 HADR 方案都可在 Azure 虛擬機器中受到支援,無論是僅限 Azure 還是混合方案的形式。在僅限 Azure 的方案中,整個 HADR 系統都會在 Azure 中執行。在混合式組態中,方案有部分會在 Azure 中執行,其他部分則在組織的內部部署中執行。Azure 環境具有彈性,您可以部分或完整移至 Azure,以符合 虛擬機器建立 資料庫系統的預算與 HADR 需求。

您必須自行確定資料庫系統能夠處理服務等級協定 (SLA) 所需的 HADR 功能。雖然 Azure 提供高可用性機制,例如雲端服務的服務修復和虛擬機器的失敗復原偵測,但這不保證您因此就符合所需的 SLA。這些機制可保障 VM 的高可用性,但並未對在 VM 內執行的 虛擬機器建立 保障高可用性。當 VM 在線上且狀況良好時,虛擬機器建立 執行個體仍有可能失敗。而且,即使 Azure 提供高可用性機制,但 VM 仍可能因為從軟體或硬體失效進行復原或作業系統升級等事件,而停止運作。

此外,Azure 中的地理備援儲存體 (GRS,以名為地理複寫的功能進行實作) 可能不足以作為您的資料庫的災害復原方案。由於地理複寫會以非同步方式傳送資料,因此最近的更新可能會因為發生災害而遺失。地理複寫不支援資料檔和記錄檔位於不同的磁碟一節有關於地理複寫限制的詳細資訊。

在 Azure 中受到支援的 虛擬機器建立 HADR 技術包括:

這些技術可以相互結合,而實作同時具有高可用性和災害復原功能的 虛擬機器建立 方案。根據您所使用的技術,混合式部署可能需要 VPN 通道來連接 Azure 虛擬網路。下節說明某些範例部署架構。

您可以在 Azure 中使用 AlwaysOn 可用性群組或資料庫鏡像,為 虛擬機器建立 資料庫實作高可用性方案。

 

技術 範例架構

AlwaysOn 可用性群組

所有可用性複本皆執行於相同區域內的 Azure VM,以提供高可用性。因為 Windows Server 容錯移轉叢集 (WSFC) 需要 Active Directory 網域,因此除了 虛擬機器建立 虛擬機器以外,您還需要設定網域控制站。

如需詳細資訊,請參閱教學課程:Azure 中的 AlwaysOn 可用性群組 (GUI)

資料庫鏡像

主體、鏡像及見證伺服器皆執行於同一個 Azure 資料中心,以提供高可用性。您可以使用網域控制站部署。

您也可以改用伺服器憑證,部署相同資料庫鏡像組態,而不用網域控制站。

如需詳細資訊,請參閱教學課程:Azure 中提供高可用性的資料庫鏡像

您可以使用 AlwaysOn 可用性群組、資料庫鏡像或透過儲存體 Blob 的備份和還原,在 Azure 中為 虛擬機器建立 資料庫實作災害復原方案。

 

技術 範例架構

AlwaysOn 可用性群組

可用性複本在 Azure VM 中的多個資料中心間執行,以提供災害復原功能。這種跨區域方案可在站台完全停止運作時提供因應措施。

在一個區域中,所有複本應位於相同的雲端服務與相同的 VNet 內。由於每個區域都會有個別的 VNet,因此這些方案需要 VNet 對 VNet 連線。如需詳細資訊,請參閱設定 VNet 對 VNet 連線

資料庫鏡像

主體和鏡像伺服器執行於不同的資料中心,以提供災害復原功能。由於 Active Directory 網域無法跨多個資料中心,您必須使用伺服器憑證部署。

如需詳細資訊,請參閱教學課程:Azure 中因應災害復原的資料庫鏡像

透過 Azure Blob 儲存體服務進行備份及還原

生產資料庫直接備份到不同資料中心的 Blob 儲存體,以提供災害復原功能。

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

您可以使用 AlwaysOn 可用性群組、資料庫鏡像、記錄傳送,以及透過 Azure Blob 儲存體的備份及還原,在混合式 IT 環境中為 虛擬機器建立 資料庫實作災害復原方案。

 

技術 範例架構

AlwaysOn 可用性群組

有些可用性複本執行於 Azure VM,有些在內部部署執行,以提供跨網站災害復原功能。生產網站可以內部部署或位於 Azure 資料中心內。

由於所有可用性複本必須位於同一個 WSFC 叢集,WSFC 叢集必須跨越兩個網路 (多重子網路 WSFC 叢集)。使用此組態時,Azure 與內部部署網路之間必須要有 VPN 連線。

為確保資料庫的災害復原成功,您也應該在災害復原網站上安裝複本網域控制站。

如需詳細資訊,請參閱Tutorial: AlwaysOn Availability Groups in Hybrid IT

資料庫鏡像

  • 一個夥伴執行於 Azure VM,另一個在內部部署執行,以使用伺服器憑證提供跨網站災害復原功能。夥伴不需要位於同一個 Active Directory 網域,也不需要 VPN 連線。



    如需詳細資訊,請參閱教學課程:混合式 IT 中因應災害復原的資料庫鏡像

  • 在同一個 Active Directory 網域中,一個夥伴執行於 Azure VM,另一個在內部部署執行,以提供跨網站災害復原功能。Azure 虛擬網路與內部部署網路之間需要 VPN 連線。

    為確保資料庫的災害復原成功,您也應該在災害復原網站上安裝複本網域控制站。

記錄傳送

一部伺服器執行於 Azure VM,另一部在內部部署執行,以提供跨網站災害復原功能。記錄傳送須依賴 Windows 檔案共用,因此 Azure 虛擬網路和內部部署網路之間需要有 VPN 連線。

為確保資料庫的災害復原成功,您也應該在災害復原網站上安裝複本網域控制站。

如需詳細資訊,請參閱教學課程:混合式 IT 中因應災害復原的記錄傳送

透過 Azure Blob 儲存體服務備份及還原

內部部署生產資料庫直接備份到 Azure Blob 儲存體,以提供災害復原功能。

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

相較於內部部署、非虛擬化的 IT 基礎結構,Azure VM、儲存體和網路具有不同的操作特性。在 Azure 中,若要成功實作 HADR 虛擬機器建立 方案,您必須了解這些差異,並在設計方案時整合這些差異。

Azure 中的可用性設定組可讓您將高可用性節點放入不同的容錯網域 (FD) 和升級網域 (UD) 中。若要將 Azure VM 放在相同的可用性設定組中,您必須將 VM 部署在相同的雲端服務。只有在相同雲端服務中的節點可以參與相同的可用性設定組。如需詳細資訊,請參閱管理虛擬機器的可用性

Azure 中不符合 RFC 標準的 DHCP 服務,可能會因為重複 IP 位址指定給叢集網路名稱 (例如和其中一個叢集節點相同的 IP 位址),而導致某些 WSFC 叢集組態建立失敗。當您實作依賴 WSFC 功能的 AlwaysOn 可用性群組時,會發生這個問題。

請考慮以下雙節點叢集建立並上線的狀況:

  1. 叢集上線,然後 NODE1 要求叢集網路名稱的動態指派 IP 位址。

  2. DHCP 服務只提供 NODE1 的 IP 位址,因為 DHCP 服務辨識出要求來自 NODE1 本身。

  3. Windows 偵測到重複位址指派給 NODE1 和叢集網路名稱,因此預設叢集群組無法上線。

  4. 預設叢集群組移到 NODE2,該節點將 NODE1 的 IP 位址視為叢集 IP 位址並讓預設叢集群組上線。

  5. 當 NODE2 嘗試建立與 NODE1 的連接,導向 NODE1 的封包絕不會離開 NODE2,因為它將 NODE1 的 IP 位址解析成它本身。NODE2 無法建立與 NODE1 的連接,然後失去仲裁並關閉叢集。

  6. 同時,NODE1 可以傳送封包至 NODE2,但是 NODE2 無法回覆。NODE1 失去仲裁並關閉叢集。

您可以指派未使用的靜態 IP 位址,以避免發生此狀況,例如將連結本機 IP 位址 (如 169.254.1.1) 指派給叢集網路名稱,以便讓叢集網路名稱上線。若要簡化這個程序,請參閱 在 Azure 中為 AlwaysOn 可用性群組設定 Windows 容錯移轉叢集

下列 AlwaysOn 可用性群組教學課程將說明如何在不同情況下設定可用性群組。

可用性群組接聽程式在執行 Windows Server 2008 R2、Windows Server 2012 和 Windows Server 2012 R2 的 Azure VM 上受到支援。之所以能支援,是因為使用了負載平衡端點,並且在屬於可用性群組節點的 Azure VM 上啟用了「直接伺服器回傳」(DSR)。您必須依照特殊組態步驟進行,接聽程式才能同時適用於在 Azure 中執行以及執行內部部署的用戶端應用程式。如需設定接聽程式的相關指示,請參閱教學課程:AlwaysOn 可用性群組的接聽程式設定

您仍可直接連接到服務執行個體,以個別連接到每個可用性複本。此外,由於 AlwaysOn 可用性群組與資料庫鏡像用戶端回溯相容,只要複本設定類似於資料庫鏡像,您就可以連接到可用性複本如資料庫鏡像夥伴:

  • 一個主要複本和一個次要複本

  • 次要複本設定為不可讀取 ([可讀取次要] 選項設定為 [否])

對應於這種類似資料庫鏡像的組態,使用 ADO.NET 或 SQL Server Native Client 的範例用戶端連接字串如下:

Data Source=ReplicaServer1;Failover Partner=ReplicaServer2;Initial Catalog=AvailabilityDatabase;

如需有關用戶端連接性的詳細資訊,請參閱:

在部署 HADR 方案時,您應假設內部部署網路與 Azure 之間有時可能會出現較高的網路延遲。將複本部署至 Azure 時,您應該為同步處理模式使用非同步認可,而不是同步認可。在內部部署及 Azure 中部署資料庫鏡像伺服器時,請使用高效能模式,而不使用高安全性模式。

Azure 磁碟中的地理複寫不支援將相同資料庫的資料檔案和記錄檔儲存在不同的磁碟。GRS 以獨立且非同步方式在每個磁碟上複寫變更。這個機制可確保單一磁碟地理複寫副本的寫入順序,但不保證跨多個磁碟地理複寫副本的寫入順序。如果您設定資料庫將其資料檔案與記錄檔儲存在不同的磁碟上,災害復原後磁碟的記錄檔複本可能會比資料檔還要新,而中斷 虛擬機器建立 上的預寫記錄檔與交易的 ACID 屬性。如果沒有停用儲存體帳戶地理複寫的選項,您應該將給定資料庫的所有資料和記錄檔保留在相同的磁碟。如果因資料庫的大小而必須使用多個磁碟,則必須部署上列其中一種災害復原方案,以確保資料備援。

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2014 Microsoft