一、引 言
目前我廠企業(yè)內(nèi)部從銷售、采購(gòu)、進(jìn)銷存到財(cái)務(wù)管理等各項(xiàng)業(yè)務(wù)信息都已納入ERP系統(tǒng)進(jìn)行規(guī)范管理,隨著北石ERP項(xiàng)目應(yīng)用的逐步深入,每天都會(huì)有大量業(yè)務(wù)數(shù)據(jù)實(shí)時(shí)存入ERP數(shù)據(jù)服務(wù)器,因此,在實(shí)現(xiàn)ERP系統(tǒng)正常運(yùn)行的同時(shí),如何保證ERP數(shù)據(jù)安全則顯得相當(dāng)重要。目前市場(chǎng)上雖然有很多數(shù)據(jù)備份軟件,而且功能強(qiáng)大,但是價(jià)格昂貴,實(shí)施部署比較繁瑣。筆者在長(zhǎng)期的系統(tǒng)維護(hù)過(guò)程中,利用SQL server和操作系統(tǒng)自有的部分功能,同時(shí)進(jìn)行簡(jiǎn)單的編程開發(fā),自行制定了一套廉價(jià)、高效、可控的ERP數(shù)據(jù)備份方案。
二、分析、規(guī)劃、部署備份方案
2.1 ERP系統(tǒng)數(shù)據(jù)特點(diǎn)
北石廠ERP硬件服務(wù)器設(shè)置采用三層式架構(gòu)(3-Tier),即在傳統(tǒng)的客戶端(Client)及數(shù)據(jù)庫(kù)服務(wù)器(Data Base Server)中間架設(shè)應(yīng)用程序服務(wù)器(Application Server)。
所有在易飛ERP系統(tǒng)錄入的數(shù)據(jù)均通過(guò)局域網(wǎng)絡(luò)保存在ERP數(shù)據(jù)庫(kù)服務(wù)器的SQL數(shù)據(jù)庫(kù)中,并且即時(shí)進(jìn)行更新。因此,保證ERP數(shù)據(jù)安全的關(guān)鍵在于對(duì)ERP數(shù)據(jù)服務(wù)器上的SQL數(shù)據(jù)庫(kù)及時(shí)進(jìn)行備份。
2.2 基本的備份過(guò)程分析
2.2.1 定時(shí)執(zhí)行本地SQL數(shù)據(jù)庫(kù)備份
SQL Server本身具有定時(shí)備份數(shù)據(jù)庫(kù)的功能,我們可以通過(guò)設(shè)置SQL數(shù)據(jù)庫(kù)維護(hù)計(jì)劃,在每天凌晨1:00執(zhí)行一次SQL數(shù)據(jù)庫(kù)完全備份,這樣可以將易飛ERP的兩個(gè)關(guān)鍵SQL數(shù)據(jù)庫(kù)備份以BAK文件的形式存放在本地磁盤。
圖1 SQL數(shù)據(jù)庫(kù)本地備份
2.2.2 生成壓縮包
圖2 生成壓縮包
北石ERP上線至今,已經(jīng)接近五年時(shí)間,目前每天生成的BAK備份文件大小總共為5G多,如此龐大的備份文件,如果不加處理,在后續(xù)的處理過(guò)程中,將會(huì)給服務(wù)器造成一定的壓力。筆者經(jīng)過(guò)研究發(fā)現(xiàn)SQL Server數(shù)據(jù)庫(kù)中主要存放的是文字信息,一般純文本內(nèi)容都具有高可壓縮性,因此數(shù)據(jù)庫(kù)生成的BAK備份文件也應(yīng)該具有一定的可壓縮性,在嘗試使用Winrar壓縮軟件對(duì)其進(jìn)行壓縮后,發(fā)現(xiàn)壓縮文件只占原文件大小的10%左右,壓縮效果相當(dāng)可觀。
通過(guò)使用Winrar壓縮軟件,可以大大緩解BAK備份文件對(duì)數(shù)據(jù)服務(wù)器磁盤空間的占用。當(dāng)然,由于BAK文件大小在5G以上,壓縮時(shí)間會(huì)比較長(zhǎng),一般在20~30分鐘左右。而且運(yùn)行Winrar程序比較耗費(fèi)服務(wù)器系統(tǒng)資源,所以通常選擇在服務(wù)器比較空閑的時(shí)候?qū)AK文件進(jìn)行壓縮。
2.2.3 將壓縮后的備份文件復(fù)制到異地服務(wù)器
ERP數(shù)據(jù)服務(wù)器本地?cái)?shù)據(jù)存儲(chǔ)采用由四塊scis硬盤組成RAID5磁盤陣列架構(gòu),在單塊磁盤出現(xiàn)故障的情況下可以保證數(shù)據(jù)完好無(wú)損,但是如果數(shù)據(jù)服務(wù)器發(fā)生磁盤RAID信息丟失、系統(tǒng)崩潰或者超過(guò)兩塊硬盤同時(shí)損壞時(shí),仍然會(huì)造成本地備份的ERP數(shù)據(jù)出現(xiàn)無(wú)法順利導(dǎo)出的情況,因此對(duì)于如此重要的ERP數(shù)據(jù)而言相對(duì)保險(xiǎn)的方法是將其復(fù)制到其他服務(wù)器進(jìn)行異地存儲(chǔ)。
ERP系統(tǒng)實(shí)施過(guò)程中,企業(yè)也在考慮數(shù)據(jù)集中存儲(chǔ)的問(wèn)題,2005年開始部署了一臺(tái)存儲(chǔ)服務(wù)器,針對(duì)ERP備份數(shù)據(jù),在存儲(chǔ)服務(wù)器上專門設(shè)置了一個(gè)遠(yuǎn)程訪問(wèn)的用戶和一個(gè)只對(duì)該用戶開放共享權(quán)限的網(wǎng)絡(luò)共享文件夾,用來(lái)異地存儲(chǔ)ERP數(shù)據(jù)服務(wù)器上的備份壓縮包。存儲(chǔ)服務(wù)器采用磁盤陣列柜存放文件數(shù)據(jù),獨(dú)立于服務(wù)器操作系統(tǒng),數(shù)據(jù)存儲(chǔ)更加安全,更加穩(wěn)定。
圖3 異地存儲(chǔ)
2.3 利用VB編程,實(shí)現(xiàn)自動(dòng)壓縮、自動(dòng)復(fù)制過(guò)程
以上備份過(guò)程原理簡(jiǎn)單,容易實(shí)現(xiàn),但是如果僅僅依靠手動(dòng)方式進(jìn)行操作,則存在一定的問(wèn)題。
一方面,要想真正保證數(shù)據(jù)的安全,必須嚴(yán)格要求系統(tǒng)維護(hù)人員將壓縮備份、復(fù)制文件等工作其作為一項(xiàng)專門的日常性事務(wù)來(lái)處理,每天必須執(zhí)行,不得有所延誤。但是由于人為因素的不確定性,系統(tǒng)管理員出現(xiàn)疏忽,偶爾忘記備份也在所難免,如果哪天忘了或沒(méi)有來(lái)得及壓縮備份和異地存儲(chǔ)備份,而ERP數(shù)據(jù)服務(wù)器正好又出現(xiàn)故障或者SQL數(shù)據(jù)被破壞,那麻煩可就大了。
另一方面,由于壓縮BAK文件和復(fù)制壓縮備份的過(guò)程需要大量占用服務(wù)器系統(tǒng)資源,為了不影響服務(wù)器的正常使用,所以一般要選在服務(wù)器相對(duì)空閑的時(shí)候(下班后或者每天上班前)進(jìn)行備份操作。而壓縮和異地復(fù)制的時(shí)間都比較長(zhǎng),這些都將耗費(fèi)系統(tǒng)維護(hù)人員大量的時(shí)間和精力。
因此,手動(dòng)發(fā)起的備份模式在一定程度上很難確保ERP數(shù)據(jù)的安全。
那有沒(méi)有比較好的解決辦法呢?答案當(dāng)然是肯定的。那就是把這些手工很難完成的過(guò)程交給計(jì)算機(jī)自動(dòng)完成。于是筆者使用常用的編程工具VB編寫了兩個(gè)小程序。程序一和程序二分別可以自動(dòng)完成對(duì)BAK備份進(jìn)行壓縮和異地存儲(chǔ)。由于目前程序開發(fā)工具比較多,均可實(shí)現(xiàn)以上功能,所以本文不對(duì)VB程序代碼展開說(shuō)明,僅將程序的基本思路和實(shí)現(xiàn)的過(guò)程進(jìn)行簡(jiǎn)單介紹。
2.3.1 程序一:自動(dòng)壓縮BAK文件
SQL定時(shí)生成的BAK文件,以備份數(shù)據(jù)庫(kù)名+備份日期和時(shí)間命名,具有一定的規(guī)律。程序一運(yùn)行后會(huì)按照相同的規(guī)律自動(dòng)生成BAK文件的路徑和文件名并保存在一個(gè)列表文件里。
然后,程序再調(diào)用Winrar壓縮軟件讀取列表文件,對(duì)其中列出的BAK文件進(jìn)行壓縮,生成一個(gè)新的壓縮包。
2.3.2 程序二:將備份壓縮包傳送到異地服務(wù)器
程序二內(nèi)封裝了存儲(chǔ)服務(wù)器的某個(gè)Windows用戶和密碼,該用戶擁有讀寫共享文件夾權(quán)限。程序運(yùn)行后會(huì)首先自動(dòng)連接存儲(chǔ)服務(wù)器,并完成用戶身份驗(yàn)證,獲取到對(duì)應(yīng)網(wǎng)絡(luò)共享文件夾的完全控制權(quán)限,然后就將備份壓縮包自動(dòng)復(fù)制到存儲(chǔ)服務(wù)器上的共享文件,從而安全、自動(dòng)的實(shí)現(xiàn)備份壓縮包異地存儲(chǔ)。
2.3.3 利用windows任務(wù)計(jì)劃功能,定時(shí)運(yùn)行程序一和程序二
每天凌晨1:00SQL數(shù)據(jù)庫(kù)執(zhí)行一次完全備份,耗時(shí)大概二十分鐘。這是在SQL維護(hù)計(jì)劃中進(jìn)行設(shè)置,由SQL server自動(dòng)管理,每天在固定的時(shí)間執(zhí)行一次。
類似的,也可以設(shè)置windows任務(wù)計(jì)劃,每天在固定的時(shí)間運(yùn)行一次程序一和程序二,自動(dòng)完成壓縮和異地存儲(chǔ)的操作。
2.4 確定自動(dòng)備份方案
上述內(nèi)容已經(jīng)對(duì)備份方案中的具體過(guò)程和方法進(jìn)行了詳細(xì)分析,在此基礎(chǔ)上,筆者經(jīng)過(guò)細(xì)致分析,綜合考慮,最終形成圖4所示備份方案。
圖4 北石ERP數(shù)據(jù)備份方案示意圖
此方案部署成功后,每天會(huì)在規(guī)定的時(shí)刻執(zhí)行相應(yīng)步驟,直至完成ERP數(shù)據(jù)庫(kù)的異地備份。所有備份過(guò)程自動(dòng)完成,不需要過(guò)多的人工干預(yù)。
2.5 結(jié)合AM企業(yè)即時(shí)通訊系統(tǒng),對(duì)服務(wù)器狀況進(jìn)行監(jiān)控,確保備份順利進(jìn)行
備份方案部署后,數(shù)據(jù)服務(wù)器和存儲(chǔ)服務(wù)器上每天都會(huì)自動(dòng)生成的一個(gè)數(shù)據(jù)備份文件和壓縮包,由于服務(wù)器上磁盤空間大小有限。如果不加處理,日積月累磁盤空間終會(huì)耗盡,當(dāng)服務(wù)器磁盤沒(méi)有足夠的剩余空間時(shí),數(shù)據(jù)備份也就無(wú)法完成,因此,最開始的時(shí)候,系統(tǒng)維護(hù)人員還需要對(duì)服務(wù)器磁盤狀況進(jìn)行監(jiān)控,定期清理磁盤。每次清理時(shí),一般保留一周內(nèi)的BAK備份文件和壓縮包,超過(guò)一周的歷史的備份壓縮包則可以刻錄成DVD光盤集中存檔。
由于仍需要系統(tǒng)維護(hù)人員定期對(duì)磁盤空間進(jìn)行維護(hù),為了避免系統(tǒng)管理員忘記清理磁盤,確保磁盤有足夠的剩余空間保存?zhèn)浞�,筆者又利用VB又編寫了一個(gè)小程序結(jié)合windows的任務(wù)計(jì)劃,該程序可以定時(shí)檢測(cè)服務(wù)器磁盤狀況。并且與AM企業(yè)即時(shí)通訊系統(tǒng)進(jìn)行集成,當(dāng)檢測(cè)到磁盤剩余空間不足10G時(shí),程序會(huì)馬上調(diào)用AM消息控件,群發(fā)即時(shí)消息告知相關(guān)系統(tǒng)維護(hù)人員“磁盤空間不足,請(qǐng)及時(shí)清理”。系統(tǒng)維護(hù)人員收到消息后即可立即著手清理磁盤,真正做到防患于未然。
三、結(jié) 論
此數(shù)據(jù)備份方案配置簡(jiǎn)單實(shí)用,備份過(guò)程清晰,方案一經(jīng)部署,維護(hù)簡(jiǎn)單,所有備份過(guò)程均自動(dòng)完成,無(wú)需過(guò)多的人工干預(yù)�?梢詫⑾到y(tǒng)管理員從以往瑣碎的循環(huán)作業(yè)中解放出來(lái)。同時(shí),自動(dòng)對(duì)磁盤剩余空間的監(jiān)控以及與AM的有效集成,為順利完成數(shù)據(jù)備份提供了有力的保障。
到目前為止,該數(shù)據(jù)備份方案在捍衛(wèi)企業(yè)ERP數(shù)據(jù)方面仍發(fā)揮著重要作用。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標(biāo)題:有效捍衛(wèi)ERP數(shù)據(jù)安全
本文網(wǎng)址:http://www.guhuozai8.cn/html/consultation/1083951680.html