



[摘 要] 本文介紹了故障轉移群集技術原理和特點,結合吉林石化門戶網站數據庫群集的系統(tǒng)部署,詳細闡述了在Windows Server 2008 R2 操作系統(tǒng)下實現SQL Server 2008的雙節(jié)點數據庫故障轉移群集的方法。
[關鍵詞] 故障轉移群集;雙節(jié)點群集;數據庫;SQL Server 2008
[中圖分類號] TP393;F270.7 [文獻標識碼] A [文章編號] 1673 - 0194(2013)13-0041-03
0 引 言
吉林石化公司門戶網站是本企業(yè)發(fā)布新聞、通知,實現二級單位管理、信息鏈接與查詢、資源共享,集成各種綜合應用系統(tǒng)的統(tǒng)一平臺,保障門戶系統(tǒng)的正常運行至關重要。目前根據規(guī)劃對門戶網站系統(tǒng)進行全面的升級,此次升級后操作系統(tǒng)版本為Windows Server 2008 R2,數據庫的群集服務正是基于此操作系統(tǒng)內置的故障轉移群集技術。
1 群集技術及原理
Windows Server 2008提供了兩種群集技術:故障轉移群集(Failover Cluster)和網絡負載平衡,其中故障轉移群集主要用于搭建高可用性架構。故障轉移群集是一組獨立的計算機,這些計算機相互協(xié)作以提高應用程序和服務的可用性。群集內的每臺服務器被稱為節(jié)點(Node),節(jié)點之間通過網絡硬件和軟件連接在一起為用戶提供服務,如果其中一個群集節(jié)點出現故障,另一個節(jié)點就會開始提供服務(該過程稱為故障轉移),通過使用冗余節(jié)點來減少宕機時間[1]。其典型的應用包括文件服務器、數據庫服務器和打印服務器。
故障轉移群集只適用于Windows Server 2008 R2企業(yè)版和Windows Server 2008 R2 數據中心版,目前應用最廣泛的是雙節(jié)點故障轉移群集。
雙節(jié)點故障轉移群集原理如圖1所示。
Node A 和Node B 組成雙節(jié)點群集,對于客戶端來說體現為一臺虛擬的服務器,通過軟件連接,將需要管理的資源提交給群集管理器。通過群集服務器,客戶端發(fā)送給虛擬主機的服務請求由Node A上的服務程序或應用程序從磁盤陣列中讀取業(yè)務數據處理以后通過群集服務器返還給客戶端。
Node A 和Node B采用直連,Node B 通過心跳信號檢測A的狀態(tài),當群集服務器發(fā)現處于Active的節(jié)點發(fā)生故障時則關閉Node A上的服務和應用程序,同時釋放Node A的主機名,IP地址、磁盤陣列等控制權由Node B接管,然后啟動Node B上的服務和程序,從而實現故障轉移的目的。
其中群集搭建中需要共享的磁盤陣列用來做仲裁盤、DTC和共享盤[2]。
仲裁盤:群集系統(tǒng)數據的固定存儲區(qū)域,網絡連接失敗后各節(jié)點聯(lián)系的紐帶,當群集網絡故障導致節(jié)點間無法通訊后,仲裁機制可保證群集中只有一個節(jié)點進入聯(lián)機狀態(tài)。
DTC:即分布式事務協(xié)調器,當主節(jié)點宕機時,備份節(jié)點會“取出”宕機時的工作狀態(tài)繼續(xù)提供服務。
共享盤:安裝數據庫文件。
2 吉林石化門戶系統(tǒng)應用實例
2.1 設計思路
吉林石化門戶系統(tǒng)的數據庫服務器采用雙節(jié)點的群集結構,當工作服務器運行正常時,備用服務器只是處于監(jiān)聽監(jiān)測的狀態(tài),當工作服務器故障時,備用服務器接管主機的一切服務,待主機恢復正常后,將服務器切換到主機上運行,數據的一致性通過共享存儲解決,實現門戶系統(tǒng)的穩(wěn)定可靠運行。
該系統(tǒng)采用的硬件平臺配置為:數據庫服務器采用兩臺IBM X3850 X5,每臺服務器配有Emulex光纖卡兩塊,兩塊雙口網卡,磁盤陣列在原有的EMC CX480上進行擴展,擴展磁盤容量為600G*8,交換機采用H3C S5500-28C。
軟件配置為:操作系統(tǒng)選用Microsoft Windows Server 2008 R2 Enterprise (64位),數據庫服務器安裝SQL Server 2008 R2 Enterprise(64位)。
部署前先做好服務器磁盤空間及IP地址規(guī)劃,注意網絡高級設置中的綁定順序,服務器的生產網絡要優(yōu)于心跳網絡,如圖2所示。
2.2 實現方法
吉林石化部署的數據庫服務器每臺配置兩塊光纖卡,此光纖卡用于服務器與存儲陣列的兩臺冗余光纖交換機相連接。兩塊雙口網卡,其中一口網卡用于連接兩臺服務器的心跳線,一口網卡用于將服務器連接在局域網內,一口網卡用于CMS頻道數據遷移使用。
數據庫服務器與磁盤陣列連接如圖3所示。
硬件連接好之后,在兩臺配置相同的服務器上均安裝Windows 2008 Enterprise Server R2企業(yè)版操作系統(tǒng),安裝光纖卡的驅動程序。
將EMC CX480中擴展的8塊硬盤做一個RAID組,設置RAID5+1熱備方式,劃分3個LUN:一個用于仲裁盤,容量為1G;一個用于DTC,容量為 1G;一個用于共享盤,容量為2T。在兩臺服務器的磁盤管理器中,會看到窗口上多了3個磁盤,然而它并不是真正連接到服務器上的磁盤,而是磁盤陣列中的LUN,如圖4所示。
然后需要兩臺服務器上分別驗證訪問這個3個磁盤的有效性,注意在一臺服務器的共享磁盤上寫數據時,另外一臺訪問的共享磁盤應處于脫機狀態(tài),待數據寫完后再聯(lián)機,查看文件的有效性,如此反復在另外一臺服務器上進行測試,保證磁盤的可用性。
群集中的所有服務器都必須位于同一 Active Directory 域中,連接好磁盤陣列后,將服務器加入中國石油集團域控服務器及DNS服務器,再次登錄時采用域賬戶登錄,進行集中控制及應用軟件部署。
根據添加故障轉移群集功能的向導,我們需要對群集服務器作一系列的配置,具體步驟包括:
(1)打開服務器管理器“功能”—“故障轉移群集” 選擇“創(chuàng)建群集向導”。
(2)將兩臺服務器加入群集,確定群集名稱。在安裝添加群集功能結束后,Windows Server 2008包含一個內置的驗證過程,使用戶能夠對系統(tǒng),存儲及網絡的配置是否適于集成進行確認,新的確認向導所進行的部分測試包括:
節(jié)點測試,確認服務器是否正在運行同樣的操作系統(tǒng)版本及是否進行了相同的軟件更新。
網絡測試,確定是否計劃的群集網絡符合具體的需求,如針對網絡冗余是否具有至少兩個獨立的子網。
存儲測試,分析是否進行了正確的存儲配置,以使所有共享的磁盤能通過全部的群集節(jié)點進行讀取以及確認存儲是否符合特定的需求[3]。
驗證過程如圖5所示。
驗證結束后需要驗證群集是否安裝成功,在群集管理界面上手動停止主服務器的服務,服務可以自動切換到備用服務器節(jié)點上,從而驗證群集的正確性。
(3)配置仲裁磁盤及IP, 配置DTC及IP,其中仲裁磁盤選擇多數節(jié)點與磁盤,選擇大小至少 500 MB 且配置了 NTFS 分區(qū)的磁盤,我們這里為1G。
(4)安裝SQL Server 2008故障群集,需要注意的是在主機上安裝新的SQL Server故障轉移群集,在安裝過程中實例安裝到非系統(tǒng)盤,數據文件安裝到共享磁盤。
(5)設置管理用戶、密碼、登錄方式等。
(6)在備機上選擇向SQL Server故障轉移群集添加節(jié)點。
這樣就完成了整個故障轉移群集部署。
3 結 論
雙節(jié)點群集技術的應用保障了用戶訪問系統(tǒng)數據的實時性、完整性,實現了門戶系統(tǒng)穩(wěn)定可靠。
主要參考文獻
[1]劉鵬,靳文婷.故障轉移集群部署在石油銷售企業(yè)檔案管理系統(tǒng)中的應用[J].中國管理信息化,2012(8).
[2]李皓 .Windows Server 2008中故障轉移的創(chuàng)新點[J].每周電腦報,2008(3).
[3]戴有煒.Windows Server 2008 R2 安裝與管理[M].北京:清華大學出版社,2011.