張忠國


摘要:社保信息系統數據的安全性和運行不間斷都非常重要,本人所在單位信息系統采用了本地備份和異地容災備份的雙重備份模式,提高了系統數據的安全可靠性,利用生產系統退下來的設備組建了實時查詢系統。整個系統采用異構方式,結構靈活,性能高效,成本節省。
關鍵詞:
中圖分類號:C913 文獻標識碼:A 文章編號:1674-098X(2016)5(c)-0000-00
一、概述
我市社會保險信息系統內容涵蓋社會保障業務經辦、公共服務、基金監管和宏觀決策等核心應用,信息系統運行的持續性、穩定性,業務數據的完整性、正確性、有效性會直接關系到業務的生產、管理與決策活動,關系到廣大參保人的切身利益。當前我市參保人數達到500多萬人,但隨著人數與應用系統的不斷增加,系統的數據存儲量與處理量越來越大。如果業務運行中斷或重要業務數據的丟失和破壞,會給廣大參保人員和單位帶來不便,甚至會帶來重大的社會影響,給國家造成損失。
二、系統設計與實現
為保證系統的安全,除了良好的管理和運維外,更重要的是系統結構本身設計的可靠性要高。整個信息系統主要涉及到中心機房環境、核心網絡、服務器(小型機)、存儲、數據庫與應用系統,這里僅討論其中最重要的與數據運行最緊密相關的服務器、存儲、數據庫系統的安全冗余結構設計與實現方式。
提高系統運行可靠性最主要的方法就是將系統設計成冗余結構,早前最主流的方式是雙機熱備模式與磁帶備份,后來發展到建設容災系統。本市與數據相關的主要核心設備有小型機IBM P750 2臺、華為S18000存儲1臺,小型機HP RX8620 1臺、HP EVA6400存儲1臺,小型機HP RX6600 1臺、NETAPP 存儲FAS3020C 1臺,浪潮NF5270M3服務器1臺,浪潮AS500G存儲1臺,SAN存儲交換機3臺,ORACLE11G數據庫1套,備份軟件:Symantec NetBackup 1套。根據這些軟硬件條件,系統設計為本地系統和異地容災系統,本地系統包含生產系統、備份系統和查詢系統。本地系統存放在本市數據中心機房內,異地容災系統存放在B市電信運營商IDC機房。
所有幾套系統都運行ORACLE11G數據庫,各系統所使用的設備如圖中所示。
由于系統中小型機有IBM和HP兩種,其文件結構不同,系統則設計成異地主機異構容災系統和本地主機異構雙活查詢系統, 系統邏輯結構如上圖所示。
1.本地生產系統
生產系統為采用兩個節點的Oracle RAC,確保數據庫的高可用性及充分使用硬件資源,為所有幾個系統提供原始數據源。RAC全稱是Real Application Cluster,即真正的應用集群,是Oracle提供的一個并行集群系統,整個集群系統由Oracle Clusterware (集群就緒軟件)和 Real Application Clusters(RAC)兩大部分組成。Oracle RAC的實質是位于不同操作系統的Oracle實例節點同時訪問同一個Oracle數據庫,每個節點間通過私有網絡進行通信,互相監控節點的運行狀態,Oracle數據庫所有的數據文件、聯機日志文件、控制文件等均放在集群的共享存儲設備上,而共享存儲設備可以是RAW、ASM、OCFS2等,所有集群節點可以同時讀寫共享存儲。本系統數據庫每個服務器節點上都有自己獨立的OS、ClusterWare、Oracle RAC等數據庫程序,每個節點都有自己的網絡監聽器,當其中一個節點出現硬件故障、實例故障等問題時不會造成應用訪問中斷,從而實現數據庫7×24小時的高可用性及高效性。
2.本地數據備份系統
本地數據備份我們使用了賽門鐵克的Netbackup軟件,對所有需要進行備份的數據庫實現完全的在線熱備份而無須數據庫服務停機。在本地備份系統中,采用了集中統一的備份策略管理,通過連接到LAN中的Netbackup Master Server,對整個數據庫和應用系統的備份工作進行集中的管理、監控。
該系統的組成如下:
一臺服務器為Netbackup軟件的主備份服務器,連接到局域網,本機上的數據通過直接備份到備份存儲中。同時,它負責整個備份系統的管理,包括備份策略的制訂、備份數據庫的保存。
在LAN中其他的數據庫服務器,作為NetBackup Client,連接到存儲局域網中,并安裝相應的數據庫Agent,在線備份數據庫,然后直接通過LAN將數據傳輸到備份服務器上進行備份。
一臺大容量存儲設備,負責存儲備份后的數據。
備份系統對數據庫的備份采用在線備份,通過VERITAS Netbackup的Database Agent,在不停止數據庫運行的情況下,對數據庫數據進行備份,備份策略包括全備份、累計增量備份、者增量備份三種方式的結合。當發生數據損壞時,則可以從虛擬存儲中恢復數據,首先選定最近一次全備份進行恢復,然后選定最近一次累計增量備份,最后選定這次累計增量備份以后的所有增量備份項目,依時間順序進行恢復。
3.異地容災系統
能實現異構的容災軟件有多種,比如DSG,飛康,ORACLE的GoldenGate,為了降低系統的復雜度,便于維護,本系統采用ORACLE的GoldenGate 來實現。GoldenGate是領先的交易數據管理Transactional Data Management (TDM)軟件,可以在異構的IT基礎結構之間實現大量數據的秒一級的數據捕捉、轉換和投遞。GoldenGate通過解析數據庫日志并將數據傳輸和應用到目標數據庫,實現數據同步復制,通常用于實現關鍵業務數據庫容災、報表分離和外網查詢等場景,其復制的原理如下圖所示:
Oracle GoldenGate的復制技術對網絡資源占用極少,完全可以適合各種遠距離的數據復制,本市至B市(數據容災中心)兩地實際距離超過400公里。設計采用點到點的光纖專線連接,分別租用中國移動、中國聯通10Mbps帶寬光纖各一條,互為備份。
正常運行情況下,數據同步方向為生產系統到災備系統。啟動GoldenGate生產系統上的復制進程,數據同步的工作過程如下:在生產系統上運行GoldenGate捕獲進程,負責實時讀取Oracle數據庫交易日志中的數據變化,并根據需要執行過濾操作,將數據捕獲過來,寫入本地的源隊列文件中,寫入隊列文件的數據量約為交易日志文件的四分之一,即日志過濾比為4,這時的數據是未經過任何壓縮的,同時在生產系統上運行GoldenGate DataPump進程,該進程負責將源隊列文件的內容發送到目標隊列文件中。通過壓縮機制壓縮后傳輸,最大壓縮比理論上可以達到9:1,本系統實際測試值在,6到8之間。我們在選擇傳輸帶寬需求時,就是據此設計計算的,依據如下:在業務高峰期間產生歸檔日志大小目前最高為4GB/小時,設計未來6年內漲到3倍,考慮峰值小時內瞬時最大值與平均值偏離系數3, 網絡傳輸效率為70%。需要的傳輸帶寬則可依據如下計算公式算出:V=8*((Q*K/T)*P)/(L*Y*X),式中8是1BYTE=8bit,字節到字位單位換算,Q表示當前高峰數據量,K表示增長量,T表示1小時的秒數,P表示最大值偏離系數,L表示日志過濾比,Y表示實際最小壓縮比, X表示網絡傳輸效率。帶入前述數據得V=8*((4GB*3/3600)*3)/(4*6*0.7),算出V=4.8Mbps,據此我們租用帶寬1OMbps合理實用。
變化數據到達災備系統后,災備系統上的GoldenGate災備進程將實時讀取這些交易變化數據,根據其在生產系統上的交易順序,完全一致地備份到災備系統,保證了兩邊交易數據的一致性。由于GoldenGate數據復制是實時解釋REDO日志獲取變化的數據,所以對生產系統的性能影響幾乎可以忽略。
當生產系統發生故障,無法對外提供服務時,則將應用系統切換到災備中心。此時,GoldenGate需要實現反向的數據同步,即災備系統到生產系統的實時數據同步。因此,在啟用災備系統的同時,需要同時啟動反向數據同步的GoldenGate集成。此時,數據同步的工作過程如下:
災備系統上的GoldenGate捕獲進程實時讀取災備系統交易日志的變化數據,寫入災備系統本地的源隊列文件中;網絡正常時,則災備系統上的GoldenGate DataPump進程將把變化數據從源隊列文件壓縮/加密傳輸到生產系統的目標隊列文件中,而此時,生產系統不必處于正常運行狀態;當生產系統數據庫恢復運行時,生產系統上的GoldenGate交付進程會自動將積累在目標隊列文件中的變化數據應用到生產系統數據庫中,保證生產系統與災備系統的交易數據同步。
4.本地查詢系統
查詢系統的運算量和安全性要求比生產系統低,則利用原來從核心生產機退下來的設備,組成查詢系統。通過建立本地讀庫來保持一個與源系統數據同步的目標系統,同樣使用GoldenGate進行數據復制,工作原理和上面的異地容災系統相同,配置基本一樣,這種配置環境下,生產系統的在線事務處理性能不會受到影響。因為查詢系統上查詢的數據信息與生產系統是秒級的延遲,所以廣大市民進行網上查詢的數據是實時信息,同時查詢系統上的數據也可以作為一套本地容災數據備份。生產庫和查詢庫都是OPEN的,都處于激活狀態,因此查詢系統和生產系統組成了異構數據庫雙活運行系統,這里的雙活是指數據庫應用雙活,而非業務應用上的相互切換雙活。
三、結論與意義
按照如上設計的系統經實施驗收后,已經運行了近2年,系統穩定,性能優良。每個季度進行的備份數據恢復測試和每半年的異地容災演練中,系統數據都能正常可靠的恢復,所建立的實時查詢系統,運行也相當穩定,極大的方便了參保人。
在財力有限的情況下,本系統通過主機異構平臺設計,即充分利用了設備價值又實現了系統多功能與保證數據安全。因此,這種設計具有相當的經濟價值和社會價值,值得借鑒和參考。