基於WindowsServer2008 R2的WSFC實現SQLServer 2012高可用性

年前的《SQL Server 2008 R2數據庫鏡像部署》,今天“再續前緣”——

微軟新一代數據庫產品SQL Server 2012已經面世一段時間了,不管從功能上講還是性能上的體現,較之其早期產品都有了很大提升。特別是其引入高可用性組(AlwaysOn Group, AG)這一概念和功能,大大增強和提高了SQL Server的可用性,在之前的鏡像數據庫的基礎上有了質的變化。

 SQL Server 2012高可用性組在實現過程中較之早起的SQL Server故障轉移羣集來講,不依賴特別提供共享存儲磁盤陣列,每個節點獨立存儲一份數據庫的副本。其較之早起的鏡像數據庫來講,提供多節點高可用,並且針對數據庫輔助節點副本可讀;此外,在當前可讀節點出現故障時,能通過AG自身的機制保證數據庫正常訪問,而不需要像之前的鏡像數據庫一樣,需要通過訪問端來進行切換。

因此,以下將對SQL Server 2012高可用性組的實現進行詳細介紹。

一、具體的環境如下

在Windows域中,部署3臺成員服務器用作SQL Server服務器,因爲SQL Server 2012的高可用性組需要Windows的羣集服務支持,所以必須預先在這些成員服務器上實現WSFC。服務器的操作系統均爲Windows Server 2008 R2,因此其WSFC的仲裁配置有多數(奇數)節點、節點(偶數)和磁盤多數、多數節點(偶數)和文件共享、非多數:僅磁盤等4種。在此,爲了體現SQL Server AG無需要各節點共享存儲設備這一特性,準備使用3個節點實現。由於是奇數,所以選擇多數節點仲裁配置。雖然這種仲裁配置不是被SQL Server 2012 AG推薦的,但是並不影響AG的實現和使用。

clip_image002

另外,由於本文着重講述SQL Server 2012 AG的實現,所以對於服務器基本配置和網絡設置,以及Windows活動目錄和域的實現在此略去。

二、實現SQL Server 2012高可用性組必須的WSFC環境

首先在每臺成員服務器上安裝並配置WSFC,以配置SQL03爲例:

1、安裝WSFC羣集組件

1)打開服務器管理器,選擇“功能”,在右邊窗口中點擊“添加功能”。

clip_image004

2)在添加功能嚮導中,勾選“故障轉移羣集”,點擊“下一步”。

clip_image006

3)在“確認安裝選擇”頁面中,點擊“安裝”,進行安裝操作。

clip_image008

4)完成並關閉“故障轉移羣集”的安裝。

clip_image010

2、配置WSFC

爲所有節點均安裝完“故障轉移羣集”服務後,在任意節點服務器的“服務器管理器”中展開“故障轉移羣集管理器”對WSFC進行配置。

1)通過“故障轉移羣集管理器”窗口點擊“創建一個羣集”打開“創建羣集嚮導”

clip_image012

2)在“開始之前”頁中,點擊“下一步”。

clip_image014

3)添加所有服務器節點,即將環境中的3臺成員服務器添加爲羣集節點服務器。點擊“下一步”。

clip_image016

4)在“驗證警告”頁面中,如果需要對基本環境(包括硬件)進行WSFC需求驗證,可以選擇“是”。在本示例中由於不必需進行驗證,所以選擇“否”。點擊“下一步”。

clip_image018

5)定義“用於管理羣集的訪問點”,爲羣集進行名,並指定羣集IP地址。點擊“下一步”。

clip_image020

6)確認之前配置信息,若無誤,點擊“下一步”,開始羣集創建。

clip_image022

7)完成羣集創建,點擊“完成”關閉嚮導。

clip_image024

8)在“故障轉移羣集管理器”會顯示成功創建的羣集,展開其“節點”,顯示現有節點情況。

clip_image026

9)右擊羣集節點,在上下文菜單中點擊“更多操作”,在擴展菜單中選擇“配置羣集仲裁設置”爲該羣集配置仲裁。

clip_image028

10)在“開始之前”頁面中點擊“下一步”。

clip_image030

11)根據此前的設計,由於是奇數節點,並且沒有共享磁盤存儲和共享文件夾存在,所以可以選擇“多數節點”,點擊“下一步”。

clip_image032

詳細請參考:http://technet.microsoft.com/zh-cn/library/cc731739.aspx

12)在“確認”頁面中,點擊“下一步”。

clip_image034

13)完成WSFC的仲裁配置。

clip_image036

至此,爲SQL Server 2012 AG準備的WSFC環境已經完成。

三、爲各節點服務器安裝並配置SQL Server 2012,以SQL03爲例進行如下操作。

1、安裝SQL Server 2012

1)在節點服務器上,插入SQL Server 2012安裝介質。運行“SQL Server安裝中心”,選擇“安裝”,點擊“全新SQL Server獨立安裝或向現有安裝添加功能”。

注意:這裏不要選擇新的SQL Server故障轉移羣集安裝,如果是故障轉移羣集安裝的話最終將實現的是早起的SQL數據庫羣集,並且需要共享數據存儲磁盤整列,導致所有SQL節點共享同一個數據存儲副本。

clip_image038

2)使用安裝程序支持規則驗證是否通過。

clip_image040

3)指定產品密鑰,或選擇Evaluation版本。

clip_image042

4)接受許可協議

clip_image044

5)運行檢查“安裝程序支持規則”,驗證SQL Server 2012運行環境是否符合要求。

clip_image046

與之前版本相同,需要對SQL Server必要的端口打開Windows防火牆的入站規則,比如TCP- 1433端口等。

特別注意:由於AG默認需要用到TCP-5022端口,所以該端口務必保證在Windows防火牆中開啓,允許其入站訪問。

6)設置SQL Server 2012服務器角色爲“具有默認值的所有功能”,點擊“下一步”。

clip_image048

7)在“功能選擇”列表中選擇實際所需功能,在此,爲了簡便不再進行自定義。直接使用默認選中組件。並且,需要指定相應的“共享功能目錄”,即SQL Server的安裝位置。

clip_image050

8)再次檢查安裝規則是否能正常執行通過。

clip_image052

9)選擇並指定實例名,在此使用默認實例來進行示範,並且指定“實例根目錄”。

clip_image054

10)檢查磁盤空間要求是否達到SQL Server 2012的安裝需求,點擊“下一步”。

clip_image056

11)指定“服務賬戶”和“排序規則”,在此選擇默認設置。如果需要在完成安裝後進行自定義配置,點擊“下一步”。

clip_image058

12)在“數據庫引擎配置”頁面中,指定服務器配置身份驗證爲默認的“Windows身份驗證模式”,“添加當前用戶”爲SQL Server的管理員,若有需要可進行響應的自定義配置。此外還可在“數據目錄”選項卡中指定相應該實例默認的數據庫文件存儲路徑。點擊“下一步”。

clip_image060

13)在“Analysis Services配置”頁面進行和“數據庫引擎配置”頁面中類似的配置。點擊“下一步”。

clip_image062

14)在“Reporting Services配置”頁面中,選擇默認設置,點擊“下一步”。

clip_image064

15)“添加當前用戶”爲“分佈式重播控制器”的管理員。點擊“下一步”。

clip_image066

16)爲“分佈式重播客戶端”指定相應控制器和數據庫目錄。在此,採用默認配置,控制器名稱可不填寫。點擊“下一步”。

clip_image068

注意:以上第13-16步根據第7步中所選功能不同,配置情況有所差異。

17)是否發送錯誤報告頁面中可選擇是否將錯誤報告發送給微軟。

clip_image070

18)在進行安裝前,執行最後一次“安裝配置規則”檢查,確認是否符合安裝需求。

clip_image072

19)在“準備安裝”頁面中,確認之前進行的各種參數配置是否正確,如果無誤,點擊“安裝”,啓動安裝進程。

clip_image074

20)安裝完成後,得到成功完成的頁面。如果在該頁面中顯示所有功能均爲綠色對勾,那麼證明SQL Server 2012安裝無誤。

clip_image076

21)可能在某些環境中安裝,會收到如下提示,只需重啓服務器操作系統即可。

clip_image078

2、爲高可用性組配置SQL Server 2012數據庫引擎服務。

1)在“開始”菜單中點擊“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打開“SQL Server配置管理器”。

clip_image079

2)在控制檯中點擊“SQL Server服務”節點,在右邊窗口中右擊“SQL Server (MSSQLSERVER)”,在上下文菜單中選擇“屬性”。

clip_image081

3)在彈出窗口中選擇“AlwaysOn 高可用性”選項卡中勾選“啓用AlwaysOn 可用性組”。點擊“確認”。

clip_image082

4)在彈出警告對話框中提示該修改需要重啓SQL Server數據庫引擎服務才能生效,點擊“確定”。

clip_image083

5)再次右擊“SQL Server (MSSQLSERVER)”,在上下文菜單中選擇“重新啓動”,對數據庫引擎執行重啓操作。

clip_image085

6)爲了避免在實現AlwaysOn Group時帶來複雜的權限設置,建議將相關的SQL服務(如:SQL Server數據庫引擎服務)啓動登錄身份由默認的“內置賬戶”改爲指定的域賬戶。

clip_image086

7)建議爲該域賬戶授予各節點SQL Server登錄權限,並將各節點服務器賬戶指派爲SQL Server登錄賬戶。

clip_image087

以上步驟在SQL01/02上均進行相同的操作即可。

四、創建配置高可用性組

高可用性組的創建操作可以有三種方式:嚮導方式、對話框方式和腳本方式,在此以嚮導方式SQL03上創建的DB01作爲主數據庫爲例進行介紹。

1、爲高可用性組創建配置數據庫

要使用嚮導創建高可用性組,必須要有符合條件的數據庫存在,才能進行相關的操作。那麼數據庫要符合怎樣的條件才能滿足條件呢?

1)主數據庫的恢復模式必須是“完整”恢復模式。

clip_image089

2)主數據庫已進行了一次完整備份。

clip_image091

3)需要一個共享路徑提供給備份包存儲,並允許所有節點服務器(SQL Server數據庫引擎服務登錄賬戶)能夠通過UNC路勁進行可讀寫訪問。

clip_image092

2、利用嚮導新建高可用性組

1)在“開始”菜單中點擊“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打開“SQL Server Management Studio”。

clip_image093

2)展開“AlwaysOn高可用性”節點,右擊“可用性組”,在上下文菜單中,選擇“新建可用性組嚮導”。

clip_image095

3)在“簡介”頁面點擊“下一步”。

clip_image097

4)爲將要創建的高可用性組指定名稱。

clip_image099

5)選擇滿足加入高可用性組條件的數據庫,點擊“下一步”。

clip_image101

6)爲高可用性組添加其它SQL Server服務器節點爲副本。點擊“添加副本”按鈕,一次添加所需SQL Server服務器,並且指定初始角色爲“主”或“輔助”。最多可選2個副本實現自動故障轉移,這兩個副本將同時使用同步提交可用性模式。最多可支持3個副本進行同步提交可用性模式,若使用異步提交必須強制手動故障轉移。對於可讀輔助副本設置來講,可選擇其爲是否可讀或僅讀意向,需要注意只有主數據庫副本纔可寫。

詳細請參考:http://msdn.microsoft.com/zh-cn/library/ff877931.aspx

clip_image103

7)點擊“端點”選項卡,可以設置高可用性組的端點URL。使用默認設置即可。

詳細請參考:http://msdn.microsoft.com/zh-cn/library/ff878441.aspx

clip_image105

8)在“備份首選項”中,指定作爲備份副本的節點。默認是在“首選輔助副本”中進行備份。可以通過副本備份優先級來指定首選。默認所有節點均爲50。

clip_image107

9)爲高可用性組創建偵聽器,指定其DNS名稱的Host Name和端口,建議IP地址使用靜態IP,並且添加新的羣集IP作爲高可用性組使用,如此可以指定SQL Server的默認端口1443,以便簡化客戶端訪問的配置。

clip_image109

10)初始化數據同步首選項,建議選擇“完整”,並指定之前創建的UNC共享路徑。點擊“下一步”

clip_image111

11)驗證是否滿足高可用性組創建需求,如果結果全爲綠色對勾,點擊“下一步”。

clip_image113

12)檢查並確認之前的配置信息,若無誤,點擊“完成”。另外,此處也可保存建組腳本,以便分步診斷故障之用。

clip_image115

13)等待嚮導完成創建SQL Server 2012高可用性組。

clip_image117

14)知道最終完成,所有摘要均成功完成,顯示綠色對勾。如果出現黃色警告,則需進行進一步判斷是否成功。若出現紅色錯誤,表示創建AG不成功。

clip_image119

在此,出現了黃色告警,點擊“警告”,在彈出對話框中顯示如下:

clip_image121

可以表明高可用性組成功創建,但WSFC的“多數節點”仲裁模式不是被推薦的。

15)返回SSMS窗口,在“可用性組”節點下顯示“AG01”的面板,可以觀察該高可用性組的狀態。

clip_image123

3、高可用性組的基本管理

創建完成高可用性組後,可用通過SSMS對高可用性組進行基本的管理。

1)直接右擊需要管理的高可用性組,在上下文菜單中可以選擇爲其“添加新數據庫”、“添加副本”、“添加偵聽器”及手動執行“故障轉移”等操作。點擊“屬性”,也可以編輯該AG的各種屬性值。

clip_image125

2)在高可用性組的屬性“常規”選項卡中,可以爲其添加/刪除數據庫、副本節點,並配置各可用性副本節點的參數設定值。

clip_image127

3)在“備份首選項”選項卡中,可以修改相應副本節點的備份優先級和備份執行的位置。

clip_image129

4)針對高可用性組中具體的副本節點配置,可以展開該組中“可用性副本”,右擊需要配置的副本節點,在上下文菜單中點擊“屬性”。

clip_image131

5)在其“常規”選項卡中可以修改配置當前副本節點“可用性模式”、“故障轉移模式”以及“會話超時”時間等。

clip_image133

6)可以通過右擊“可用性組偵聽器”中的具體偵聽器,打開其“屬性”,對偵聽器進行相應配置。

clip_image134

7)可以修改偵聽器的偵聽端口,從而指定客戶端訪問AG中數據庫所需要連接的服務端口。

clip_image136

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章