通往1級樓梯:什麼是「SQL Server AlwaysOn」sql
Perry Whittle,2016 / 02 / 24(首次公佈:2014 / 09 / 24)數據庫
該系列服務器
本文是系列的一部分:樓梯樓梯AlwaysOn網絡
AlwaysOn是一套複雜的技術,常被誤解。在這樓梯你將學到的AlwaysOn技術,他們如何適應高可用的堆棧,如何利用好他們。異步
歡迎來到第一級階梯」系列中的SQL Server AlwaysOn」。在這1級的文章,咱們會發現技術「在」、「虛擬服務器」(FCI)和「Windows服務器故障轉移羣集」。咱們將詳細查看它們,並總結它們在高可用性堆棧中的位置。這將爲咱們提供一個良好的基礎,這對於提高樓梯是必不可少的。高水平的樓梯將研究所需的基礎設施和不一樣的存儲要求和選項,使用AlwaysOn可用性組和防汛信息系統。sqlserver
以後的每個樓梯級你將得到進一步瞭解AlwaysOn的構建。雖然做爲一個DBA,你可能沒有與核心基礎設施項目在AlwaysOn和防汛信息系統有直接的做用,它有助於充分理解如何全部的技術整合。最後的樓梯會致使功能的AlwaysOn配置。spa
咱們首先要看基礎知識,其中包括已經提到的3種技術中的每一種。操作系統
有用於AlwaysOn描述縮略語和縮寫。咱們在本文結尾包括了一個經常使用術語表。翻譯
不用再談了,讓咱們深刻研究一下每一項技術。設計
Windows服務器故障轉移羣集
Windows服務器故障轉移羣集(WSFC)爲核心的高可用性(HA)的產品,坐在下面的全部的微軟應用程序的高可用性。由世界科幻大會是Windows服務器操做系統軟件套件的一部分。以前,你能夠建立一個SQL Server故障轉移羣集實例,AlwaysOn高可用性組,甚至微軟Exchange郵件服務器集羣,您須要部署和配置WSFC。
Windows服務器故障轉移集羣提供了將多個計算機節點(物理和\\或虛擬)結合起來爲高可用性服務的一組應用程序的能力。應用程序是服務器軟件,如SQL Server或Exchange,咱們但願可以在任何節點上運行。經過向客戶機提供一個虛擬接入點,包括一個惟一的IP地址和惟一的計算機名或「虛擬網絡名稱」,能夠得到一個高可用性的應用程序。此地址和虛擬名稱成爲應用程序組中的資源,並在令牌等參與節點之間傳遞。活動計算機節點的一個關鍵硬件故障將致使在該節點上運行的組服務的丟失。羣集服務將自動嘗試在當前節點或合做節點上從新啓動組,這取決於故障類型(硬件或軟件)。
在較高的級別上,客戶訪問點詳細信息連同任何磁盤和服務資源一塊兒轉移到故障轉移夥伴節點。羣集實例的故障轉移會致使客戶機鏈接斷開;客戶端能夠在另外一個節點上的服務可用時從新鏈接。常見的故障一般是其中之一,但應用程序的任何故障均可能致使服務遷移到另外一個節點:
公共網卡或網絡故障
電源故障
主板故障
CPU故障
與wsfcs,集羣應用程序安裝到不一樣的組或「應用」,它包含一組資源,如磁盤、服務、IP地址等集團及其資源是在任何一個時間,一個節點擁有的資源,沒法從任何其餘的夥伴節點除非計劃開關或故障轉移到該節點的發生。
Windows服務器故障轉移羣集的典型視圖以下所示。羣集節點都經過網絡鏈接,和域控制器和DNS服務工做與WSFC容許客戶端鏈接到虛擬IP或虛擬網絡名稱,不管在哪一個節點的服務正在運行。
對於一個FCI的部署,計算機節點必須使用共享存儲,是每個節點,一般是從一個三。對於一個典型的AlwaysOn組部署的節點,利用本身的本地存儲,而不是與其餘集羣夥伴共享。
雖然集羣節點可能有不一樣的硬件,但一般最好使硬件在節點之間保持一致,以免任何功能較弱的節點必須處理超出其能力的負載的狀況。可是,節點必須使用相同的OS補丁級別和網絡配置;在部署Windows服務器故障轉移羣集以前驗證配置時,這一點將變得清晰起來。Windows Server版本(Windows 2008中的Windows 2003, 16節點中的8個節點和Windows 64中的2012個節點)之間的最大集羣節點計數不一樣。
部署健壯的Windows服務器故障轉移羣集須要仔細設計、支持的硬件和Windows服務器操做系統的適當版本。地理圖形分散集羣(跨多個WAN集羣)進一步提升了設計和規劃的須要量顯著增長的成本以及。
它是要知道一個WSFC提供故障轉移夥伴能力重要。這些應用程序不是負載平衡的,也不是跨節點擴展的。每一個服務只在一個節點上運行。
一般,在大型多節點集羣中,您能夠在Windows服務器故障轉移羣集節點的子集上安裝集羣應用程序。製做安裝的應用程序在全部節點的錯誤可能會致使一些不良的故障轉移,咱們隨後會看到,也違反了AlwaysOn組限制政策,確保全部的AlwaysOn實例駐留在集羣中的各個節點。
這個由世界科幻大會須要某種形式的調解控制集羣資源的全部權。此中介以羣集仲裁的形式提供。因爲Windows 2003 SP1,這個法定人數採起的形式,節點投票系統,以多數票須要維持法定人數。您還可使用本地化集羣的磁盤形式或多站點集羣的遠程文件共享額外的仲裁資源。從Windows Server 2012中,Quorums利用一個動態節點權重配置均衡集羣票動態計劃停運期間防止沒必要要的故障轉移。咱們將討論更多的細節在將來水平的法定人數。
故障轉移羣集實例
SQLServer的故障轉移羣集實例一直是SQL Server產品中流行的高可用性技術。一個高度可用的SQL服務器實例被集羣化,以減輕任何節點硬件故障和任何潛在的軟件故障。這裏惟一的薄弱環節是存儲;存儲子系統成爲故障的惟一點。
故障轉移羣集實例的SQL Server實例,默認或命名,已被安裝到一個WSFC爲羣集應用。集羣應用程序一般具備如下資源:
IP地址
網絡名稱
共享磁盤(s)
SQL Server服務
SQL Server agent service
一個獨立的實例共享相同的基本要求,除了與一個獨立的實例,IP地址和networkname取自計算機節點和磁盤存儲在計算機的本地磁盤資源提供。
在上圖中,咱們看到一個單一的FCI 2節點集羣典型視圖。SQLServer羣集實例將使用任何共享存儲,提出了節點的WSFC。一般這種存儲將從SAN LUN的形式呈現。一個SQL Server FCI是部署在一個2步的過程,將在稍後的樓梯。如今,下面是部署SQL Server故障轉移羣集實例的2步過程的基本概述:
在第一計算機節點將參加FCI推出「新的SQL Server故障轉移羣集安裝」嚮導。一旦完成併成功完成,您就準備好進入第2階段了。
啓動「添加節點到SQL Server故障轉移羣集在WSFC的任何計算機節點的嚮導,你想參加新的SQL Server FCI。
注:雖然標準版限制FCI 2節點,這並不代表多少節點擁有Windows羣集成員身份(你能夠擁有任意數量達到最高的操做系統)。該限制在SQLServer安裝程序級別上執行。
FCI是一個有點像跑道接力切換過程;計算機節點擁有羣集的SQL Server應用程序和資源,並提供了訪問客戶的SQL Server服務(持警棍)。當主動計算機節點(指揮棒掉落)失敗時,一個合做夥伴節點進入並接管集羣應用程序及其資源(拾起指揮棒)。
AlwaysOn可用性組
多年來,故障轉移集羣一直是爲SQL Server提供高可用性的主要方法。當一個節點失敗時,另外一個接管向客戶端提供SQLServer服務。AlwaysOn集成Windows服務器故障轉移羣集技術提供一個更具彈性的高可用性平臺。
而聚類的做品在實例級,AlwaysOn配置在數據庫級別。AlwaysOn可用性組的新技術,介紹了在SQL Server 2012中定義的組的數據庫複製到一組只讀夥伴實例,或複製品,由於它們是已知的在AlwaysOn。多個節點每一個主機的同步副本的AlwaysOn數據庫(S),並得到最好的傾聽者的配置(更多的在這不久)。
AlwaysOn可用性組須要一個或多個輔助副本主機複製的高可用的數據庫(S)。這些輔助數據庫可能不是可讀的,也不是可讀的。它們也能夠以異步或同步方式更新。異步副本只支持手動強制故障轉移而同步複製支持自動或手動故障轉移。
二次只讀副本可能被配置爲響應只讀查詢,您也能夠針對次要的備份/維護操做來減輕對主數據庫的壓力。這種主次關係也是可逆的,以確保真正的高可用性。任何適當配置的只讀合做夥伴均可能在系統內發生故障時起主要做用。
在依靠WSFC核心功能實現的高可用性,AO提供,但不須要任何下列資源共享與FCI相關。
共享磁盤
共享IP地址
共享的網絡名稱
共享SQL Server和SQLServer代理資源
這種共享資源規則有一個例外。建立一個在組的聽衆時,這將建立一個IP地址和網絡名稱資源將由AO組副本共享。
正如咱們已經發現的,故障轉移羣集實例的鏈中的薄弱環節是共享存儲。這裏有不少方法能夠實現冗餘,但它一般要付出很大的代價,並且一般很難設置和維護。固然,正如前面提到的,故障轉移羣集實例只會減輕服務器硬件。它不提供單一的甚至多個輔助數據庫。在SQL Server 2012以前,咱們在SQLServer版本中有數據庫鏡像,但這些僅爲單個、不可讀的輔助數據庫提供範圍。
仍然使用熟悉的SQL Server AlwaysOn端點實例通訊。使用「可用性組部署嚮導」時自動配置端點。嚮導驅動的部署提供了最簡單的部署路線,而手動部署須要大量人工交互。儘管如此,一個基本的AlwaysOn組配置仍然是很是容易部署和配置和提供的哈,是之前沒有的而不訴諸特徵整合複雜的水平。
您還能夠建立一個高度可用的偵聽器服務,您將使用它來接收傳入到可用性組的鏈接。偵聽器由惟一的IP地址和惟一的虛擬網絡名組成。這是使數據庫在組內高可用性的最重要的變化之一。
一個AlwaysOn可用性組的建立過程當中,彙集做用是Windows服務器故障轉移羣集內建立幷包含一個單一的資源。這個資源是沒有合做夥伴節點故障轉移期間和AlwaysOn組標識爲AlwaysOn主副本組。
AlwaysOn的傾聽者
聽者,當配置,將建立資源和駐留在故障轉移羣集應用程序角色的AlwaysOn可用性組。資源是
虛擬IP地址
虛擬網絡名稱
偵聽器使用TCP端口接收傳入鏈接,默認狀況下鏈接到主副本。當只讀路由被配置時,指定只讀意圖鏈接的偵聽器的鏈接將被路由到輔助夥伴,而不是主副本。這是另外一種減輕主副本負載的方法。
故障轉移羣集的AlwaysOn組中,應用程序和資源都失敗了在羣集節點之間。集羣應用程序的節點位置跟蹤主副本及其底層節點,並按須要在集羣中移動。其中主要的副本是一個羣集的SQL Server實例,聽者爲FCI \副本活動節點擁有。
結論
這就總結了樓梯的第1級,它提供了一個快速介紹3個核心技術,用於使咱們的SQL服務器實例和它們的對象高度可用。在咱們的高可用性棧咱們WSFC爲基礎的水平,這是一個FCI或AlwaysOn可用性組安裝的基本要求。Next we have the FCI, which sits atop the WSFC and relies on the cluster to serve and protect the SQL Server instance. 最後咱們的AlwaysOn組,坐在SQL Server和SQL Server故障轉移羣集實例獨立實例。
在第2級中,咱們將查看SQL Server高可用性中可用的存儲類型及其典型用法。這將幫助您瞭解將來樓梯的水平系列。
詞彙表
AO |
AlwaysOn可用性組 |
FCI |
SQL Server的故障轉移羣集實例 |
TCP/IP |
傳輸控制協議/因特網協議。微軟客戶端網絡使用的網絡協議 |
OS/NOS |
操做系統/ NOS |
WSFC |
世界科幻大會 |
LAN |
局域網 |
WAN |
廣域網 |
DNS |
域名服務器 |
DHCP |
動態主機配置協議,自動將IP地址分配給網絡計算機
|
IP Address |
Ip地址 |
AD |
廣告 |
DR |
災難恢復 |
SPF |
防曬因子 |
SCSI |
小型計算機系統接口 |
iSCSI |
因特網小型計算機系統接口 |
Replica |
複製品 |
原翻譯連接:
http://www.sqlservercentral.com/articles/Failover+Clustered+Instance+(FCI)/107536/