裴紅云,陳 俊,謝 慶,李 發(fā),李罡風
(安徽省地震局,安徽 合肥 230031)
“十五”數(shù)字化改造后,地震前兆臺網(wǎng)建立了基于Oracle數(shù)據(jù)庫的技術平臺,實現(xiàn)全國地震前兆觀測數(shù)據(jù)的統(tǒng)一管理。通過各級數(shù)據(jù)庫層層交換前兆觀測數(shù)據(jù)的模式(周克昌,2010),為數(shù)據(jù)的處理、匯集、上報及服務提供平臺。首先由各節(jié)點臺站通過數(shù)據(jù)采集功能將前兆觀測數(shù)據(jù)采集至臺站數(shù)據(jù)庫,再上報至區(qū)域前兆臺網(wǎng)中心,然后由區(qū)域前兆臺網(wǎng)中心匯總至國家局數(shù)據(jù)庫。功能強大的Oracle數(shù)據(jù)庫為前兆技術系統(tǒng)提供了便捷的平臺,為保障前兆臺網(wǎng)技術系統(tǒng)的正常運行,數(shù)據(jù)庫的管理與運維也受到越來越多的關注(林樹澤,2010;陳俊,2016)。
各級數(shù)據(jù)庫的高效運轉是前兆觀測數(shù)據(jù)及時匯集、提供數(shù)據(jù)服務的基本保障,區(qū)域中心數(shù)據(jù)庫備份維護已趨于常態(tài)化(袁燕妮,2011;徐吉,2005;張云帆,2009;哈斯高娃,2010;陳傳華,2010;蔣春曦,1999),臺站節(jié)點因為架設在各個臺站,無論是硬件條件還是技術管理上,較之區(qū)域臺網(wǎng)中心都存在不足(裴紅云,2015)。臺站節(jié)點數(shù)據(jù)庫大多未采取任何形式的備份,一旦故障就無法進行數(shù)據(jù)庫數(shù)據(jù)恢復,近年來因服務器硬件故障及數(shù)據(jù)庫系統(tǒng)故障等原因,多次重建臺站節(jié)點數(shù)據(jù)庫,造成臺站數(shù)據(jù)庫數(shù)據(jù)信息的大量缺失,給臺站數(shù)據(jù)處理及使用帶來損失。因此建立臺站數(shù)據(jù)庫的備份體系,利用備份集重建數(shù)據(jù)庫后進行數(shù)據(jù)恢復,對保證臺站數(shù)據(jù)庫的信息完整,以及快速恢復基于數(shù)據(jù)庫的各類應用軟件的正常使用的重要性不言而喻。
安徽區(qū)域共架設9個臺站節(jié)點地震前兆數(shù)據(jù)庫,主要用于前兆觀測數(shù)據(jù)的采集、處理和報送,具體流程如圖1所示。地震臺站是觀測數(shù)據(jù)產(chǎn)出的源頭,臺站人員也是借助臺站數(shù)據(jù)庫,利用各種前兆專業(yè)軟件進行數(shù)據(jù)的采集、預處理和相應的前兆數(shù)據(jù)產(chǎn)品的產(chǎn)出;因此,節(jié)點臺站數(shù)據(jù)庫的正常運轉,對數(shù)據(jù)連續(xù)完整以及前兆數(shù)據(jù)的及時產(chǎn)出和傳輸至關重要。目前,臺站數(shù)據(jù)庫的軟硬件全部放置在臺站,軟硬件技術管理主要由區(qū)域中心工作人員承擔;因臺站軟硬件條件及技術人員的匱乏,數(shù)據(jù)庫尚未進行備份管理,臺站服務器一旦發(fā)生系統(tǒng)及數(shù)據(jù)庫級別的故障時,重建臺站數(shù)據(jù)庫就會造成臺站數(shù)據(jù)庫中數(shù)據(jù)的丟失,必然給臺站的數(shù)據(jù)處理和產(chǎn)品產(chǎn)出造成損失。因此,建立臺站節(jié)點數(shù)據(jù)庫的備份,以便故障時進行數(shù)據(jù)恢復,也有助于各類前兆軟件與新建數(shù)據(jù)庫的順利銜接,快速恢復臺站的數(shù)據(jù)。
首先,在硬件方面,鑒于臺站僅有一臺前兆服務器,從資源節(jié)約的角度考慮,可以從區(qū)域中心抽調(diào)一臺服務器用于所有臺站的備份集存儲;其次,從技術層面,臺站或區(qū)域中心人員定期手動備份的安全隱患較大,重復多次的手動操作費時費力且增加了出錯誤概率,因此,備份設計中盡量實現(xiàn)自動化操作與管理。這里制定的節(jié)點臺站數(shù)據(jù)庫備份方案滿足以下條件:(1)備份過程自動化,定期在臺站數(shù)據(jù)庫本機自動產(chǎn)出備份集;(2)備份集異機存儲,自動化傳輸備份集;(3)自動化管理備份集,定期刪除過期備份。整個備份的步驟也是圍繞這幾個方面展開的。
臺站數(shù)據(jù)庫備份按照以下步驟來完成:(1)備份集產(chǎn)出,定期在各臺站服務器自動產(chǎn)出備份集(如一周兩次一般即可以滿足臺站數(shù)據(jù)庫數(shù)據(jù)備份的需要);(2)備份集自動異機存儲,備份集產(chǎn)出后,自動將備份集傳輸至區(qū)域中心備份專用服務器上存儲,異機存儲較好地保障備份集的安全性;(3)備份集自動化管理,自動查看備份集時間,刪除過期的備份集,釋放空間。備份流程如圖2所示。
圖1 地震臺站前兆技術系統(tǒng)示意圖
按照上述數(shù)據(jù)庫備份方案的思路,需要在臺站和備份集存儲服務器上進行備份的相關部署。首先,在臺站數(shù)據(jù)庫服務器上,實現(xiàn)數(shù)據(jù)庫自動備份和備份集自動傳輸兩個功能。這里,分別編輯了數(shù)據(jù)庫備份腳本oraclebackup.sh和備份集傳輸腳本auto.sh,通過修改腳本文件中對應的參數(shù),并將這兩個腳本文件上傳至各個臺站服務器,用于完成數(shù)據(jù)庫的備份和備份集傳輸功能。其次,通過crontab設置腳本文件自動執(zhí)行時間,可實現(xiàn)腳本文件的自動執(zhí)行,進而完成數(shù)據(jù)庫的備份和備份集傳輸?shù)淖詣踊?。另一方面,在區(qū)域中心的備份集存儲服務器上,僅需完成各個臺站節(jié)點數(shù)據(jù)庫備份集的管理。這里,也編寫了備份集管理腳本mv.sh和rm.sh,分別完成備份集文件名修改及刪除過期備份集的功能;以時間日期修改備份集文件名便于同時存儲多個時間點的備份集,刪除過期備份可以釋放存儲空間,提高硬件利用率。這里同樣通過crontab設置腳本自動執(zhí)行。
完成臺站數(shù)據(jù)庫服務器及區(qū)域中心存儲服務器的備份管理部署后,實際執(zhí)行過程中可能會出現(xiàn)一些問題,這里也逐一對這些問題進行解析。
腳本文件上傳后,首先需要對腳本文件進行權限賦值,一般執(zhí)行chmod 777-R filename即可,如下所示:
執(zhí)行腳本文件時,實驗中曾出現(xiàn)“no such file …”以及“^M”等錯誤提示,經(jīng)查原因為腳本在Windows下編輯,上傳到Linux系統(tǒng)存在版本錯誤??梢酝ㄟ^直接在Linux下重新編輯腳本,或者修改腳本格式來解決,方法如下:vim filename檢查腳本文件格式,如果顯示fileformat=dos,直接修改格式為unix(語句為“:set ff=unix”),然后退出文件即可。
以安徽區(qū)域前兆臺站為例,需要對9個節(jié)點臺站進行數(shù)據(jù)庫備份,并且將9個臺站數(shù)據(jù)庫的備份集傳輸至同一臺服務器。從降低對數(shù)據(jù)庫使用影響,采取夜間數(shù)據(jù)庫冷備份模式進行備份;從節(jié)約存儲空間的角度考慮,各臺站備份保存為壓縮格式文件;從管理方便考慮,9個節(jié)點臺站數(shù)據(jù)庫同時備份稍后傳輸,預估備份完成時間,適當延后備份集傳輸時間;此外,設置傳輸備份集時間時應考慮網(wǎng)絡傳輸速度,可采取各臺站依次傳輸模式。
crontab命令是Linux操作系統(tǒng)中用于設置周期性被執(zhí)行的指令。該命令從標準輸入設備讀取指令,并將其存放于“crontab”文件中,以供讀取和執(zhí)行。crontab的使用形式多樣,這里僅需要利用crontab -l和crontab -e來查看、編輯當前用戶下的crontab指令即可。查看crontab指令如下:
鍵入crontab-e ,進入crontab指令編輯,insert按鍵進入編輯,esc按鍵退出編譯,“:wq”保存修改并退出。
crontab基本語法:f1 f2 f3 f4 f5 program
其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天,而program 表示要執(zhí)行的指令。例如,00 1 * * 0,3 /…/rm.sh表示每周日、周三1∶00執(zhí)行rm.sh腳本,其中“*”默認為全選。
地震臺站前兆數(shù)據(jù)庫備份管理方案充分考慮前兆臺站軟硬件和技術人員的實際現(xiàn)狀、以及前兆數(shù)據(jù)庫數(shù)據(jù)完整性、運行穩(wěn)定性等要求;以自動化管理為特色,利用數(shù)據(jù)庫使用空閑時段選擇全庫備份模式進行數(shù)據(jù)庫冷備份;采取區(qū)域中心集中存儲、管理備份集的模式,實現(xiàn)資源的有效利用和統(tǒng)一管理;并通過設定功能腳本定期自動執(zhí)行的方式,來完成整個備份和備份管理過程的自動化。按照上述方案對安徽區(qū)域節(jié)點臺站前兆數(shù)據(jù)庫進行備份管理,并設定每周備份兩次,定期刪除過期備份集,整個備份及管理運行情況良好。部分臺站因系統(tǒng)損壞,重建數(shù)據(jù)庫后,使用自動備份的備份集進行數(shù)據(jù)恢復,方便快捷;各類前兆處理分析軟件,訪問數(shù)據(jù)庫時,無需重新配置參數(shù),各項工作可快速恢復正常。實踐證明,建立地震臺站前兆數(shù)據(jù)庫備份管理體系,改變了臺站數(shù)據(jù)庫無備份的現(xiàn)狀,簡化了數(shù)據(jù)庫備份流程,縮短了前兆臺站數(shù)據(jù)庫系統(tǒng)的故障恢復時間,并盡可能保證了數(shù)據(jù)完整性,為前兆技術系統(tǒng)的高效運轉和數(shù)據(jù)的及時產(chǎn)出與傳輸提供了更好的安全保障。