宋玉泉
(天津市冶金科技信息研究所,天津300050)
天津市冶金集團(控股)有限公司(以下簡稱集團)自動化辦公系統(tǒng)開發(fā)于2001年,分兩期進行,分別采用了asp和.net兩種不同構(gòu)架,操作系統(tǒng)平臺也經(jīng)歷了Win2000Server到Win2003Server的過渡。系統(tǒng)設(shè)計之初,網(wǎng)絡(luò)環(huán)境相對比較簡單,沒有木馬、惡意程序、黑客等泛濫的狀況,整體系統(tǒng)的網(wǎng)絡(luò)安全環(huán)節(jié)設(shè)計的比較薄弱。系統(tǒng)的開發(fā)平臺為較早版本的VisualStudio集成開發(fā)平臺,使用的.net版本也較舊,造成了系統(tǒng)運行平臺無法更新,甚至Win2003Server的部分補丁都無法進行更新,否則就會造成系統(tǒng)運行故障。針對以上問題,提出了使用虛擬化技術(shù)實現(xiàn)搭建一臺安全性高的物理主機的方案,在其之上使用V Mware Workstation虛擬化軟件系統(tǒng)建立一臺We b服務(wù)器,優(yōu)化系統(tǒng)服務(wù),提高系統(tǒng)運行效率,以此來實現(xiàn)辦公自動化系統(tǒng)安全、運行效率和兼容性方面的提升改造。
隨著互聯(lián)網(wǎng)在信息化社會中的廣泛應(yīng)用,網(wǎng)絡(luò)安全越發(fā)成為企業(yè)信息化項目后期的維護重點,本單位信息化系統(tǒng)也不例外。近兩年來,集團網(wǎng)絡(luò)安全事件發(fā)生率逐年上升,盡管每次在故障發(fā)生時都能做到及時處理,減少宕機時間,但都沒能從根本上解決問題。
辦公信息化系統(tǒng)存在的問題如下:
(1)開發(fā)應(yīng)用平臺處于2001年時的軟件水平。
(2)系統(tǒng)開發(fā)語言與現(xiàn)如今使用的高版本瀏覽器存在不兼容性。
(3)操作系統(tǒng)為了保持信息化系統(tǒng)的正常運行,不能更新安全補丁。
這些問題綜合起來,會導(dǎo)致集團信息化系統(tǒng)頻繁遭到黑客攻擊和入侵,同時在辦公計算機不斷更新的形勢下,使用新版本瀏覽器瀏覽系統(tǒng)時會導(dǎo)致部分功能無法正常運行。
對于以上問題,筆者進行了長期地觀察、記錄、測試等工作,分別找到了這些問題產(chǎn)生的原因,并制定了相對應(yīng)的解決方案。
項目實施之初,對于以上問題,提出了第一套解決方案:
在網(wǎng)絡(luò)安全方面,計劃購買企業(yè)級安全防火墻,解決黑客入侵的問題。在辦公系統(tǒng)方面,聯(lián)系了當(dāng)時的開發(fā)人員,計劃與其共同研究重寫符合高版本平臺的代碼,安裝現(xiàn)今最高版本的操作系統(tǒng),從整體上解決所存在的問題。但是經(jīng)過研究分析之后,此方案存在以下問題:設(shè)備及軟件花費數(shù)額巨大;系統(tǒng)代碼重寫難度太高??傮w的解決成本過高,不符合現(xiàn)實情況,所以轉(zhuǎn)變思路著手定制第二套解決方案。
現(xiàn)有的整套系統(tǒng)在功能使用上并不存在硬傷,系統(tǒng)功能和性能完全可以滿足目前的辦公自動化的需求,若將其棄用將非常可惜,同時會造成多次開發(fā),浪費人力和物力。第二套解決方案以實用為本,減少改造經(jīng)費的原則,進行了大量的技術(shù)資料查閱及測試工作。針對各個系統(tǒng)缺陷,最終將方案確定為:在現(xiàn)有服務(wù)器上進行虛擬化云部署,把原有的操作系統(tǒng)及信息系統(tǒng)部署到現(xiàn)有服務(wù)器的高版本操作系統(tǒng)上,使原有系統(tǒng)能夠安全地被包裹在一個瘦服務(wù)器的外殼之中。實現(xiàn)此項技術(shù)使用了“V Mware”虛擬化軟件[1],此項技術(shù)目前為世界上較為先進的虛擬化解決方案之一。經(jīng)過測試,原服務(wù)器可以滿足虛擬化系統(tǒng)的運行,節(jié)省了購買設(shè)備和重寫代碼的兩項費用。在原代碼不能滿足高版本瀏覽器的問題上,對原代碼進行了部分重寫,縮小了修改范圍,最終的重寫行數(shù)大約為300行,涉及7個程序文檔。
在對系統(tǒng)進行部署前,要對現(xiàn)有系統(tǒng)進行完全的數(shù)據(jù)備份,包括數(shù)據(jù)庫、文檔、源碼等系統(tǒng)必要數(shù)據(jù)。在對數(shù)據(jù)進行備份時使用GHOST軟件,可對現(xiàn)有硬盤分區(qū)做完全鏡像,生成G H O的鏡像文件,便于保存和提取,待系統(tǒng)恢復(fù)時可完全復(fù)原原有數(shù)據(jù)。
對于SQLServer的數(shù)據(jù)庫文件,采取的是系統(tǒng)自帶的維護計劃進行完全備份。備份之后把數(shù)據(jù)文件一同鏡像到GHOST的備份文件當(dāng)中。同時復(fù)制出現(xiàn)有的MDF和LDF數(shù)據(jù)庫文件[2],這兩個文件在系統(tǒng)恢復(fù)時可以直接使用SQLServer中的附加數(shù)據(jù)庫的操作進行數(shù)據(jù)恢復(fù)。
在安裝虛擬化系統(tǒng)之前,需要對服務(wù)器的硬盤空間進行重新分配。至少需要規(guī)劃出3個存儲區(qū)域,分別是:物理主機的系統(tǒng)分區(qū)、虛擬主機數(shù)據(jù)文件的存儲分區(qū)、數(shù)據(jù)庫以及辦公系統(tǒng)數(shù)據(jù)的存儲區(qū)域。其中需要注意的是,物理主機能夠滿足Wi ndowsServer2003sp4的運行即可,虛擬主機的存儲分區(qū)需要預(yù)留出一定的賦予空間,因為虛擬主機在運行過程中需要一定的多余空間來進行系統(tǒng)緩存,同時虛擬主機的物理內(nèi)存也是建立在物理主機的磁盤空間上的,所以要預(yù)留出一定的空間。
規(guī)劃好存儲空間后進行系統(tǒng)的安裝,安裝和部署[3]按照圖1的順序進行。
項目在進行當(dāng)中也遇到了不少的技術(shù)難題。
首先是虛擬化系統(tǒng)的部署問題,方案中需要應(yīng)用物理磁盤共享功能,原因是辦公系統(tǒng)的程序以及數(shù)據(jù)文件存放在物理主機的磁盤分區(qū)中??紤]到數(shù)據(jù)的安全性,沒有放入到虛擬主機的磁盤中,當(dāng)虛擬主機崩潰時數(shù)據(jù)能夠及時導(dǎo)出或讓備用主機使用。因此在虛擬主機上就需要配置物理主機的物理磁盤。在最初項目選型時,還考慮了其他幾個虛擬化軟件,包括Microsoft Virtual PC和Virtual Box。由于必須啟用虛擬機下掛載物理磁盤,所以最終選定了V Mware軟件。目前,只支持在Windows 7以下的服務(wù)器系統(tǒng)上啟用掛載物理磁盤,如果操作系統(tǒng)不符合,在配置V Mware時報錯,無法正常運行虛擬機系統(tǒng)。
其次是信息系統(tǒng)代碼的重寫,由于辦公系統(tǒng)開發(fā)較早,但其所具備的功能非常符合集團辦公的需求,為了節(jié)約開發(fā)費用,只能實行部分重寫的方案,這就需要通讀、分析系統(tǒng)的全部1000多個程序文檔代碼,找到存在問題的文檔,分析出有問題的代碼行。同時,原有的代碼開發(fā)較早,存在著格式不規(guī)范、多種腳本語言交錯編寫的問題,加大了讀代碼的難度。筆者分析之后,找到了問題所在,最終完成了代碼的升級改寫。
圖1 系統(tǒng)部署流程圖
被重寫的部分關(guān)鍵代碼如下:
其中多個程序文檔的在線文本編輯器在I E 7版本瀏覽器以上無法正常顯示,只顯示出白頁。根據(jù)記錄分析出在線文本編輯器的部分J S代碼使用的語法過于陳舊,致使新版本瀏覽器無法運行。針對此處問題,對原有代碼進行了重寫,順利地解決了該問題。
此項目涉及技術(shù)范圍廣,解決難度大,歷時3個月完成了所有的軟件部署、代碼重寫及測試等工作。目前已經(jīng)實施應(yīng)用,暫無部門反映存在問題,順利地完成了該項目。
同時,項目也存在著一定的不足,本次的提升改造是在原有網(wǎng)絡(luò)、設(shè)備的基礎(chǔ)之上進行的,在老服務(wù)器上安裝運行虛擬機雖解決了安全、兼容性的問題,但一定程度上加重了服務(wù)器的負(fù)載,在工作的高峰時段會出現(xiàn)間斷性響應(yīng)慢的情況。針對這個現(xiàn)象,進行了服務(wù)器系統(tǒng)以及I I S的配置優(yōu)化,使該問題得到了一定的緩解。要想徹底解決該問題,還需提升服務(wù)器的運行性能,這需要在以后的改造中繼續(xù)進行。
此次技術(shù)提升改造實現(xiàn)了“零花費”,共為集團節(jié)約了設(shè)備及開發(fā)費用近30萬元。同時,此項目為今后集團的信息化指出了“虛擬化”的發(fā)展道路。
[1]360百科.V Mware[E B/O L].http://baike.so.com/doc/3037074.html.
[2]微軟Technet.在SQLServer中備份和還原數(shù)據(jù)庫[E B/O L].http://technet.micros of tcomzhcn/library/ms187048(S Q L.90).aspx.
[3]V Mware架構(gòu)及虛擬機系統(tǒng)安裝的實現(xiàn)[J].電腦編程技巧與維護,2008(15):103-104.