对Ghost软件进行外壳扩展实现网络多播克隆Word文档格式.docx
《对Ghost软件进行外壳扩展实现网络多播克隆Word文档格式.docx》由会员分享,可在线阅读,更多相关《对Ghost软件进行外壳扩展实现网络多播克隆Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
![对Ghost软件进行外壳扩展实现网络多播克隆Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/7/261f597b-6a54-4593-9119-e9acd032017b/261f597b-6a54-4593-9119-e9acd032017b1.gif)
Thispaperanalyzesthestartprocessandcommand-lineformatintheGhostsoftwarecloningprocess,makesashellextensionoftheGhostsoftwarebyusingtheCprogramminglanguage.Throughtheapplicationofsoftwareatbootstage,TheGhostsetupandoperatingprocedureisautomaticallysettosimplifytheGhostsoftware,makeitpossibletorestorelargenumbersofcomputersystemrapidlyinaLAN(LocalAreanetwork).Thearticlealsointroducetheclientuniversalbootdiskproduction,andtheimplementationprocessofthenetworkmulticastcloning.
Keywords:
Ghost;
multicast;
clone;
systemrestore
Ghost是著名的硬盘复制备份工具,具有硬盘克隆、硬盘分区备份、系统安装等功能。
Ghost一对多的克隆方式,可通过TCP/IP网络协议可同时从一台电脑上克隆多台电脑的硬盘数据,使Ghost具有网络安装功能。
通常称为Ghost的网络多播克隆技术。
使用Ghost,管理员可以在数分钟之内把一个操作系统镜像或者应用程序部署或者恢复到另一台PC机器上。
利用多播技术远程克隆多个计算机,可实现快速、安全、批量地恢复操作系统。
1简介
同一个计算机实验室内的机器,可能硬件配置不一致,但软件环境要求都是相同的。
面对这种应用环境,为了实现多播克隆,有两个关键步骤:
一是“样机”的准备。
先做好一个通用的系统“样板”,再针对不同硬件配置的计算机分别安装不同的设备驱动程序,每种样机需要备份出一个.gho文件;
二是如何引导计算机进入准备克隆状态。
计算机启动到准备克隆状态,需要运行一系列命令。
每台机器需要执行的启动命令都不一样,因为网卡不同的机器需要不同的网卡驱动程序,同一批次克隆的每台机器也需要分别赋以不同的IP地址。
这一系列命令如果使用手工输入,将会非常繁琐,工作效率低。
经过试验,采用C语言编程实现引导命令的自动生成,制作出通用的引导光盘,使客户端进入准备克隆状态的过程尽量减少手工键盘输入,系统维护工作变得易行、快速、高效。
2实现方法
多播克隆进行系统恢复的步骤是,首先在服务器运行多播服务器程序,选择要广播的.gho文件,执行一个会话(Session),等待客户机的连接。
需要恢复软件系统的计算机(称为客户机)使用网络引导盘启动,连接到多播服务器,处于准备克隆状态,等待接受数据。
所有客户机都连接好后,在多播服务器程序窗口选择“发送”(Send),即可将操作系统样板多播发送到每个客户机。
克隆过程完成后,客户机重新启动,修改机器名和IP地址,软件系统的恢复宣告完成。
下面对引导客户机启动进入到准备克隆过程的实现方法进行论述。
2.1客户机的引导过程
客户机可采用光盘启动、U盘启动、软盘启动或硬盘启动等多种方式。
引导过程分成启动进入Windows98命令行界面、运行网卡驱动程序、运行ghost程序三步。
以光盘启动为例,光盘根目录下的内容有Windows98引导程序文件、网卡驱动程序和ghost程序。
下面是Win98启动盘自动批处理文件(autoexec.bat)的实例:
@echooff
prompt$p$g
0x60rem运行网卡驱动程序
setghostip=wintcp.cfgrem该句句用来指定该计算机使用的配置文件
ghost.exerem运行ghost程序连接多播服务器进行克隆
其中是8139网卡的封包驱动程序。
封包驱动程序是介于TCP程序与网卡之间的桥梁,以软件中断呼叫的方式提供一个标准的界面服务。
网卡不同的机器需要不同的网卡驱动程序,该程序可在网卡的驱动程序软盘上找到。
配置文件wintcp.cfg用于设置ghost.exe程序的运行参数(IP地址、子网掩码、网关),典型内容如下:
IP=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
同一批次克隆的每台机器也需要分别赋以不同的IP地址。
若服务器安装有DHCP服务,有可自动给每台机器分配IP地址,则配置文件wintcp.cfg的第一行可以略去。
也可以采取程序交互方式,由用户手工指定IP地址。
多播服务器同时也作为网关,按默认设置将该机的IP地址修改为192.168.0.1。
ghost.exe是客户机进行网络克隆的执行程序。
由于程序运行过程中需要对配置文件wintcp.cfg进行写操作,在制作启动盘时要求设置成将以上所有程序和文件装载到内存虚拟盘中存放和执行,这样还能保证程序执行速度非常快,在程序启动后、ghost程序运行前还能将光盘(或U盘、软盘)取出放到其他机器上运行,这样一张引导盘能够同时引导多台机器。
2.2Ghost的命令行参数
为了使克隆过程自动进行,减少人工干预,可在执行ghost程序时使用命令行参数。
多播克隆时涉及的命令行参数如下:
1)-rb本次Ghost操作结束退出时自动重启。
2)?
Csure对所有要求确认的提示或警告一律回答“Yes”。
3)这是实现Ghost无人备份/恢复的核心参数。
使用语法为:
-clone,mode=(operation),src=(source),dst=(destination),[SZE(size),SZE(size)...]
此参数行较为复杂,且各参数之间不能含有空格。
其中operation意为操作类型,值可取:
copy:
磁盘到磁盘;
load:
文件到磁盘;
dump:
磁盘到文件;
pcopy:
分区到分区;
pload:
文件到分区;
pdump:
分区到文件。
Source意为操作源,值可取:
驱动器号,从1开始;
或者为文件名,需要写绝对路径。
Destination意为目标位置,值可取:
驱动器号,从1开始;
例如输入以下命令:
ghost?
Cclone,modeLOAD,src=@MCa,dst=1?
Csure-rb
表示从网络会话a克隆系统到本机第1个硬盘,不询问,完成后重启系统。
2.3引导程序的设计
在本设计中引导程序取名为go.exe,存放在启动盘根目录。
该程序的任务是引导客户机进入到准备克隆状态。
引导程序分成三部分:
1)选择并运行网卡封包驱动程序。
为了将引导程序做成一个通用的程序,能引导实验室所有装有不同的网卡的机器,需要事先在网卡的驱动程序软盘上提取相应的程序。
例如8139网卡的封包驱动程序名称为“”。
为了便于扩充,将网卡名称和对应的驱动命令成对存放在文本文件“netcard.txt”中,当增加新的网卡时,只需将新的驱动程序添加进指定目录,并修改网卡信息文件“netcard.txt”即可。
如果用户愿意,甚至可将网卡命名为自己习惯的名字。
网卡信息文件示例如下:
//网卡描述与驱动程序指引文件。
由程序读入。
//Script=:
网卡描述。
Driver=:
DOS下网卡驱动命令,必须跟在上一行Script之后。
Script=RealtekRTL8139(A)PCIfastEthernetAdapter
Driver=RTSPKT0x60
Script=RealtekRTL8139FamilyPCIfastEthernetNIC
Driver=RTSPKT20x60
Script=MacronixMX987x5FamilyFastEthernetAdapter
Driver=MX32PD0x60
Script=AcctonEn1207DSeriesPCIfastEthernetAdapter
Driver=ACCPKT0x60
Script=D-LinkDFE-530TXfastEthernetAdapter
Driver=DLKFET0x60
2)生成配置文件wintcp.cfg。
如果局域网有DHCP服务器,则可以采用固定格式的配置文件,文件内容只有两行,“NETMASK=255.255.255.0”和“GATEWAY=192.168.0.1”,无需用户干预。
对于手工设置IP地址的情形,只需键入一个1~255之间的数,生成形如“IP=192.168.0.*”的字符串添加进配置文件wintcp.cfg中,作为IP地址的配置。
其中“*”号代表输入的数字(通常是机器编号)。
3)运行带命令行参数的Ghost程序命令。
命令实例见上一小节。
引导程序采用TC2.0进行了编程实现,代码并不复杂,主要用到了读写文本文件函数和调用外部命令函数system()。
2.4客户端通用引导盘的制作
首先按常规方法制作出DOS启动盘,在自动批处理文件autoexec.bat的最后面添加一行“go”,调用上一小节编制出的go.exe程序。
再将引导程序go.exe,网卡信息文件netcard.txt,客户端克隆程序ghost.exe,各种网卡的封包驱动程序包括、、等复制到启动盘根目录。
通过以上两步,引导盘制作完毕,已经可以使用了。
实现过程中使用WinImage、WinISO、NERO等软件配合,将以上所列内容制作成引导光盘。
需要注意的是,引导程序go.exe运行时会写配置文件wintcp.cfg,而光盘是只读的。
解决办法是光盘启动初始阶段在计算机内存中建立一个虚拟盘。
由于提取了本实验室现有各种网卡的封包驱动程序,该引导盘能引导所有计算机通过网络连接到多播服务器,进入准备克隆状态。
因此称之为“客户端通用引导盘”。
3网络多播克隆的实施
准备好了克隆服务器、样板计算机的.gho映像文件,以及客户端引导盘,接下来就可以实施网络多播克隆了。
事先将服务器IP地址设置为“192.168.0.1”,然后启动多播克隆服务器程序GhostCastServer,在服务器程序界面的会话名“SessionName”框中,输入会话名称“a”(与引导程序中ghost的命令行参数相一致)。
选中加载到客户的单选框“LoadToClients”。
在映像文件“ImageFile”框中,给出映像文件所在的路径,如输入“d:
\system\P42.4G\win2k.gho”。
选中“Disk”单选框。
单击接受客户“AcceptClients”按钮,等待客户机的连接。
克隆服务器启动后,客户机就可以开始连接服务器了。
用按第2节实现方法制作的启动光盘启动计算机,出现下面的交互式界面(图1)。
键入“1”选择第1种网卡,出现以下提示行(图2)。
键入客户机编号(比如“10”)并按下回车键,就会自动连接上克隆服务器,此时在服务器端的窗口中可看见客户机10的地址,表示客户机10已经登录,等待服务器开始克隆。
再用引导盘启动其他客户机,操作方法同上。
当所有的客户机都连结上服务器后,就可以在服务器端按发送“Send”按钮,开始网络多播克隆(如图3)。
4应用效果
由于界面易于使用,技术门槛降低,即使是非技术人员也能协助进行系统维护工作。
每台客户机在引导过程只需要输入1到2个数字即可进入到克隆预备状态,在进行大面积系统恢复时更体现出高效率。
以一个配备百兆以太网络的计算机房为例,每批同时克隆30~40台机,一个小时内可将这些机器的软件系统全部恢复完毕。
本文所述方案在高校实验室成功应用两年多,减轻了实验室工作人员的工作压力,加快了计算机系统快速恢复的过程,也提高了工作效率,取得了很好的应用效果,对学校计算机实验室建设和管理工作有着积极的促进作用。
参考文献:
[1]李欣.机房管理中Ghost软件的应用[J].实验室研究与探索,2004(6):
14-16.
[2]瞿波,陈伟.如何用GHOST进行网络多播克隆[J].计算机应用与软件,2004(9):
115-117.
[3]苏航,王勇军,于淼.基于Ghost软件的快速数据恢复方法的研究[J].科技资讯,2008(28):
20.
[4]王月,郑浩,宫豪,等.用Ghost软件快速备份和恢复操作系统[J].吉林师范大学学报:
自然科学版,2009(3):
154-156.
[5]杨海瑞.浅谈机房使用GHOST恢复系统的方法[J].河套大学学报,2009(4):
69-71,82.
[6]王红珍,刘兴平.Ghost技术在机房系统维护中的应用[J].实验科学与技术,2011
(2):
61-62.
[7]朱一茹.浅谈Ghost网络克隆技术在计算机机房维护中的应用[J].信息与电脑:
理论版,2011(5):
116-118.
注:
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文