共用方式為


Windows Server 容錯叢集 (WSFC) 與 SQL Server

Windows Server 故障轉移叢集 (WSFC) 叢集是一組獨立伺服器,可共同運作,以提高應用程式和服務的可用性。 SQL Server 2014 利用 WSFC 服務和功能來支援 AlwaysOn 可用性群組和 SQL Server 故障轉移叢集實例。

詞彙和定義

WSFC 叢集 Windows Server 故障轉移叢集 (WSFC) 叢集是一組獨立伺服器,可共同運作,以提高應用程式和服務的可用性。

故障轉移叢集實例 管理IP位址資源、網路名稱資源,以及執行一或多個應用程式或服務所需的其他資源之 Windows 服務的實例。 用戶端可以使用網路名稱來存取群組中的資源,類似於使用計算機名稱來存取實體伺服器上的服務。 不過,因為故障轉移叢集節點是一個群組,所以故障轉移叢集節點能夠被移轉至另一個節點,而不會影響其基礎名稱或位址。

Microsoft Windows Server 節點,是伺服器叢集中的作用中或非作用中成員的系統。

叢集資源 可由節點擁有的實體或邏輯實體、上線且離線、在節點之間移動,以及以叢集物件的形式進行管理。 叢集資源在任何時間點只能由單一節點所擁有。

資源群組 受控為單一叢集物件的叢集資源集合。 資源群組通常包含執行特定應用程式或服務所需的所有叢集資源。 故障轉移和容錯回復皆會針對資源群組進行動作。

資源相依性 一個資源依賴的另一個資源。 如果資源 A 相依於資源 B,則 B 是 A 的相依性。

網路名稱資源 管理為叢集資源的邏輯伺服器名稱。 網路名稱資源必須與IP位址資源搭配使用。

慣用擁有者 資源群組偏好執行的節點。 每個資源群組都會與依喜好設定順序排序的慣用擁有者清單相關聯。 在自動故障轉移期間,資源群組會移至慣用擁有者清單中的下一個慣用節點。

可能的擁有者 資源可執行的次要節點。 每個資源群組都會與可能的擁有者清單相關聯。 資源群組只能移轉至列出為可能擁有者的節點。

仲裁模式 在故障轉移叢集中的仲裁組態,用於決定叢集能承受的節點故障數量。

強制仲裁 即使只有少數仲裁所需的元素處於通訊中,進程仍會啟動叢集。

如需詳細資訊,請參閱: 故障轉移叢集詞彙

Windows Server 故障轉移叢集概觀

Windows Server 故障轉移叢集提供基礎結構功能,可支援裝載伺服器應用程式的高可用性和災害復原案例,例如 Microsoft SQL Server 和 Microsoft Exchange。 如果叢集節點或服務失敗,則裝載在該節點上的服務可以自動或手動傳輸至稱為 故障轉移的進程中的另一個可用節點。

WSFC 叢集中的節點會一起運作,共同提供這些類型的功能:

  • 分散式元數據和通知。 WSFC 服務和裝載的應用程式元數據會在叢集中的每個節點上維護。 除了裝載的應用程式設定之外,此元數據還包含 WSFC 組態和狀態。 節點元數據或狀態的變更會自動傳播至叢集中的其他節點。

  • 資源管理。 叢集中的個別節點可能會提供實體資源,例如直接連結的記憶體、網路介面,以及共用磁碟記憶體的存取權。 裝載的應用程式會自行註冊為叢集資源,並可設定其他資源的啟動和健康情況相依性。

  • 健康情況監視。 節點之間以及主要節點的健康偵測是透過心跳式網路通訊與資源監控的結合來達成。 叢集的整體健康情況是通過叢集中節點的仲裁投票來決定的。

  • 故障轉移協調。 每個資源都設定為裝載在主要節點上,而且每個資源都可以自動或手動傳送至一或多個次要節點。 以健康狀態為基礎的故障轉移策略可控制資源擁有權在節點之間的自動轉移。 當故障轉移發生時,節點和裝載的應用程式會收到通知,以便它們能適當地做出反應。

如需詳細資訊,請參閱: Windows Server 2008 R2 中的故障轉移叢集

SQL Server AlwaysOn 技術和 WSFC

SQL Server 2014 AlwaysOn 是利用 WSFC 的新高可用性和災害復原解決方案。 AlwaysOn 提供整合式彈性的解決方案,可提升應用程式可用性、提供更好的硬體投資報酬,並簡化高可用性部署和管理。

AlwaysOn 可用性群組和 AlwaysOn 故障轉移叢集實例都會使用 WSFC 作為平台技術,將元件註冊為 WSFC 叢集資源。 相關資源會合併成 資源群組,而資源群組可以相依於其他WSFC 叢集資源。 然後,WSFC 叢集服務可以辨識並指示需要重新啟動 SQL Server 實例,或者自動將其轉移到 WSFC 叢集中的不同伺服器節點。

這很重要

若要充分利用 SQL Server AlwaysOn 技術,您應該套用數個 WSFC 相關必要條件。

如需詳細資訊,請參閱: AlwaysOn 可用性群組的必要條件、限制和建議(SQL Server)

具有AlwaysOn故障轉移叢集實例的實例層級高可用性

AlwaysOn 故障轉移叢集實例(FCI)是一個安裝在 WSFC 叢集的多個節點上的 SQL Server 實例。 這種類型的實例在共用磁碟記憶體(透過光纖通道或 iSCSI SAN)和虛擬網路名稱上具有資源相依性。 虛擬網路名稱具有一或多個虛擬IP位址的資源相依性,每個位址位於不同的子網中。 SQL Server 服務和 SQL Server Agent 服務會註冊為資源,而且兩者都相依於虛擬網路名稱資源。

發生故障轉移時,WSFC 服務會將實例資源的擁有權轉移至指定的故障轉移節點。 然後,SQL Server 實例會在故障轉移節點上重新啟動,並照常復原資料庫。 在任何指定的時刻,叢集中只有單一節點可以裝載FCI和基礎資源。

備註

AlwaysOn 故障轉移叢集實例需要對稱共用磁碟記憶體,例如儲存局域網路 (SAN) 或 SMB 檔案共用。 共用磁碟記憶體磁碟區必須可供 WSFC 叢集中的所有潛在故障轉移節點使用。

如需詳細資訊,請參閱: AlwaysOn 故障轉移叢集實例

具有 AlwaysOn 可用性群組的資料庫層級高可用性

可用性群組是一組可一起故障轉移的使用者資料庫。 可用性群組包含一個主要的 可用性副本 和一到四個次要副本,這些副本是透過 SQL Server 記錄型資料移動來提供資料保護並進行維護,而不需要共用儲存。 每個復本都是由 WSFC 叢集不同節點上的 SQL Server 實例所裝載。 可用性群組和對應的虛擬網路名稱會註冊為 WSFC 叢集中的資源。

主要復本節點上 的可用性群組接聽程式 會回應連入用戶端要求以聯機至虛擬網路名稱,並根據連接字串中的屬性,將每個要求重新導向至適當的 SQL Server 實例。

在故障轉移時,WSFC 會利用 WSFC 在另一個 SQL Server 實例上重新設定次要複本,成為可用性群組的主要複本,而不是將共用實體資源的擁有權轉移至另一個節點。 然後,可用性群組的虛擬網路名稱資源會傳送至該實例。

在任何指定時刻,只有單一 SQL Server 實例可以裝載可用性群組資料庫的主要複本,所有相關聯的次要複本都必須位於個別實例上,而且每個實例都必須位於個別的實體節點上。

備註

AlwaysOn 可用性群組不需要部署故障轉移叢集實例或使用對稱共用記憶體(SAN 或 SMB)。

故障轉移叢集實例 (FCI) 可與可用性群組搭配使用,以增強可用性複本的可用性。 不過,為了防止 WSFC 叢集中的潛在競爭狀況,不支援可用性群組自動故障轉移到托管在 FCI 上的可用性副本或從中故障轉移。

如需詳細資訊,請參閱: AlwaysOn 可用性群組概觀(SQL Server)

WSFC 系統健康檢測和故障轉移

AlwaysOn 解決方案的高可用性是透過主動健康監控實體和邏輯 WSFC 叢集資源,以及自動故障轉移到備援硬體並重新進行配置來實現。 系統管理員也可以發起手動故障轉移,將可用性群組或 SQL Server 實例從一個節點轉移到另一個節點。

節點、故障轉移叢集實例和可用性群組的故障轉移原則

故障轉移原則是在 WSFC 叢集節點、SQL Server 故障轉移叢集實例 (FCI) 和可用性群組層級設定。 這些原則會根據狀況不良叢集資源狀態和節點回應性的嚴重性、持續時間和頻率,觸發服務重新啟動或從某個節點自動 故障轉移 叢集資源,或觸發將可用性群組主要複本從某個 SQL Server 實例移至另一個節點。

可用性群組復本的故障轉移不會影響基礎 SQL Server 實例。 故障轉移叢集實例 (FCI) 的故障轉移會將裝載於其中的可用性群組複本與實例一起移動。

如需詳細資訊,請參閱: 容錯叢集實例的轉移策略

WSFC 資源健康狀態偵測

WSFC 叢集節點中的每個資源都可以定期或隨選報告其狀態和健康情況。 各種情況可能表示資源失敗;例如電源故障、磁碟或記憶體錯誤、網路通訊錯誤或無回應服務。

WSFC 叢集資源,例如網路、記憶體或服務,可以彼此相依。 資源的累積健全狀況取決於連續匯總其健康情況,以及其每個資源相依性的健康情況。

WSFC 節點間健康狀態檢測和法定數投票

WSFC 叢集中的每個節點都會參與定期心跳通訊,以與其他節點共享節點的健康狀態。 沒有回應的節點會被視為處於失敗狀態。

仲裁節點集是 WSFC 叢集中多數投票節點和見證的組合。 WSFC 叢集的整體健全狀況和狀態是由定期 仲裁投票決定。 法定人數的存在表示叢集狀況良好且能提供節點層級的容錯能力。

仲裁模式是在 WSFC 叢集層級進行設定的,決定用於仲裁投票的方法及何時執行自動故障轉移或讓叢集離線。

小提示

慣用的方法是在 WSFC 叢集中一律保持奇數的法定人數投票。 為了達成仲裁投票的目的,並不需要在叢集中的所有節點上安裝 SQL Server。 其他伺服器可以做為仲裁成員,也可以將WSFC仲裁模型設定為使用遠端檔案共用做為系結中斷程式。

如需詳細資訊,請參閱: WSFC 仲裁模式和投票組態 (SQL Server)

透過強制仲裁機制進行災害復原

根據操作方式和 WSFC 叢集組態,您可能會經歷自動和手動故障轉移,並且仍然維護強健且容錯的 SQL Server AlwaysOn 解決方案。 不過,如果 WSFC 叢集中合格投票節點的仲裁無法相互通信,或是健康狀況驗證失敗,則 WSFC 叢集可能會下線。

如果 WSFC 叢集因為非計劃性災害或持續性硬體或通訊故障而離線,則需要手動管理介入來 強制仲裁,並讓倖存的叢集節點在不具備容錯設定的情況下重新上線。

之後,也必須採取一系列步驟來重新配置WSFC叢集、復原受影響的資料庫複本,以及重新建立新的仲裁機制。

如需詳細資訊,請參閱: 透過強制仲裁的 WSFC 災害復原 (SQL Server)

SQL Server AlwaysOn 元件與 WSFC 的關聯性

SQL Server AlwaysOn 與 WSFC 功能和元件之間存在數層關聯性。

AlwaysOn 可用性群組裝載在 SQL Server 實例上。 指定連線到主要或輔助資料庫的邏輯可用性群組接聽程式網路名稱的用戶端要求,會重新導向至基礎 SQL Server 實例或 SQL Server 故障轉移叢集實例 (FCI) 的適當實例網路名稱。

SQL Server 實例會主動裝載在單一節點上。 如果存在,獨立 SQL Server 實例一律位於具有靜態實例網路名稱的單一節點上。 如果有的話,SQL Server FCI 會在具有單一虛擬實例網路名稱的兩個或多個可能故障轉移節點中的其中一個正在運作。

節點是 WSFC 叢集的成員。 所有節點的 WSFC 組態元數據和狀態都會儲存在每個節點上。 每部伺服器可能會為使用者或系統資料庫提供非對稱記憶體或共用記憶體 (SAN) 磁碟區。 每部伺服器在一或多個IP子網上至少有一個實體網路介面。

WSFC 服務會監視健全狀況,並管理一組伺服器的組態。 Windows Server 故障轉移叢集 (WSFC) 服務會將變更傳播至 WSFC 組態元數據和狀態至叢集中的所有節點。 部分元數據和狀態可以儲存在 WSFC 仲裁見證遠端檔案共用上。 兩個或多個主動節點或見證構成表決團,以對 WSFC 叢集的健康狀態進行投票表決。

AlwaysOn 可用性群組登錄機碼是 WSFC 叢集的子機碼。 如果您刪除並重新建立 WSFC 叢集,您必須在原始 WSFC 叢集上針對 AlwaysOn 可用性群組啟用的每個伺服器實例上停用並重新啟用 Always On 可用性群組功能。 如需詳細資訊,請參閱 啟用和停用 AlwaysOn 可用性群組 (SQL Server)

SQL Server AlwaysOn 元件上下文圖

相關工作

相關內容

另請參閱

AlwaysOn 故障轉移叢集實例(SQL Server)AlwaysOn 可用性群組概觀(SQL Server)WSFC 仲裁模式和投票設定(SQL Server)故障轉移叢集實例的故障轉移原則透過強制仲裁進行 WSFC 災害復原(SQL Server)