柳培林
[摘要] 在采油廠信息化建設過程中,數據的核心支撐作用日益突出,各專業應用系統對數據庫的可用性、可靠性、安全性的要求越來越高。本文主要討論運用存儲技術、負載均衡技術和Oracle RAC集群技術在采油廠數據中心建設高效、可靠的數據庫集群系統,以更好地為油田信息化建設服務。
[關鍵詞] Oracle RAC; 負載均衡; 存儲技術
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 02. 033
[中圖分類號]F270.7; TP393[文獻標識碼]A[文章編號]1673 - 0194(2012)02- 0060- 02
1引言
隨著油田信息化建設的不斷深入,油藏工程、采油工程、地面工程以及作業管理等各類專業應用系統為油田生產提供了高效、經濟、便捷的生產管理手段,相關業務對信息技術的依賴在不斷加強。而由于用戶訪問量的快速增長造成的服務器壅堵及故障出現頻率也呈上升趨勢,給油田生產管理的順利開展帶來不穩定因素。因此,確保“7 × 24”小時持續運行能力是系統的基本要求。同時,油田生產數據的安全性也要求承載數據庫系統的服務器有較高的容錯能力、處理能力和擴展能力。基于存儲技術、負載均衡技術及Oracle RAC技術的數據庫集群系統能較好地滿足以上要求。
本文在研究構建高可用性數據庫集群系統相關技術的基礎上,將這一技術應用到大慶油田第二采油廠數據中心的生產數據庫系統,顯著提高了系統的運行效率和容錯能力,取得了良好的效果。
2集群技術
集群是一種并行或分布式的處理系統,由相互獨立的、通過高速網絡互連的兩個或多個計算機(節點)組成,像一個單獨集成的計算資源一樣協同完成特定的任務。集群系統實現了單一系統映像,使系統內所有物理資源和內核資源可見,并被系統內的所有節點訪問。操作者不必了解資源的物理位置,也不必知道應用程序在哪個節點上運行,而且可以將應用程序的多個共同工作的部件集中或分散管理,一方面簡化了系統管理,另一方面也提高了系統的性能。
2.1高可用性集群
計算機集群系統按應用目的可分為高可用性(HA)集群和高性能(HP)集群。高性能集群具有響應大量計算的性能,主要用于處理復雜的計算問題,如氣象云圖、分子模擬、神經元計算等。而高可用性集群具有更高的可靠性和容錯性,是指以減少服務器中斷時間為目的實現故障屏蔽的服務器集群技術。在高可用集群環境下,若某臺服務器出現故障導致服務中斷,則預先設定的接管服務器會自動接管相關應用并繼續對用戶提供服務,具有更高的可用性、可管理性和更優異的可伸縮性。
2.2高可用性集群的工作方式
高可用性集群可以有多種工作方式,雙節點的高可用性集群典型的工作方式有:
(1) 主/主(Active/Active)式。集群中兩節點同時運行各自的應用并且相互監測對方的狀態,當一臺主機宕機后,預先設定好的另一臺主機立即接管它的一切工作。這種工作方式允許最大程度地利用硬件資源,一般要求各節點具有相等或相似的處理能力,所有的服務在故障轉移后仍保持可用。
(2) 主/從(Active/Standby)式。主機工作,從機處于監控準備狀態,當主機宕機后,從機接管主機的一切工作,繼續為客戶機提供服務,待主機恢復正常后,用戶可以自行設定以自動或手動方式將服務切換到主機上,也可不切換。
3集群架構
數據庫集群系統按架構可分為無共享存儲集群和共享存儲集群。主要區別在于是否需要進行物理數據布局,將靜態的數據分區作為并行處理的前提。
在共享存儲方式下,每一臺服務器都可以訪問所有數據。服務請求可以按照不同的負載均衡算法在節點之間循環,無需考慮哪些數據塊是被請求的。如果某一點發生單點故障,服務請求會自動路由到下一個可用節點,可用的服務器仍然能訪問所有數據,不會破壞數據的可用性。這種方式擁有較高的整體可靠性,而且在這種方式下,往集群中增加節點無需重新配置結構、應用或基礎數據組織。不過這種訪問方式需要保證同一時間只有一個節點對某個數據塊進行訪問,不然會造成讀寫沖突。因此需要一個分布式的同步機制來對緩存更新和磁盤寫進行整體上的控制,以保證數據的完整性。
無共享集群不需要同步機制。因為無共享集群把數據分區,每個數據區只能被一臺服務器訪問,這使得它可以更有效地使用緩存,從而獲得更高的響應性能。但設立分區要付出額外的代價,它需要應用和事務管理器來對分區的路由進行優化。如果分區沒有被很好地優化,獨立的分區節點會很快超載,而如果發生了單點故障,其他服務器不能訪問該數據區,只有重新分區才能解決,導致其故障恢復時間比共享磁盤集群長,從而影響數據的可用性。而且往無共享集群中增加和刪除節點比共享磁盤架構要復雜得多,因為它涉及重新分配數據區的問題。對于以高可用性為首要目標的數據庫集群系統而言,采用共享磁盤的架構更為合適。
4系統實施
在大慶油田第二采油廠數據中心建立數據庫集群系統的過程中,根據已有設備情況和應用需求,采用了高可用性、共享存儲、主/主工作方式的實施方案(參見圖1)。
采用的硬件設備包括:兩臺Sun V890工作站,各自安裝Solaris 10操作系統和集群組件,共享存儲為DPE CX500磁盤陣列,存儲容量為2TB,服務器通過千兆光纖網卡相互連接并共享磁盤陣列,每個節點具有自己的系統引導盤,可以獨立運行。在兩個節點上分別安裝Oracle RAC和 Oracle 10g軟件,數據文件、控制文件、日志文件存儲在共享磁盤陣列上,節點上只創建共享數據庫的實例。整個集群系統對外有一個虛擬的IP地址,客戶端連接虛擬地址,達到單一的系統映像。這樣,當某個節點發生硬件或軟件故障時,系統可以把任務自動地切換到另一個節點,可以繼續提供數據庫服務,對用戶沒有影響。系統還提供了很高的有效性和可擴展性,在業務擴展,數據量增長,需要增加系統處理能力時,可以通過向集群中增加更多的節點,增加所支持用戶的數量,保持系統性能。
5結束語
Oracle RAC作為一種高可用性應用集群,在故障容錯、并行處理及負載均衡等方面表現出突出的優越性,本文根據數據中心的建設情況,在Sun V890小型機上結合Oracle集群軟件實施了Oracle 10g RAC集群并取得了良好的效果。系統充分利用已有的服務器資源,在顯著降低單臺服務器訪問負載的同時,使數據中心的運行效率和容災能力大幅提高,為采油廠各項業務應用提供了一個高效、可靠的數據平臺。
主要參考文獻
[1] 謝怡,燕彩蓉,等. 數據庫集群服務器的設計和管理[J]. 微電子學與計算機,2003(1).
[2] 劉暉,彭勤科,等. 基于節點代理的數據庫集群服務器[J]. 小型微型計算機系統,2003,24(2):225-229.
[3] 王婉菲,王欣,等. 數據庫集群系統的研究與實施[J]. 微型電腦應用,2003,19(10):31-33.
[4] 周志逵,江濤. 數據庫理論與新技術[M]. 北京:北京理工大學出版社,2001.
[5] 楊學良,張占軍. 分布式多媒體計算機系統教程[M]. 北京:電子工業出版社,2002.
[6] 楊利,昌月樓. 并行數據庫技術[M]. 長沙:國防科技大學出版社,2001.
[7] 門明,劉子安,等. 分布式數據庫[M]. 北京:中國人民大學出版社,2001.