AlwaysOn 容錯移轉叢集執行個體 (SQL Server)

適用于:SQL Server (所有支援的版本)

在SQL Server Always On供應專案中,Always On容錯移轉叢集實例會利用 Windows Server 容錯移轉叢集 (WSFC) 功能,透過伺服器實例層級的容錯移轉叢集實例 (FCI) 的備援來提供本機高可用性。 FCI 是SQL Server的單一實例,安裝在 Windows Server 容錯移轉叢集 (WSFC) 節點,而且可能跨多個子網安裝。 在網路上,FCI 似乎是單一電腦上執行的SQL Server實例,但如果目前的節點無法使用,FCI 會提供從一個 WSFC 節點到另一個節點的容錯移轉。

FCI 可以利用 可用性群組 ,在資料庫層級提供遠端災害復原。 如需詳細資訊,請參閱容錯移轉叢集和可用性群組 (SQL Server)

注意

Windows Server 2016 Datacenter 版本引進了儲存空間直接存取 (S2D) 的支援。 SQL Server 容錯移轉叢集執行個體支援針對叢集存放區資源的 S2D。 如需詳細資訊,請參閱Windows Server 中的儲存空間直接存取

容錯移轉叢集執行個體也支援叢集共用磁碟區 (CSV)。 如需詳細資訊,請參閱 了解容錯移轉叢集的叢集共用磁碟區

在本文中:

容錯移轉叢集執行個體的優點

伺服器的硬體故障或軟體失敗時,連接至伺服器的應用程式或用戶端可能會停機。 當SQL Server實例設定為 FCI (而非獨立實例) 時,該SQL Server實例的高可用性會受到 FCI 中備援節點的存在所保護。 在任何時候,FCI 中僅其中一個節點擁有 WSFC 資源群組。 如果發生失敗 (硬體故障、作業系統失敗、應用程式或服務失敗) 或進行計畫的升級,資源群組擁有權就會移至另一個 WSFC 節點。 此程式對連線至SQL Server的用戶端或應用程式而言是透明的,這可將應用程式或用戶端在失敗期間的停機時間降到最低。 下列列出容錯移轉叢集實例SQL Server提供的一些主要優點:

  • 透過備援性在執行個體層級提供保護

  • 如果發生失敗 (硬體故障、作業系統失敗、應用程式或服務失敗) 時的自動容錯移轉

    重要事項

    在可用性群組中,不支援從 FCI 自動容錯移轉至可用性群組中的其他節點。 這表示,如果自動容錯移轉是高可用性方案的重要元件,FCI 和獨立節點不應該在可用性群組內耦合。 不過,這種耦合適用於「災害復原」方案。

  • 支援眾多儲存方案,包括 WSFC 叢集磁碟 (iSCSI、光纖通道等) 和伺服器訊息區塊 (SMB) 檔案共用。

  • 使用多重子網路 FCI 或在可用性群組內執行 FCI 裝載之資料庫的災害復原方案。 透過 MicrosoftSQL Server 2012 (11.x) 中的新多重子網支援,多子網 FCI 不再需要虛擬 LAN,增加多重子網 FCI 的管理性和安全性。

  • 在容錯移轉期間,應用程式和用戶端的零重新組態

  • 自動容錯移轉之細微觸發程序事件的彈性容錯移轉原則

  • 透過使用專用和保存連接的定期和詳細健全狀況偵測,可靠的容錯移轉

  • 在容錯移轉時間透過間接背景檢查點的可設定性和可預測性

  • 在容錯移轉期間節流的資源使用情況

建議

在實際執行環境中,我們建議您搭配容錯移轉叢集執行個體的虛擬 IP 位址使用靜態 IP 位址。 我們建議您不要在實際執行環境中使用 DHCP。 在停機時,如果 DHCP IP 租用過期,則需要額外的時間來重新註冊與 DNS 名稱相關聯的新 DHCP IP 位址。

容錯移轉叢集執行個體概觀

FCI 在具有一個或多個 WSFC 節點的 WSFC 資源群組中執行。 FCI 啟動時,其中一個節點會假設資源群組的擁有權,並將其SQL Server實例上線。 此節點所擁有的資源包括:

  • 網路名稱

  • IP 位址

  • 共用磁碟

  • SQL Server Database Engine 服務

  • SQL Server Agent 服務

  • 如果已安裝,SQL Server Analysis Services服務

  • 一個檔案共用資源 (如果已安裝 FILESTREAM 功能)

在任何時間,只有資源群組擁有者 (,且 FCI) 中沒有其他節點正在資源群組中執行其各自的SQL Server服務。 發生容錯移轉時,無論是自動容錯移轉或計劃性容錯移轉,都會發生下列事件順序:

  1. 除非發生硬體或系統失敗,否則在緩衝快取中的所有中途分頁都會寫入磁碟。

  2. 資源群組中的所有個別SQL Server服務都會在作用中節點上停止。

  3. 資源群組擁有權將轉移到 FCI 中的另一個節點。

  4. 新的資源群組擁有者會啟動其SQL Server服務。

  5. 用戶端應用程式的連接要求自動導向至使用相同虛擬網路名稱 (VNN) 的新使用中節點。

只要其基礎 WSFC 叢集保持良好的仲裁狀況 (多數仲裁 WSFC 節點可做為自動容錯移轉目標使用),FCI 就是線上狀態。 當 WSFC 叢集失去其仲裁時 (無論由於硬體、軟體、網路失敗或仲裁組態不正確),整個 WSFC 叢集與 FCI 就會離線。 在此未規劃的容錯移轉情況下,需要手動介入,在剩餘可用的節點中重新建立仲裁,以使 WSFC 叢集和 FCI 恢復連線。 如需詳細資訊,請參閱 WSFC 仲裁模式與投票設定 (SQL Server)

可預測的容錯移轉時間

根據您的SQL Server實例上次執行檢查點作業的時間而定,緩衝區快取中可能有大量的已變更頁面。 因此,容錯移轉的持續時間與剩餘中途分頁寫入磁碟所需的時間一樣長,這可能導致冗長且不可預測的容錯移轉時間。 從 MicrosoftSQL Server 2012 (11.x) 開始,FCI 可以使用間接檢查點來節流緩衝區快取中保留的中途頁面數目。 雖然在一般工作負載下這會耗用額外資源,但更能預測和設定容錯移轉時間。 當您組織的服務層級合約規定高可用性方案的復原時間目標 (RTO) 時,此功能非常有用。 如需有關間接檢查點的詳細資訊,請參閱< Indirect Checkpoints>。

可靠的健全狀況監測和彈性的容錯移轉原則

FCI 成功啟動之後,WSFC 服務會監視基礎 WSFC 叢集的健康情況,以及SQL Server實例的健康情況。 從 MicrosoftSQL Server 2012 (11.x) 開始,WSFC 服務會使用專用連線來輪詢作用中SQL Server實例,以取得透過系統預存程式的詳細元件診斷。 這具有三方面的意義:

  • SQL Server 實例的專用連線可讓您隨時可靠地輪詢元件診斷,即使 FCI 負載過重亦然。 這能夠區別負載過重的系統和實際發生失敗狀況的系統,因此防止假容錯移轉等問題發生。

  • 詳細元件診斷能夠設定更有彈性的容錯移轉原則,讓您可以選擇何種失敗條件觸發容錯移轉,何種失敗條件不觸發。

  • 詳細的元件診斷也啟用自動容錯移轉更好的、追溯性的疑難排解。 診斷資訊會儲存至記錄檔,這些檔案會與SQL Server錯誤記錄檔共置。 您可以將它們載入記錄檔檢視器中,檢查容錯移轉發生前的元件狀態,以便判斷何種狀況導致該容錯移轉。

如需詳細資訊,請參閱< Failover Policy for Failover Cluster Instances

容錯移轉叢集執行個體的元素

FCI 包含一組實體伺服器, (節點) 包含類似的硬體組態,以及包含作業系統版本和修補程式等級的相同軟體組態,以及SQL Server版本、修補程式層級、元件和實例名稱。 需要相同軟體組態,以確保 FCI 在節點之間容錯移轉時可完整運作。

WSFC 資源群組
SQL Server FCI 會在 WSFC 資源群組中執行。 資源群組中的每個節點都會維護組態設定和檢查點登錄機碼的同步副本,以確保在容錯移轉後 FCI 可完整運作,而且在任何時候叢集中僅其中一個節點 (使用中節點) 擁有資源群組。 WSFC 服務管理伺服器叢集、仲裁組態、容錯移轉原則和容錯移轉作業,以及 FCI 的 VNN 和虛擬 IP 位址。 如果 (硬體故障、作業系統失敗、應用程式或服務失敗) 或計劃性升級,資源群組擁有權會移至 FCI 中的另一個節點。 WSFC 資源群組中支援的節點數目取決於您的 SQL Server 版本。 此外,相同 WSFC 叢集可以執行多個 FCI (多個資源群組),視 CPU、記憶體和磁碟數目等硬體容量而定。

SQL Server 二進位檔
產品二進位檔會安裝在 FCI 的每個節點上,此程式類似于SQL Server獨立安裝。 不過,在啟動期間,這些服務並不會自動啟動,而是透過 WSFC 進行管理。

儲存體
FCI 與可用性群組相反,前者必須在 FCI 的所有節點之間使用共用儲存體,以供資料庫和記錄檔儲存。 共用儲存體可以採用 WSFC 叢集磁碟、SAN 磁碟、儲存空間直接存取 (S2D) 或 SMB 檔案共用的形式。 如此一來,每當發生容錯移轉時,FCI 中的所有節點都有相同的執行個體資料檢視。 不過,這表示共用儲存體是潛在的單一失敗點,而 FCI 仰賴基礎儲存方案以確保資料保護。

網路名稱
FCI 的 VNN 為 FCI 提供統一的連接點。 這允許應用程式連接到 VNN,而無需知道目前使用中的節點。 當發生容錯移轉時,VNN 會在新使用中節點啟動後註冊給它。 此程式對連線至SQL Server的用戶端或應用程式而言是透明的,這可將應用程式或用戶端在失敗期間的停機時間降到最低。

虛擬 IP
在多重子網路 FCI 的情況下,FCI 中的每個子網路會被指派一個虛擬 IP 位址。 在容錯移轉期間,DNS 伺服器上的 VNN 會更新,以指向各自子網路的虛擬 IP 位址。 在多重子網路容錯移轉後,應用程式和用戶端可以使用相同 VNN 連接到 FCI。

SQL Server 容錯移轉概念和工作

概念和工作 發行項
描述失敗偵測機制和彈性的容錯移轉原則。 Failover Policy for Failover Cluster Instances
描述 FCI 管理和維護的概念。 容錯移轉叢集執行個體管理及維護
描述多重子網路組態和概念 SQL Server 多重子網路叢集 (SQL Server)

[相關主題]

主題描述 發行項
描述如何安裝新的 SQL Server FCI。 建立新的 SQL Server 容錯移轉叢集 (安裝程式)
描述如何升級至SQL Server容錯移轉叢集。 升級 SQL Server 容錯移轉叢集執行個體
描述 Windows 容錯移轉叢集概念,並提供與 Windows 容錯移轉叢集相關的工作連結。 SQL Server 的 Windows Server 容錯移轉叢集
描述 FCI 節點和可用性群組複本之間的概念差異,以及使用 FCI 裝載可用性群組複本的考量。 容錯移轉叢集和可用性群組 (SQL Server)