標籤:自動 另一個 名稱 span 顯示 包含 令牌 獲得 dhcp
By Perry Whittle,2016/02/24(首次發布:2014/09/24)該系列本文是“階梯系列:AlwaysOn的階梯”的一部分 AlwaysOn是一套複雜的技術,往往被誤解。在這個階梯中,您將學習AlwaysOn技術,它們如何適應高可用性堆棧,以及如何充分利用它們。 歡迎來到“SQL Server AlwaysOn的階梯”系列的第一個層級。在這篇1級文章中,我們將發現“AlwaysOn”,“容錯移轉叢集執行個體”(FCI)和“Windows Server容錯移轉叢集”技術。我們將詳細介紹每個細節並總結它們所在的高可用性堆棧的位置。這將為我們提供一個良好的基礎,這對上升的樓梯水平是必不可少的。較進階別的樓梯將研究AlwaysOn可用性群組和FCI使用的所需基礎架構和不同的儲存要求和選項。 在每個樓梯層次之後,您將進一步瞭解AlwaysOn結構如何構建。儘管作為DBA,您可能沒有與AlwaysOn和FCI下面的核心基礎設施項目進行任何直接互動,但是有助於全面瞭解所有技術如何整合。最後的樓梯將導致一個功能AlwaysOn配置。 我們首先要看基礎知識,其中包括對已經提到的3種技術的簡要描述。 AlwaysOn描述中使用了許多首字母縮寫詞和縮寫詞。本文結尾處包含了一個常用術語表。 不用多說,讓我們深入瞭解每種技術。
Windows伺服器容錯移轉叢集 Windows Server容錯移轉叢集(WSFC)是位於所有Microsoft高可用性應用程式下的核心高可用性(HA)產品。 WSFC是Windows Server作業系統軟體套件的一部分。在建立SQL Server的容錯移轉叢集執行個體,AlwaysOn高可用性群組或甚至Microsoft Exchange郵件伺服器群集之前,您需要部署和配置WSFC。 Windows Server容錯移轉叢集提供了將多個電腦節點(物理和/或虛擬)組合起來為一組應用程式提供高可用性的能力。應用程式是伺服器軟體,如SQL Server或Exchange,我們希望能夠在任何節點上運行。通過向用戶端轉譯包括唯一IP地址和唯一電腦名稱或“虛擬網路名稱”的虛擬存取點來使應用高度可用。此地址和虛擬名稱成為應用程式組中的資源,並在參與節點(如令牌)之間傳遞。活動電腦節點的嚴重硬體故障將導致在該節點上啟動並執行組服務的丟失。叢集服務將根據故障類型(硬體或軟體)自動嘗試重新啟動當前節點或夥伴節點上的組。 在較進階別上,用戶端訪問點詳細資料與任何磁碟和服務資源一起傳輸到容錯移轉夥伴節點。叢集執行個體的容錯移轉會導致用戶端串連斷開;一旦服務在另一個節點上可用,則用戶端可以重新串連。常見的故障通常是其中之一,但是應用程式的任何故障都可能導致服務移動到另一個節點: 公用NIC或網路故障 ?電源故障 ?主板故障 ?CPU故障 使用WSFC時,群集應用程式被安裝到單獨的組或“應用程式”中,其中包含一組資源,如磁碟,服務,IP地址等。組及其資源在任何時候都由單個節點擁有,而除非有計劃的交換器或容錯移轉到該節點,否則不能從任何其他夥伴節點訪問資源。 下面顯示了Windows Server容錯移轉叢集的典型視圖。叢集節點全部通過網路連接,網域控制站和DNS服務與WSFC一起工作,以允許用戶端串連到虛擬IP或虛擬網路名稱,無論服務在哪個節點上運行。
為了部署FCI,電腦節點必須使用共用儲存,這些儲存通常從SAN出現給每個節點。為了部署一個典型的AlwaysOn組,節點利用自己的本機存放區,而不是與其他叢集夥伴共用。 儘管叢集節點可能具有不同的硬體,但通常最好將節點間的硬體保持一致,以避免功能較弱的節點無法處理超出其功能的負載。但是,節點必須使用相同的作業系統補丁層級和網路設定;在部署Windows Server容錯移轉叢集之前驗證您的配置時,這將變得清晰。 Windows Server版本(Windows 2003中的8個節點,Windows 2008中的16個節點和Windows 2012中的64個節點)的最大叢集節點數量不同。 部署強大的Windows Server容錯移轉叢集需要仔細的設計,支援的硬體和相應版本的Windows Server作業系統。地理分散的叢集(跨多個WAN的叢集)進一步增加了所需的設計和規劃的數量,並顯著增加了成本。 知道WSFC僅提供容錯移轉夥伴功能很重要。應用程式在節點之間沒有Server Load Balancer或擴充。每個服務都運行在一個且只有一個節點上。 通常,在大型多節點群集中,您可以跨Windows Server容錯移轉叢集節點的一個子集安裝群集應用程式。在所有節點上安裝應用程式的錯誤都可能導致一些不希望的容錯移轉,我們將在後面看到,也違反了AlwaysOn組限制策略,這可以確保所有AlwaysOn執行個體駐留在叢集中的不同節點上。 WSFC需要某種形式的中介來控制叢集資源所有權。此仲裁以Cluster Quorum的形式提供。自Windows 2003 SP1以來,此Quorum採用節點投票系統的形式,維持Quorum所需的多數選票。您還可以使用磁碟形式的其他仲裁資源進行本地化群集,也可以使用多網站群集的遠程檔案分享權限設定。從Windows Server 2012開始,法定人數使用動態節點權重配置在計劃中斷期間動態平衡群集投票,以防止不必要的容錯移轉。我們將在未來的層面更詳細地討論法定人數。
容錯移轉叢集執行個體 SQL Server的容錯移轉叢集執行個體一直是SQL Server產品中流行的高可用性技術。 SQL Server高度可用的執行個體是叢集化的,以減輕任何節點硬體故障和任何潛在的軟體故障。 這裡唯一的薄弱環節是儲存; 儲存子系統成為單點故障。 容錯移轉叢集執行個體是預設或命名的SQL Server執行個體,已作為群集應用程式安裝到WSFC上。 群集應用程式通常具有以下資源: ? IP地址 ? 網路名稱字 ?共用磁碟 ?SQL Server服務 ?SQL Server代理服務 獨立執行個體共用相同的基本要求,不同之處在於,使用獨立執行個體時,IP地址和網路名稱將從電腦節點本身擷取,而磁碟儲存由電腦的本地磁碟資源提供。
參考上面的圖,我們看到了具有單個FCI的2節點叢集的典型視圖。 SQL Server的叢集執行個體將使用已呈現給WSFC節點的任何共用儲存。通常這種儲存將採取從SAN提供的LUN的形式。 SQL Server的FCI部署在一個兩步的過程中,這個過程將在稍後的階梯中介紹。現在,下面是部署SQL Server的容錯移轉叢集執行個體的兩步過程的基本概述: 1.在參與FCI的第一台電腦節點上啟動“建立SQL Server容錯移轉叢集安裝”嚮導。一旦完成並成功完成,您就可以進入第二階段了。 2.在希望加入新的SQL Server FCI的WSFC中的任何電腦節點上啟動“將節點添加到SQL Server容錯移轉叢集”嚮導。 注意:儘管標準版將FCI限制為2個節點,但並不指定有多少節點具有Windows群集的成員資格(您可能有任何數字,直到作業系統的最大值)。該限制是在SQL Server安裝程式層級執行的。 FCI有點像一個跑道接力隊的傳球過程;電腦節點擁有群集的SQL Server應用程式及其資源,然後為用戶端提供對SQL Server服務(持有接力棒)的存取權限。當活動的電腦節點失敗(下落接力棒)時,夥伴節點進入並獲得叢集應用程式及其資源的所有權(接上接力棒)。
AlwaysOn可用性群組 多年來,容錯移轉叢集一直是為SQL Server提供高可用性的主要方法。當一個節點失敗時,另一個節點接管向用戶端提供SQL Server服務。 AlwaysOn與Windows Server容錯移轉叢集技術整合,提供更具彈性的高可用性平台。 儘管群集在執行個體層級上工作,但AlwaysOn在資料庫層級配置。 AlwaysOn可用性群組是SQL Server 2012中引入的新技術,用於將預定義的資料庫組複製到AlwaysOn中已知的一組唯讀夥伴執行個體或副本。多個節點各自託管一個AlwaysOn資料庫的同步複本,並且最好通過監聽器的配置來提供訪問(稍後會詳細介紹)。 AlwaysOn可用性群組需要一個或多個輔助副本來託管高可用性資料庫的副本。這些次要資料庫可能是可讀或不可讀的。它們也可以以非同步或同步的方式進行更新。非同步副本僅支援手動強制容錯移轉,而同步複本支援自動或手動容錯移轉。 次要唯讀副本可以配置為響應唯讀查詢,您也可以將目標的次要目標作為備份/維護操作以減輕主要資料庫的壓力。這種主從關係也是可逆的,以確保真正的高可用性。任何經過適當配置的唯讀夥伴在系統發生故障時都可能承擔主角色。 AlwaysOn依靠WSFC核心功能實現AO提供的高可用性,但不需要與FCI相關的以下任何共用資源。 ?共用磁碟 ?共用IP地址 ?共用網路名稱 共用的SQL Server和SQL Server代理資源 這個共用資源規則有一個例外。建立AlwaysOn組接聽程式時,將建立將由AO組副本共用的IP地址和網路名稱資源。 正如我們所發現的,容錯移轉叢集執行個體鏈中的薄弱環節是共用儲存。這裡有很多方法可以實現冗餘,但是通常成本很高,而且安裝和維護通常很困難。當然,如前所述,容錯移轉叢集執行個體只能緩解伺服器硬體。它不提供單個或甚至多個次要資料庫。我們在SQL Server 2012之前的SQL Server版本中有資料庫鏡像,但這些僅為單個不可讀的次要資料庫提供了範圍。 AlwaysOn仍然使用熟悉的SQL Server端點作為執行個體通訊。端點在使用可用性群組部署嚮導時自動設定。嚮導驅動的部署提供了最簡單的部署路徑,而手動部署需要大量的手動互動。儘管如此,一個基本的AlwaysOn組配置仍然非常容易部署和配置,並提供以前停用HA層級,而無需採用複雜的功能整合層級。 您也可以建立一個高可用的接聽程式服務,您將使用該服務來接受到可用性群組的傳入串連。監聽器由一個唯一的IP地址和一個唯一的虛擬網路名稱組成。這是使組內資料庫高度可用的最重大變化之一。 在建立AlwaysOn可用性群組期間,將在Windows Server容錯移轉叢集內建立一個叢集角色,並包含一個資源。此資源在AlwaysOn組容錯移轉期間在夥伴節點之間進行容錯移轉,並標識AlwaysOn組的主副本。
AlwaysOn聽眾監聽程式在配置時將作為資源建立,並駐留在AlwaysOn可用性群組的容錯移轉叢集應用程式角色中。資源是: ?虛擬IP地址 ?虛擬網路名稱 接聽程式使用TCP連接埠來接受傳入的串連,並預設串連到主副本。當唯讀路由已配置時,指向唯讀意向串連的監聽程式的串連將被路由到輔助夥伴而不是主要複本。這是我們可以減輕主副本負載的另一種方式。 在AlwaysOn組的容錯移轉期間,群集中的節點之間的群集應用程式及其資源將發生容錯移轉。群集應用程式的節點位置跟??蹤主副本及其底層節點,並根據需要在群集中移動。在主副本是SQL Server的叢集執行個體的情況下,接聽程式由該FCI \副本的主動節點擁有。 結論 這就是階梯1的結尾,它提供了3個核心技術的快速介紹,用來使我們的SQL Server執行個體及其對象高度可用。在我們的高可用性堆棧中,我們將WSFC作為基本層級,這是安裝FCI或AlwaysOn可用性群組的主要要求。接下來,我們有了位於WSFC頂部的FCI,它依靠群集來服務和保護SQL Server執行個體。最後,我們有AlwaysOn組,坐在SQL Server的獨立執行個體和SQL伺服器的容錯移轉叢集執行個體之上。 在2級中,我們將查看SQL Server High Availability中可用的儲存類型及其典型用法。這將協助您瞭解系列中未來的階梯層級。
Glossary
AO |
AlwaysOn availability group |
FCI |
Failover cluster instance of SQL Server |
TCPIP |
Transport control protocol/internet protocol. The network protocol used by Microsoft client networks |
OS/NOS |
Network Operating system |
WSFC |
Windows Server failover cluster |
LAN |
Local area network |
WAN |
Wide area network |
DNS |
Domain name system |
DHCP |
Dynamic host configuration protocol, automatically assigns IP addresses to network computers |
IP Address |
a 32 bit (IPV4), unique address assigned to a computer object |
AD |
Active Directory, directory services. The Microsoft technology used for object management in Windows domains |
DR |
Disaster recovery |
SPF |
Single point of failure |
SCSI |
Small computer systems interface |
iSCSI |
Internet Small computer systems interface |
FC |
Fibre channel |
Replica |
The terminology used in SQL Server AlwaysOn Availability Groups to refer to an instance of SQL Server which is part of a particular AlwaysOn group |
永遠的階梯1級:什麼是“SQL Server AlwaysOn”?