于由美 劉小斌 江明 張超環
[摘 要] 目前,云平臺已應用在各行各業中,國外知名油氣開發公司如斯倫貝謝、哈里伯頓等都建立了自己的云應用系統。基于VMware ESXI,搭建了某企業的私有云平臺,通過前期的推廣應用,達到了預期的效果。隨著云平臺的逐步應用,出現了云平臺后臺資源分配不均衡、研究成果備份策略差等實際問題。文章通過云平臺計算資源負載均衡技術研究及井工區與地震工區備份方法,并結合企業自身應用的特點,提出了一種針對本企業私有云平臺的運維管理辦法。
[關鍵詞] 私有云,負載均衡,oracle數據庫備份,運維管理
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 07. 067
[中圖分類號] TP311 [文獻標識碼] A [文章編號] 1673 - 0194(2019)07- 0163- 03
0 前 言
隨著國內各油田地質與開發生產數據庫系統建設的日臻完善,各油田都在積極開展數據庫深度應用,但其專業應用系統與底層數據庫均非一體化,而是采用數據下載、格式轉換、軟件推送的模式開展研究工作,這一工作模式不但軟硬件資源無法充分利用,而且數據一致性難以保障,研究成果與機器捆綁,共享難。目前,國外知名油氣開發公司(如斯倫貝謝、哈里伯頓)基于統一的底層數據庫,建立了自己的云應用系統,能夠實現遠程開展地震解釋、地質建模等研究工作,研究人員不用關心軟件及數據在哪個地方,隨需即取。云平臺構建完成之后,后期的運維管理是一項長期的工作,如何做好云的運維管理工作是每一個建設者必須考慮的問題。采用基于服務器集群的云平臺后臺部署模式,能夠保證云平臺計算節點運行的可靠性;采用基于瀏覽器的應用模式,能夠保證用戶得到很好的應用體驗。但如何保證云平臺能夠平穩運行,如何保證研究成果的數據安全,是在云平臺運維過程中面臨的主要問題。
1 負載均衡
負載均衡(Load Balance,簡稱LB)是一種服務器或網絡設備的集群技術。負載均衡將特定的業務分擔給多個服務器或網絡設備,從而提高了業務處理能力,保證了業務的高可用性。目前,比較常見的負載均衡算法有:
(1)輪詢法:將請求按順序輪流地分配到后端服務器上,它均衡地對待后端的每一臺服務器,而不關心服務器實際的連接數和當前的系統負載。
(2)隨機法:通過系統的隨機算法,根據后端服務器的列表大小值來隨機選取其中的一臺服務器進行訪問。由概率統計理論可以得知,隨著客戶端調用服務端的次數增多,其實際效果越來越接近于平均分配調用量到后端的每一臺服務器,也就是輪詢的結果。
(3)源地址哈希法:源地址哈希的思想是根據獲取客戶端的IP地址,通過哈希函數計算得到的一個數值,用該數值對服務器列表的大小進行取模運算,得到的結果便是客服端要訪問服務器的序號。采用源地址哈希法進行負載均衡,同一IP地址的客戶端,當后端服務器列表不變時,它每次都會映射到同一臺后端服務器進行訪問。
(4)加權輪詢法:不同的后端服務器可能機器的配置和當前系統的負載并不相同,因此它們的抗壓能力也不相同。給配置高、負載低的機器配置更高的權重,讓其處理更多的請;而配置低、負載高的機器,給其分配較低的權重,降低其系統負載,加權輪詢能很好地處理這一問題,并將請求順序且按照權重分配到后端。
(5)加權隨機法:與加權輪詢法一樣,加權隨機法也根據后端機器的配置,系統的負載分配不同的權重。不同的是,它是按照權重隨機請求后端服務器,而非順序。
(6)最小連接數法:最小連接數算法比較靈活和智能,由于后端服務器的配置不盡相同,對于請求的處理有快有慢,它是根據后端服務器當前的連接情況,動態地選取其中當前積壓連接數最少的一臺服務器來處理當前的請求,盡可能地提高后端服務的利用效率,將負責合理地分流到每一臺服務器。
2 Oracle數據庫備份
各種因素可能會造成數據庫中災難性的數據丟失,為了保證數據庫中數據的安全,必須采取必要的備份措施保證數據庫中數據免遭破壞。所謂數據備份技術,就是讓數據能以某種特定的格式加以保留,以便在系統遭受災害時能重新加以利用的一個過程。其目的就是為了使數據能重新利用,換句話說,數據備份的核心是能使數據恢復,一個無法恢復的數據備份是毫無意義的[1]。數據庫備份是十分簡單,是在數據庫處于無法使用狀態時用于重建數據庫的重要信息拷貝。
常見的Oracle數據庫備份有三種方法:
(1)冷備份。冷備份是Oracle最簡單的一種備份,執行冷備份前必須關閉數據庫,然后使用操作系統實用工具或者第三方工具備份所有相關的數據庫文件。
(2)熱備份。熱備份是當數據庫正在運行時進行數據備份的過程,執行熱備份的前提是數據庫需運行在ARCHIVELOG模式,適用于7*24不間斷運行的關鍵應用系統。
(3)Export導出數據庫對象。冷備份和熱備份都備份物理數據庫文件,因而被稱為物理備份。而export備份的是數據庫對象,因此被稱為邏輯備份。該方法通過Oracle實用工具Export利用SQL語句讀出數據庫數據,并在操作系統層將數據和定義存入二進制文件。導出對于還原一個意外刪除的對象或還原這個對象的定義來說是很好的,因為脫機備份不能只還原一個對象,而聯機備份還原一個對象必須得還原該對象存在的數據文件,相對于導出這種備份形式來說要煩瑣很多,但是從導出中還原時,僅能得到導出文件中的內容,不能從中向前回滾,所以導出數據庫這種備份方式只能作為聯機備份和脫機備份的一種補充。
3 方案設計
地質綜合研究云平臺具備服務器資源、數據資源及軟件資源統一管理、專業應用遠端隨需即取、跨平臺等技術特色。該平臺已在研究院、錦采、曙采等多家單位的勘探開發研究工作中得到了初步應用,結束了資料靠下載、成果靠拷貝的低效工作模式,提升了一體化協同研究的技術能力,效果顯著。在推廣過程中,針對負載均衡算法不完善,數據備份僅限于用戶手工拷貝等問題,對勘探開發云平臺進行了技術升級。
3.1 云平臺計算資源負載均衡技術
通過分析前期云平臺實際應用情況,將計算節點的連接數、CPU使用率、內存使用率、圖卡使用率列為關鍵性能指標,并按影響程度打出分值,通過分值構建性能指標矩陣,計算服務器的KPI權重值,編寫程序實現計算節點四個關鍵性能指標在矩陣中的輪詢,使服務器按權值順序接受來自平臺用戶的服務請求,實現應用的負載均衡。
不同的服務器可能機器配置和當前系統的負載并不相同,因此它們的抗壓能力也不盡相同,給配置高、負載低的機器配置更高的權重,讓其處理更多的請求,而低配置、高負載的機器,則給其分配較低的權重,降低其系統負載。經論證,使用加權輪詢法,很好地處理這一問題,并將請求順序按照權重分配到后端。
基于上述算法,將權重值細化,基于云平臺服務器關鍵性能指標來構建矩陣,再通過層次分析算法計算出服務器的KPI權重值,運用加權輪值算法,使服務器按權值順序接受來自平臺用戶的服務請求,實現應用的負載均衡。將云平臺服務器的四項關鍵性能指標CPU、內存、顯存、連接數組建矩陣,見表1。首先為四項關鍵性能指標按重要性打分,接著根據分值在矩陣中填寫比值,根據檢測的服務器相關信息套入矩陣,計算出服務器的KPI權重值,指導實現平臺服務器的負載均衡技術,如圖1所示。
3.2 井工區及地震工區備份方法
地震解釋工作在地質研究過程中起著至關重要的作用,在建立等時地層對比格架方面,通過三維地震資料解釋落實區域對比標志地震響應特征,以地震資料為約束建立等時地層對比格架降低地層對比可靠性;在精細構造解釋方面,通過三維地震資料解釋落實區塊斷層位置、產狀、延伸長度、組合關系等特征及地層產狀變化,井震結合實現區塊構造精細解釋;在落實有利儲層分布方面,井震結合落實有利儲層地震反射特征,通過反射特征精細追蹤,落實有利儲層分布范圍,為井位部署及跟蹤提供依據。地震解釋成果以二進制文件存儲與磁盤或儲存于解釋軟件自帶的數據庫中,地震解釋成果的備份,對于地震工區的恢復十分必要。
通過自定義功能腳本,實現云平臺地震解釋應用的井工區及地震工區重要數據文件定時自動增量備份及完整備份功能,提升用戶研究成果的安全性。
在應用服務器層面設定定時任務,自動調用編寫的備份腳本,完成云平臺地震解釋應用的層位文件備份、井工區數據備份,實現數據的定時備份功能,還可以根據輸出的備份日志查看備份的文件是否成功完成,如圖2所示。
crontab定時備份
30 2 * * 6 /software/backup/hts_bak.sh
0 1 * * 7 /software/backup/prj_bak.sh
通過實現上述定時自動備份功能,使云平臺地震解釋用戶的研究成果和數據安全得到有效保障。
此外,還通過容災備份系統,對后臺成果數據進行TrueCopy備份。在災難發生時,TrueCopy會對數據實施無縫保護,免除了一系列煩瑣的手工磁盤恢復的過程[2]。
4 總 結
本文介紹了地質綜合研究云平臺后臺資源的運維管理方法,并結合生產實際,綜合運用自創的云平臺計算資源負載均衡技術和井工區及地震工區備份方法,完善了云平臺運行策略,通過項目推廣實施,實現了云平臺在油田公司12家單位地質研究部門的初步推廣應用。今后還將繼續完善勘探開發云平臺的功能,不斷豐富云平臺應用,按需調整云平臺節點的分配方案,滿足云平臺用戶日常科研生產工作對云平臺資源的需求,并結合實際生產需求,進一步提高地質研究工作的效率與質量,為遼河油田增儲穩產、降本增效提供有力的技術支持。
主要參考文獻
[1]劉艷.SAN環境下數據備份系統的設計與實現[D].重慶:重慶大學,2008.
[2]劉小斌.基于SAN存儲的容災備份系統[J].中國管理信息化,2015,18(13).