王冠中 徐鸝 邱安波
摘要針對高校公共機房軟件維護的特點,討論了PC機軟件系統(tǒng)整體復制和應用軟件批量安裝的效率問題,給出了解決萬法。實踐表明,充分利用基于組播模式的數(shù)據(jù)傳輸技未可以大幅度節(jié)省網(wǎng)絡復制的時同,靈活運用一些自動化腳本技術(shù),也能夠極大地提高軟件的批量安裝效率。
關鍵詞:公共機屠,軟件維護,組播,效率
中圖分類號TP308文獻標志碼A文章編號1006-8228(2012)01-10-04
0引言
高校公共機房計算機設備使用的頻率很高,容易出現(xiàn)各類軟硬件故障,甚至造成系統(tǒng)崩潰。在這些故障中,有相當一部分是最后需要重新安裝軟件來修復的。另外,高校公共機房是面向全校提供服務的,通常會遇到一些臨時的軟件安裝任務(如計算機等級考試軟件等),往往裝機的臺數(shù)很多,時間緊。因此,如何盡快滿足教學需求,提高軟件系統(tǒng)維護效率,是機房管理員必須考慮的問題。公共機房的軟件維護,包括計算機系統(tǒng)中的軟件安裝和恢復。對于批量的計算機系統(tǒng)軟件全新安裝,目前通常采用網(wǎng)絡傳輸?shù)姆绞綄崿F(xiàn)計算機硬盤上的系統(tǒng)復制,如網(wǎng)絡對拷(這里指固化在一些主板、網(wǎng)卡或還原卡ROM中的代碼)或者網(wǎng)絡克隆(也稱網(wǎng)刻,這里指獨立軟件形式的代碼)。如果只是在計算機系統(tǒng)上新裝軟件,此時不必全部重新傳輸,可以采用另一種方式增量安裝。針對全新安裝和增量安裝,筆者總結(jié)了多年的機房軟件系統(tǒng)維護經(jīng)驗和體會,撰稿以供探討。
1全新安裝
目前在公共機房管理中比較常用的全新安裝方式有網(wǎng)絡對拷和網(wǎng)絡克隆兩種。
1.1網(wǎng)絡對拷
網(wǎng)絡對拷,是指將大量數(shù)據(jù)在局域網(wǎng)內(nèi)的不同PC終端之間作高速的傳輸和接收,其目的是整體復制PC機上的軟件系統(tǒng)。網(wǎng)絡對拷的功能代碼嵌入在機器的ROM中,使用前須在各終端硬盤上安裝驅(qū)動程序。目前,在一些品牌PC機中,都自帶有網(wǎng)絡對拷功能(如聯(lián)想和惠普等,稱為網(wǎng)絡同傳)。有些硬盤保護卡(還原卡)或兼其還原卡功能的網(wǎng)卡也帶有網(wǎng)絡對拷功能(如海光藍卡等)。
在批量維護系統(tǒng)時,選定一臺PC機(發(fā)送端)進行初始安裝,然后通過網(wǎng)絡,將數(shù)據(jù)發(fā)送至局域網(wǎng)內(nèi)的其他PC機(接收端),可以進行—對一或一對多的數(shù)據(jù)傳輸。
網(wǎng)絡對拷方式一般都與硬盤保護(還原)方式相伴。通常硬盤保護(還原)機制的代碼也固化在ROM中。在網(wǎng)絡對拷前后,一般都需要對硬盤解保護或加保護,這種操作在一定程度上還是比較繁瑣的。假如是PCI插卡,也容易引起松動,從而出現(xiàn)保護失效的現(xiàn)象。
1.2網(wǎng)絡克隆
網(wǎng)絡克隆和網(wǎng)絡對拷相似,也是一種對批量PC機進行數(shù)據(jù)傳輸?shù)姆绞?。網(wǎng)絡克隆軟件以獨立的軟件形式存在,操作靈活,算法高效。網(wǎng)絡克隆過程按CIS模式進行,服務端等到所有客戶端連接后實施數(shù)據(jù)傳輸。數(shù)據(jù)傳輸模式有三種·單點傳送、多點傳送、直接廣播,分別對應于克隆廣播的三個選項單播、組播、廣播。
依據(jù)客戶端機器是否支持PXE協(xié)議,網(wǎng)絡克隆客戶端有兩類引導方式遠程引導和本地引導。PXE(Pre-boot ExecutionEnvtronment,預啟動執(zhí)行環(huán)境)是一種遠程引導技術(shù),它可以使計算機通過網(wǎng)絡啟動。當計算機引導時,PXE客戶端從眼務端上下載引導程序到本地運行,免去了本地加載引導程序的麻煩。
基于PXE協(xié)議的網(wǎng)絡克隆一般過程是服務器啟動后,客戶端首先從DHCP(DynaIrac Host ConfiguraUon Protocol動態(tài)主機配置協(xié)議)服務得到動態(tài)IP地址,再從TFFP(Trivial FileTransfer Protocol,簡單文件傳輸協(xié)議)服務得到引導程序,進而由Ghost軟件的數(shù)據(jù)傳輸服務實現(xiàn)克隆。
如果客戶端機器不具備PXE功能,則需要考慮本地引導,同時需要考慮由此產(chǎn)生的效率問題。
1.3方法討論
1.3.1基于組播模式的網(wǎng)絡克隆
網(wǎng)絡克隆需要事先準備樣機系統(tǒng)的映像文件,而網(wǎng)絡對拷則不必這樣做。但是,網(wǎng)絡對拷方案有比較明顯的缺點。
1、受制于硬件型號。由于硬件的維修和更換,同—個機房的機器配置可能有好幾種,對于異種機器(主板或硬盤不同)之間的系統(tǒng)復制,網(wǎng)絡對拷就顯得無能為力。
2、網(wǎng)絡對拷的速度隨著PC機數(shù)量的增加而減慢。
3、還原卡型的網(wǎng)絡對拷方式還受制于PCI插卡的穩(wěn)定陛,如出現(xiàn)插卡松動的情況,就會引起傳送失敗。
對于批量傳輸整體系統(tǒng),在網(wǎng)絡克隆實踐中通常采用組播傳輸模式。組播也稱多播,是一種單個發(fā)送者對多個接收者的通信技術(shù),組播過程如圖1所示,發(fā)送端只需發(fā)送一份數(shù)據(jù),所有加入組的接收端都能得到同一份數(shù)據(jù),大大節(jié)約了網(wǎng)絡帶寬,減少了發(fā)送端服務器的負荷。因此,組播模式的網(wǎng)絡克隆能夠節(jié)省傳輸時間。
筆者做過統(tǒng)計,利用網(wǎng)絡對拷功能,復制一臺機器至少需--要30分鐘,復制一個教室89臺機器至少需要3個小時,而網(wǎng)絡克隆復制一臺單機只要5分鐘左右,復制一個教室89臺機器只要45分鐘左右,分別是前者的6倍和4倍。
1.3.2無PXE功能的引導
在運用網(wǎng)絡克隆技術(shù)進行機房的日常運維時,還應考慮PC機系統(tǒng)崩潰如何迅速恢復的問題,其中關于無PXE功能引導的問題需要特別關注。
早期的計算機一般不具備PXE功能,想要實現(xiàn)網(wǎng)絡克隆,就必須解決本地啟動的效率問題。如果能夠利用同傳系統(tǒng)或某些軟件的多重引導機制,讓機器從硬盤的某一個分區(qū)啟動(而不是移動介質(zhì)),就有可能解決效率問題(也不必每臺機器插拔介質(zhì))。
例如,海光藍卡可以設置多重引導功能。如果新建一個DOS引導分區(qū),加入下面一段引導程序Autoexec bat,可以實現(xiàn)PXE網(wǎng)絡同樣的功能。
Rem NetGhost Tor DHCP Cllent,Verslon 8 11 20
@ECHO OFF
PROMPT$P$G
SET DIRCMD=/4
DOSKEY>nul
SMARTDRV
MOUSE>nul
ZENO
ECHO
BREAK ON
SET TZ=GHO-08 00
call etdolt bat檢測網(wǎng)卡,加載驅(qū)動(與config sys配合)
et etblnd com
echo L13,yp鍵盤模擬,回車歌鈦“y”
rem set/at=%rendom%%%20+1,not supported under dos
71
aset t=random(20)
隨機延時,錯時連接服務
choice Restore the image to dmk mIcyn/ty,%t%,n
echo[13,13p
echo
lf errodevel 2 goto end
echo Loading
cdmenu創(chuàng)建映像,會話名稱力abc
Ghost—clone,mode=prestore,src=@MCabc,dst=1 1-sure
cd、
echo[13,yp
REM CHOICE/TY,60/N>NUL,wart for a mmute
CHOICE Restart the computer ,/c yn/n
echo L13,13p
IF ERRORLEVEL 2 GOTO END
SHUTDOWN R
END
ECHO Now you are ln MS-DOS 7 10 prompt TypeHELP
for help
ECHO
DOS分區(qū)的net目錄中存放有網(wǎng)刻工具客戶端的程序文件。DOS系統(tǒng)的配置文件config sys中要包含如下設置
DEVICE= etpcrdet dos
檢測網(wǎng)卡
DEVICE= etprotman dos/1 et協(xié)議管理
DEVICE= etdls_pkt dos加載驅(qū)動
DEVICE=ANSI SYS/X鍵盤模擬
本文給出的是筆者前些年用過的方法,迄今依然有實際參考價值。
1.3.3收隼和修改IP地址
公共機房的IP地址一般為靜態(tài)指定,網(wǎng)絡克隆工具本身并不會自動收集和修改學生機的IP地址,在以前的系統(tǒng)維護過程中,都是采用人工批量修改方式,比較費時,也容易指定成重復IP地址。
為了使克隆后的系統(tǒng)能夠自動修改IP地址,還需要在制作樣機系統(tǒng)鏡像文件之前先收集MAC-IP地址對照表,對此可以利用免費的IP掃描軟件,這類工具比較多,筆者在實際工作中使用了HNHV-IPG-30軟件,其操作方面如圖2所示。操作流程為IP掃描設置>全(半)自動參數(shù)設置_>開始掃描_>配置文件一>退出程序的流程,其中點擊[配置文件]按鈕生成hIlllv imm文件。
IP掃描軟件生成的地址格式可能不符合后面的IP修改軟件的要求,需要作格式轉(zhuǎn)換。例如可以寫—個SCKrHp bat批處理程序,從hnhv mi中提取出MAC-IP地址對照表mac im,為制作樣機系統(tǒng)鏡像文件時提供地址信息。scamp bat代碼如下
@echo off
setlocal enabledelayedexpanslon
hnhv-IPG-30
if not exIsl hnhvlnl f
@echo掃描收集來的地址配置又件不存在!
@echo
pause
goto end
findstr“一一一一一”hnhvml>pcmfotxt
@echo[Config]>address txt
@echo Gateway=>>address txt
@echo Gwmetrlc=0>>address txt
@echo Mask=255 255 255 0>>address txt
@echo WorkGroup=Workgroup>>address txt
@echo[Ilsq>>address txt
for/f”tokens=1-3 delims==”%% ln(pcmfo txt)do(
set m=%%I
set‘m=m=l”
@echomI=%。/oJ,%%k>>address txl
lf exist maclnI f
copy macInl mac bak
del macmI
)
Fen address txt macmf
del pclnfo txt
end
利用IP修改工具(可以使用免費的Modilp軟件)的操作步驟為,如圖3所示,鉤選自動修改、修改后重啟,點擊[添加至啟動項],最后退出操作流程(下一步就是制作鏡像文件了)。注意IP自動修改僅對網(wǎng)絡連接的“本地連接”有效。
2增量安裝
由于教學計劃和需求的變化,教學應用軟件也需要更換,完全利用網(wǎng)絡克隆技術(shù)來應對臨時變化的安裝任務,并不是時效性最佳方式。新版的網(wǎng)絡對拷功能提供了增量同傳模式,可以解決這個問題,但同樣有前文討論過的缺點。筆者通過不斷摸索和測試,在網(wǎng)絡克隆的基礎上,利用文件組播軟件、批處理、定制安裝等手段,縮短了文件傳輸?shù)臅r間,提高了軟件安裝的自動化程度。
2.1文件組播軟件
公共機房通常采用電子教室軟件來教學,因此,可以利用電子教室軟件來解決增量文件的傳輸和分發(fā)。但是這種方式有比較明顯的缺點傳輸大容量文件時,傳輸速度很慢,而且中途若有一臺電腦沒傳成功,會導致其他電腦也要重傳一次,效率很低。利用文件組播軟件來代替電子教室的文件分發(fā)功能,就能很好地解決上述問題。
文件組播軟件是用于局域網(wǎng)文件的“一對多”批量傳輸軟件,基于UDP協(xié)議,能有效提高傳輸速度,并減輕服務器負載(利用組播模式進行的數(shù)據(jù)傳輸,我們已經(jīng)在網(wǎng)絡克隆中見識過了)。它的特點是可以真正同時地進行文件傳送,學生機越多,總體速度就越快,適合于大文件的批量傳輸。
筆者測試過,利用組播軟件傳輸文件,在同一機房條件下,504MB大的文件用電子教室的文件傳輸?shù)?00臺學生電腦需要16分鐘,而用組播軟件只需2分34秒時間,兩者相差6倍。組播傳輸大大縮短了傳輸時間,而且中間即使有幾臺傳輸失敗,也不會影響其他電腦的傳輸。
“HOU文件多播”是一款不錯的組播軟件(作者網(wǎng)頁見http//wwwyryznet)。筆者早前使用時,一次只能選擇一個文件進行傳輸,為此還寫了一段AutoIt代碼,使其一次可以選多個文件進行傳輸(圖4)。在撰寫本文時,HOU文件多播軟件已經(jīng)出了lob版,支持文件夾傳輸,解決了這個問題。組播軟件通過發(fā)送端(DMCSender exe)和接收端(DMCRece]ve exe)共同配合實現(xiàn)文件或文件夾的傳輸。
2.2定制安裝
在機房中利用組播軟件來分發(fā)應用軟件的安裝包到PC終端,可以大幅度節(jié)約安裝過程中傳輸環(huán)節(jié)所用的時間。但是,在終端上進行Windows應用程序的安裝時,很多步驟需要逐臺地進行人機交互操作,也很費時。如果能夠定制軟件的安裝,讓軟件的安裝過程自動化,就可以結(jié)合組播軟件的分發(fā),實現(xiàn)整個機房軟件的增量安裝。AutoIt可以完成這樣的工作。它是一個設計用于Wmdows GUI中進行自動化操作的免費軟件,能夠進行流程控制,通過摸擬鍵盤按鍵、鼠標移動和對控件操作來實現(xiàn)自動化任務。
例如,安裝計算機等級考試的考生端軟件,其圖形用戶界面GUI常常會出現(xiàn)[下一步]、[安裝]、[完成]等操作,需要人機交互。對此可以定制一段Autolt代碼來自動化安裝過程
Opt(“WmTitleMatchMode”.2)
Run(“ddJksazb一級考生端exe”)
等待窗口生效,點擊[下一步]
WmWaltActtve(“一級考生瑞”,“一級考生瑞”)
ControlChck(“一級考生瑞”?!耙患壙忌稹?,”Bunonl”)
等待窗口生效,占擊[安裝]
WmWattActtve(“一級考生端”,“開始安裝”)
ControICl~ck(“一級考生端”,“開始安裝”,”Buttonl”)
#等待窗口生效,點擊[完成]
WmWa~tActlve(“一級考生端”?!俺晒Φ鼗裳b”)
ControlCItck(“一級考生瑞”,“成功地安裝”,“Buttom1”)
編寫好代碼后,用AutoIt自帶的編譯工具將程序代碼編譯成可執(zhí)行文件。
在后續(xù)的安裝中,利用電子教室軟件的“文件分發(fā)”和“遠程命令”功能,遠程運行定制的安裝程序,就能完成自動安裝過程了。
3結(jié)束語
我們看到,在公共機房的軟件系統(tǒng)維護中,數(shù)據(jù)傳輸方面花費的時間成本是相當多的,充分利用基于組播協(xié)議的傳輸技術(shù)可以大幅度節(jié)省時間,提高傳輸效率。此外,在應用軟件的安裝方面,靈活運用一些自動化腳本技術(shù),也能夠極大地提高軟件的批量安裝效率。