王冠中 徐鹂 邱安波
摘要针对高校公共机房软件维护的特点,讨论了PC机软件系统整体复制和应用软件批量安装的效率问题,给出了解决万法。实践表明,充分利用基于组播模式的数据传输技未可以大幅度节省网络复制的时同,灵活运用一些自动化脚本技术,也能够极大地提高软件的批量安装效率。
关键词:公共机屠,软件维护,组播,效率
中图分类号TP308文献标志码A文章编号1006-8228(2012)01-10-04
0引言
高校公共机房计算机设备使用的频率很高,容易出现各类软硬件故障,甚至造成系统崩溃。在这些故障中,有相当一部分是最后需要重新安装软件来修复的。另外,高校公共机房是面向全校提供服务的,通常会遇到一些临时的软件安装任务(如计算机等级考试软件等),往往装机的台数很多,时间紧。因此,如何尽快满足教学需求,提高软件系统维护效率,是机房管理员必须考虑的问题。公共机房的软件维护,包括计算机系统中的软件安装和恢复。对于批量的计算机系统软件全新安装,目前通常采用网络传输的方式实现计算机硬盘上的系统复制,如网络对拷(这里指固化在一些主板、网卡或还原卡ROM中的代码)或者网络克隆(也称网刻,这里指独立软件形式的代码)。如果只是在计算机系统上新装软件,此时不必全部重新传输,可以采用另一种方式增量安装。针对全新安装和增量安装,笔者总结了多年的机房软件系统维护经验和体会,撰稿以供探讨。
1全新安装
目前在公共机房管理中比较常用的全新安装方式有网络对拷和网络克隆两种。
1.1网络对拷
网络对拷,是指将大量数据在局域网内的不同PC终端之间作高速的传输和接收,其目的是整体复制PC机上的软件系统。网络对拷的功能代码嵌入在机器的ROM中,使用前须在各终端硬盘上安装驱动程序。目前,在一些品牌PC机中,都自带有网络对拷功能(如联想和惠普等,称为网络同传)。有些硬盘保护卡(还原卡)或兼其还原卡功能的网卡也带有网络对拷功能(如海光蓝卡等)。
在批量维护系统时,选定一台PC机(发送端)进行初始安装,然后通过网络,将数据发送至局域网内的其他PC机(接收端),可以进行—对一或一对多的数据传输。
网络对拷方式一般都与硬盘保护(还原)方式相伴。通常硬盘保护(还原)机制的代码也固化在ROM中。在网络对拷前后,一般都需要对硬盘解保护或加保护,这种操作在一定程度上还是比较繁琐的。假如是PCI插卡,也容易引起松动,从而出现保护失效的现象。
1.2网络克隆
网络克隆和网络对拷相似,也是一种对批量PC机进行数据传输的方式。网络克隆软件以独立的软件形式存在,操作灵活,算法高效。网络克隆过程按CIS模式进行,服务端等到所有客户端连接后实施数据传输。数据传输模式有三种·单点传送、多点传送、直接广播,分别对应于克隆广播的三个选项单播、组播、广播。
依据客户端机器是否支持PXE协议,网络克隆客户端有两类引导方式远程引导和本地引导。PXE(Pre-boot ExecutionEnvtronment,预启动执行环境)是一种远程引导技术,它可以使计算机通过网络启动。当计算机引导时,PXE客户端从眼务端上下载引导程序到本地运行,免去了本地加载引导程序的麻烦。
基于PXE协议的网络克隆一般过程是服务器启动后,客户端首先从DHCP(DynaIrac Host ConfiguraUon Protocol动态主机配置协议)服务得到动态IP地址,再从TFFP(Trivial FileTransfer Protocol,简单文件传输协议)服务得到引导程序,进而由Ghost软件的数据传输服务实现克隆。
如果客户端机器不具备PXE功能,则需要考虑本地引导,同时需要考虑由此产生的效率问题。
1.3方法讨论
1.3.1基于组播模式的网络克隆
网络克隆需要事先准备样机系统的映像文件,而网络对拷则不必这样做。但是,网络对拷方案有比较明显的缺点。
1、受制于硬件型号。由于硬件的维修和更换,同—个机房的机器配置可能有好几种,对于异种机器(主板或硬盘不同)之间的系统复制,网络对拷就显得无能为力。
2、网络对拷的速度随着PC机数量的增加而减慢。
3、还原卡型的网络对拷方式还受制于PCI插卡的稳定陛,如出现插卡松动的情况,就会引起传送失败。
对于批量传输整体系统,在网络克隆实践中通常采用组播传输模式。组播也称多播,是一种单个发送者对多个接收者的通信技术,组播过程如图1所示,发送端只需发送一份数据,所有加入组的接收端都能得到同一份数据,大大节约了网络带宽,减少了发送端服务器的负荷。因此,组播模式的网络克隆能够节省传输时间。
笔者做过统计,利用网络对拷功能,复制一台机器至少需--要30分钟,复制一个教室89台机器至少需要3个小时,而网络克隆复制一台单机只要5分钟左右,复制一个教室89台机器只要45分钟左右,分别是前者的6倍和4倍。
1.3.2无PXE功能的引导
在运用网络克隆技术进行机房的日常运维时,还应考虑PC机系统崩溃如何迅速恢复的问题,其中关于无PXE功能引导的问题需要特别关注。
早期的计算机一般不具备PXE功能,想要实现网络克隆,就必须解决本地启动的效率问题。如果能够利用同传系统或某些软件的多重引导机制,让机器从硬盘的某一个分区启动(而不是移动介质),就有可能解决效率问题(也不必每台机器插拔介质)。
例如,海光蓝卡可以设置多重引导功能。如果新建一个DOS引导分区,加入下面一段引导程序Autoexec bat,可以实现PXE网络同样的功能。
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检测网卡,加载驱动(与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创建映像,会话名称力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分区的net目录中存放有网刻工具客户端的程序文件。DOS系统的配置文件config sys中要包含如下设置
DEVICE= etpcrdet dos
检测网卡
DEVICE= etprotman dos/1 et协议管理
DEVICE= etdls_pkt dos加载驱动
DEVICE=ANSI SYS/X键盘模拟
本文给出的是笔者前些年用过的方法,迄今依然有实际参考价值。
1.3.3收隼和修改IP地址
公共机房的IP地址一般为静态指定,网络克隆工具本身并不会自动收集和修改学生机的IP地址,在以前的系统维护过程中,都是采用人工批量修改方式,比较费时,也容易指定成重复IP地址。
为了使克隆后的系统能够自动修改IP地址,还需要在制作样机系统镜像文件之前先收集MAC-IP地址对照表,对此可以利用免费的IP扫描软件,这类工具比较多,笔者在实际工作中使用了HNHV-IPG-30软件,其操作方面如图2所示。操作流程为IP扫描设置>全(半)自动参数设置_>开始扫描_>配置文件一>退出程序的流程,其中点击[配置文件]按钮生成hIlllv imm文件。
IP扫描软件生成的地址格式可能不符合后面的IP修改软件的要求,需要作格式转换。例如可以写—个SCKrHp bat批处理程序,从hnhv mi中提取出MAC-IP地址对照表mac im,为制作样机系统镜像文件时提供地址信息。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自动修改仅对网络连接的“本地连接”有效。
2增量安装
由于教学计划和需求的变化,教学应用软件也需要更换,完全利用网络克隆技术来应对临时变化的安装任务,并不是时效性最佳方式。新版的网络对拷功能提供了增量同传模式,可以解决这个问题,但同样有前文讨论过的缺点。笔者通过不断摸索和测试,在网络克隆的基础上,利用文件组播软件、批处理、定制安装等手段,缩短了文件传输的时间,提高了软件安装的自动化程度。
2.1文件组播软件
公共机房通常采用电子教室软件来教学,因此,可以利用电子教室软件来解决增量文件的传输和分发。但是这种方式有比较明显的缺点传输大容量文件时,传输速度很慢,而且中途若有一台电脑没传成功,会导致其他电脑也要重传一次,效率很低。利用文件组播软件来代替电子教室的文件分发功能,就能很好地解决上述问题。
文件组播软件是用于局域网文件的“一对多”批量传输软件,基于UDP协议,能有效提高传输速度,并减轻服务器负载(利用组播模式进行的数据传输,我们已经在网络克隆中见识过了)。它的特点是可以真正同时地进行文件传送,学生机越多,总体速度就越快,适合于大文件的批量传输。
笔者测试过,利用组播软件传输文件,在同一机房条件下,504MB大的文件用电子教室的文件传输到100台学生电脑需要16分钟,而用组播软件只需2分34秒时间,两者相差6倍。组播传输大大缩短了传输时间,而且中间即使有几台传输失败,也不会影响其他电脑的传输。
“HOU文件多播”是一款不错的组播软件(作者网页见http//wwwyryznet)。笔者早前使用时,一次只能选择一个文件进行传输,为此还写了一段AutoIt代码,使其一次可以选多个文件进行传输(图4)。在撰写本文时,HOU文件多播软件已经出了lob版,支持文件夹传输,解决了这个问题。组播软件通过发送端(DMCSender exe)和接收端(DMCRece]ve exe)共同配合实现文件或文件夹的传输。
2.2定制安装
在机房中利用组播软件来分发应用软件的安装包到PC终端,可以大幅度节约安装过程中传输环节所用的时间。但是,在终端上进行Windows应用程序的安装时,很多步骤需要逐台地进行人机交互操作,也很费时。如果能够定制软件的安装,让软件的安装过程自动化,就可以结合组播软件的分发,实现整个机房软件的增量安装。AutoIt可以完成这样的工作。它是一个设计用于Wmdows GUI中进行自动化操作的免费软件,能够进行流程控制,通过摸拟键盘按键、鼠标移动和对控件操作来实现自动化任务。
例如,安装计算机等级考试的考生端软件,其图形用户界面GUI常常会出现[下一步]、[安装]、[完成]等操作,需要人机交互。对此可以定制一段Autolt代码来自动化安装过程
Opt(“WmTitleMatchMode”.2)
Run(“ddJksazb一级考生端exe”)
等待窗口生效,点击[下一步]
WmWaltActtve(“一级考生瑞”,“一级考生瑞”)
ControlChck(“一级考生瑞”。“一级考生瑞”,”Bunonl”)
等待窗口生效,占击[安装]
WmWattActtve(“一级考生端”,“开始安装”)
ControICl~ck(“一级考生端”,“开始安装”,”Buttonl”)
#等待窗口生效,点击[完成]
WmWa~tActlve(“一级考生端”。“成功地簧装”)
ControlCItck(“一级考生瑞”,“成功地安装”,“Buttom1”)
编写好代码后,用AutoIt自带的编译工具将程序代码编译成可执行文件。
在后续的安装中,利用电子教室软件的“文件分发”和“远程命令”功能,远程运行定制的安装程序,就能完成自动安装过程了。
3结束语
我们看到,在公共机房的软件系统维护中,数据传输方面花费的时间成本是相当多的,充分利用基于组播协议的传输技术可以大幅度节省时间,提高传输效率。此外,在应用软件的安装方面,灵活运用一些自动化脚本技术,也能够极大地提高软件的批量安装效率。