论文部分内容阅读
摘要:为解决计算机机房管理中的困难,提出利用Ghost进行基于PXE远程启动的多播克隆,使计算机机房的管理更加方便、快捷和简单。
关键词:远程启动;PXE;多播克隆;TFTP
中图分类号:TP308文献标识码:A文章编号:1009-3044(2008)36-2772-02
The Multicast Clone Based on PXE
WANG Peng-chong, FANG Da-liang
(College of Computer Science, Chongqing University, Chongqing 400030, China)
Abstract: In order to solve problems in the management of the computer room, made use of Ghost to realize the Multicast clone which is booted based on PXE, so that the management of the computer room more convenient, fast and simple.
Key words: remoteboot; PXE; multicast clone; TFTP
在计算机机房管理中,由于计算机使用频繁,学生使用不规范,计算机的软驱和光驱损坏严重,再加上计算机考试均需要重装系统,致使机房软件系统的管理极度困难。由于软驱和光驱损坏,当操作系统崩溃时,重装系统就只有开机箱才能完成。为了解决上述问题,可以采用基于PXE(Preboot Execution Environment)协议的网络启动,利用Symantec公司的Ghost、3Com公司的DABS(Dynamic Access Boot Services)、Tftpd32等软件实现计算机的批量重装系统。
1 远程启动技术
1.1 远程启动简介
远程启动服务(Remoteboot),通常也叫RPL(Remote Program Load,远程初始程序加载),是通过使用服务器硬盘上的软件来代替工作站硬盘引导一台网络上的工作站。工作站的网络适配卡上必须装有一个RPL ROM芯片。每一种RPL ROM芯片都是为一类特定的网络接口卡而制作的,它们之间不能互换。带有RPL的网络接口卡发出引导记录请求的广播(broadcasts),服务器自动的建立一个连接来响应它,并加载MS-DOS启动文件到工作站的内存中。
1.2 远程启动过程
为了远程启动一台工作站,运行远程启动服务的Windows NT服务器必须提供两个资源给客户:
一个引导程序块(Boot Block),它包含了引导时开启工作站需要的所有信息。
远程启动配置文件(Remoteboot Profile),它定义了工作站引导后将要用的操作系统。
要接受到这些数据,远程启动客户必须使用其网络接口卡上的RPL ROM芯片来与已经运行DLC通信协议的远程启动服务器进行通讯。该过程主要分为两个阶段:初始化引导程序块下载;操作系统下载。
1) 初始化引导程序块下载:
这个阶段的目标时去寻找一个远程启动服务器并下载适合该工作站特定类型的网络接口卡的引导程序块信息。这些引导程序块配置文件存储在服务器的\WINNT\RPL|BBLOCK\NETBEUI\\DOSBB.CNF文件里。这个文件将在阶段2用于引导工作站。
2) 操作系统的下载:
这一阶段的目标时模仿MS-DOS引导过程。来自引导程序块的信息被RPL ROM用来加载基本的操作系统和网络,然后建立一个同远程启动服务器的会话。此时,工作站将显示下列登陆提示:
Type Remoteboot username,or press enter if it is:
这个登陆称为工作站(workstation logon),并随当前的用户登陆而有所不同。工作站登陆常常用于建立同文件服务器的第一个会话并使用FIT(File Index Tables文件索引表)来映像原始的C驱动器目录到文件服务器。当一个工作站被添加到远程启动数据库时,用于它的特定的用户帐号将被创建。默认时,工作站帐号没有设置口令。用户需要作为一个单独的用户登陆到主域以获得特定的网络使用许可。
一旦工作站登陆完成,工作站就可以读取一个引导扇区文件并使用存储在服务器的MS-DOS文件来引导。
2 基于PXE的远程启动技术
2.1 PXE技术的基本原理
PXE(Preboot Execution Environment)技术与RPL技术不同之处为:RPL是静态路由,PXE是动态路由。RPL是根据网卡上ID号加上其它的记录组成的一个Frame(帧)向服务器发出请求,而服务器那里早已经有了这个ID数据,匹配成功则进行远程启动;PXE则是根据服务器端收到的工作站以MAC地址(就是网卡号),使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。下面以工作站引导过程说明PXE的原理:
1) 工作站開机后,PXE BootROM(自启动芯片)获得控制权之前先做自我测试,然后以广播形式发出一个请求FIND帧。
2) 如果服务器收到工作站所送出的请求,就会送回DHCP回应,内容包括用户端的IP地址,预设通讯通道,及开机映像文件。否则,服务器会忽略这个要求。
3) 工作站收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件。此时工作站把自己的MAC地址写到服务器端Netnames.db文件中。
4) 之后将有更多的信息在工作站与服务器之间作应答,用以决定启动参数。Boot ROM由TFTP通讯协议从服务器下载开机映像档,这个映像档就是软盘的映象文件。工作站使用TFTP协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动。
2.2 PXE启动的硬件需求
1) 需要在网卡上安装一片EPROM,里面刻录有相关引导程序。另外,EPROM芯片具有专用性,即不同的网卡可能需要不同的引导程序。
2) 设置网卡允许远程启动,这一般可以从下面两个方面去解决——网卡上有BootROM Jumper,将其跳线设为Enable即可。
如果网卡上没有允许/禁止远程启动的跳线,运行网卡的设置程序(如Setup.exe)设置BootROM为Enable。
2.3 PXE无盘启动的关键技术
通过上述过程的分析,我们可以发现启动过程中主要用到两个重要的服务,即DHCP和TFTP。据此,实现无盘启动的关键在于提供DHCP和TFTP即可。
3 实现基于PXE的网络启动
对于配有网络远程启动功能的工作站,通过网络远程启动引导工作站自动执行相关操作,可省去用软盘一台一台引导工作站启动的麻烦。要实现PXE网络启动,需要完成以下几个步骤。
3.1 工作站端PXE启动设置
PXE网络启动一般要求在网卡上加装PXE启动芯片(PXE Boot ROM),对于某些型号的网卡,也可以将PXE启动代码(Boot Code)写入主板的Flash ROM;而一些主板上集成了网卡的,可直接支持PXE启动。
本文以装有PXE启动芯片的RTL8139网卡为例,其PXE启动设置方式是:进入CMOS设置第一启动项为LAN。机器启动时根据屏幕提示按下shift F10,在“Network Boot Protocol”中选择PXE,“Boot Order”中选择Int18h项。
3.2 服务器端的软件安装
服务器上要装有DHCP服务和TFTP服务,安装Ghost7.5企业版和3Com的DABS(Dynamic Access Boot Services)软件。
本文利用Tftp32实现DHCP服务和TFTP服务,Tftpd32是一个集成DHCP,TFTP, SNTP和Syslog多种服务的袖珍网络服务器包。用来进行网络克隆的软件是Ghost7.5企业版,DABS则是用来制作PXE启动所需的启动菜单。
3.3 生成PXE启动映像
1) 打开Ghost Boot Wizard,点击点击第五项“TCP/IP Network Boot Image” 。
2) 出现了网卡选择提示框。根据自己的网卡可以从中选择自己的网卡型号,我们以常用的8139网卡为例,进行说明,如果列表里找不到所需的网卡,要自行添加。
3) 选择DOS的版本,默认是使用PC-DOS,如果想用MS-DOS,点击”Get MS-DOS”按钮,然后根据提示插入windows 95或者windows 98系统格式的软盘从而获得MS-DOS。
4) 选择ghost.exe中选择ghost文件,在Parameters中填入如下参数:-clone,mode=load,src=@MC wu,dsk=1 –sure –rb。这里可以根据需要修改参数,或者不用参数,克隆时再进行操作。
参数解释:-clone是实现Ghost无人值守多播克隆的核心参数。其中mode= load即操作类型为文件到磁盘;src= @ M C x和dsk=1一起使用,表示将会话名称为x的服务器端指定的镜像文件复制到第1个硬盘。参数-sure表示对所有要求确认的提示或警告一律回答”Yes”;-rb表示本次Ghost结束退出时自动重启。
5) 客户端的网络设置,我们采用DHCP服务器分配IP地址的办法,所以也不用动。直接点击“下一步”。
6) 填入映像文件的名字和路径,点击下一步就可以完成启动文件映像的制作。
制作完成启动文件映像后,我们把此启动文件映像放在Tftpd32的根目录下。我们还需要用这个映像制作一个启动菜单,打开3Com Boot Image Editor,选择“创建PXE菜单引导文件”,把刚才制作好的映像文件添加进来并在“选项”里面设置好各个参数,点击“保存”按钮制作成菜单引导文件。把此菜单引导文件也放在Tftpd32的根目录下。
3.4 服务端PXE启动服务设置
打开Tftpd32(如图1),PXE网络启动需要用到两个服务DHCP和TFTP。TFTP服务器项我们不需要设置,主要设置好DHCP服务器。
Current Directory:Tftpd32所在文件夹,之前做好的启动映像文件和启动菜单文件都放在这个文件夹里面
Server interfaces:服务器的ip
IP pool starting address:起始分配ip Size of pool:分配ip的总数
Boot File:启动文件,填入之前做好的启动菜单文件的文件名
Default router:默认网关
Mask:子网掩盖
Domain Name:域名,这里填入的域名在ghost需要填入相同的名字
设置好以上參数之后点击”save”,DHCP服务器就设置好了。
3.5 进行网络对拷
网络服务器端装好了,客户端的启动盘也做好了。可以开始进行网络ghost了。这里首先需要把客户机的系统镜像做好并上传到服务器上来。启动Ghost服务器端,在“会话名称”出填写一个名称,这个名字要和DHCP服务器的Domain Name的名字一致。后面有两个选项,第一个是“恢复映像”,意思是将镜像包加载到客户机上。第二个是“创建映像”,意思是从客户机上提取镜像。我们要先制作映像文件,所以这里选择第二个“创建映像”。
点击“浏览”按钮,为镜像包选择一个位置,起名并保存好。然后点击右侧的“接受客户机”,开始接受客户端的请求。
图 1 Tftpd32
现在该到客户端进行操作了。在客户端,我们按之前所述设置好启动项后开机。正常情况下,开机应该自动进入ghost,按回车键后进入这个主界面,可以看到“Multicasting”选项已经有效。我们实现网络ghost就是用这个选项。选择它,回车。
在这里可以看到,客户端的ip已经自动分配过来了。下面需要填写的就是服务器端的任务名称,也即ghost服务端的“会话名称”。填入服务器端任务名称,回车后,即出现选择压缩方式,一般选择“No”,或者“Fast”。确认后开始上传镜像。
上传结束后,客户端的镜像即做好了,下一步,就是开始大规模的ghost系统了。启动Ghost服务器端,选择“恢复映像”,并选择刚才做好的镜像包。然后点击“接受客户端”等待客户端的请求。这时,可以启动客户机。具体步骤和上面制作镜像包的步骤类似,首先是是启动,启动后进入ghost,选择“Multicasting”,填入服务器端任务名称,但是在填入服务器端任务名称之后,与上面的过程有所不同,客户端开始和服务器端联系,以获取当前ghost包的详细信息。之后进行相应的设置客户端已经准备就绪。全部客户端准备就绪后,在服务器端点击“发送”按钮,网络克隆就真正开始了。
4 结束语
本文阐述了利用3Com公司的DABS、Symantec公司的Ghost等软件,基于PXE协议实现对没有软驱、光驱计算机的软件系统克隆。当客户计算机系统崩溃后,只需要重新进行客户端PXE启动设置和文件发布至客户端操作即可。计算机房管理者不再为每天安装系统、软件而烦恼。
参考文献:
[1] 闵军,孟林.最新PXE、RPL无盘站和终端技术精解[M].北京:清华大学出版社,2003.
[2] 徐晓丽.用Ghost7.0实现网络硬盘克隆[N].中国电脑教育报,2003-02-14.
[3] 瞿波,陈伟.如何用GHOST进行网络多播克隆[J].计算机应用与软件,2004(9):116-118.
关键词:远程启动;PXE;多播克隆;TFTP
中图分类号:TP308文献标识码:A文章编号:1009-3044(2008)36-2772-02
The Multicast Clone Based on PXE
WANG Peng-chong, FANG Da-liang
(College of Computer Science, Chongqing University, Chongqing 400030, China)
Abstract: In order to solve problems in the management of the computer room, made use of Ghost to realize the Multicast clone which is booted based on PXE, so that the management of the computer room more convenient, fast and simple.
Key words: remoteboot; PXE; multicast clone; TFTP
在计算机机房管理中,由于计算机使用频繁,学生使用不规范,计算机的软驱和光驱损坏严重,再加上计算机考试均需要重装系统,致使机房软件系统的管理极度困难。由于软驱和光驱损坏,当操作系统崩溃时,重装系统就只有开机箱才能完成。为了解决上述问题,可以采用基于PXE(Preboot Execution Environment)协议的网络启动,利用Symantec公司的Ghost、3Com公司的DABS(Dynamic Access Boot Services)、Tftpd32等软件实现计算机的批量重装系统。
1 远程启动技术
1.1 远程启动简介
远程启动服务(Remoteboot),通常也叫RPL(Remote Program Load,远程初始程序加载),是通过使用服务器硬盘上的软件来代替工作站硬盘引导一台网络上的工作站。工作站的网络适配卡上必须装有一个RPL ROM芯片。每一种RPL ROM芯片都是为一类特定的网络接口卡而制作的,它们之间不能互换。带有RPL的网络接口卡发出引导记录请求的广播(broadcasts),服务器自动的建立一个连接来响应它,并加载MS-DOS启动文件到工作站的内存中。
1.2 远程启动过程
为了远程启动一台工作站,运行远程启动服务的Windows NT服务器必须提供两个资源给客户:
一个引导程序块(Boot Block),它包含了引导时开启工作站需要的所有信息。
远程启动配置文件(Remoteboot Profile),它定义了工作站引导后将要用的操作系统。
要接受到这些数据,远程启动客户必须使用其网络接口卡上的RPL ROM芯片来与已经运行DLC通信协议的远程启动服务器进行通讯。该过程主要分为两个阶段:初始化引导程序块下载;操作系统下载。
1) 初始化引导程序块下载:
这个阶段的目标时去寻找一个远程启动服务器并下载适合该工作站特定类型的网络接口卡的引导程序块信息。这些引导程序块配置文件存储在服务器的\WINNT\RPL|BBLOCK\NETBEUI\
2) 操作系统的下载:
这一阶段的目标时模仿MS-DOS引导过程。来自引导程序块的信息被RPL ROM用来加载基本的操作系统和网络,然后建立一个同远程启动服务器的会话。此时,工作站将显示下列登陆提示:
Type Remoteboot username,or press enter if it is
这个登陆称为工作站(workstation logon),并随当前的用户登陆而有所不同。工作站登陆常常用于建立同文件服务器的第一个会话并使用FIT(File Index Tables文件索引表)来映像原始的C驱动器目录到文件服务器。当一个工作站被添加到远程启动数据库时,用于它的特定的用户帐号将被创建。默认时,工作站帐号没有设置口令。用户需要作为一个单独的用户登陆到主域以获得特定的网络使用许可。
一旦工作站登陆完成,工作站就可以读取一个引导扇区文件并使用存储在服务器的MS-DOS文件来引导。
2 基于PXE的远程启动技术
2.1 PXE技术的基本原理
PXE(Preboot Execution Environment)技术与RPL技术不同之处为:RPL是静态路由,PXE是动态路由。RPL是根据网卡上ID号加上其它的记录组成的一个Frame(帧)向服务器发出请求,而服务器那里早已经有了这个ID数据,匹配成功则进行远程启动;PXE则是根据服务器端收到的工作站以MAC地址(就是网卡号),使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。下面以工作站引导过程说明PXE的原理:
1) 工作站開机后,PXE BootROM(自启动芯片)获得控制权之前先做自我测试,然后以广播形式发出一个请求FIND帧。
2) 如果服务器收到工作站所送出的请求,就会送回DHCP回应,内容包括用户端的IP地址,预设通讯通道,及开机映像文件。否则,服务器会忽略这个要求。
3) 工作站收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件。此时工作站把自己的MAC地址写到服务器端Netnames.db文件中。
4) 之后将有更多的信息在工作站与服务器之间作应答,用以决定启动参数。Boot ROM由TFTP通讯协议从服务器下载开机映像档,这个映像档就是软盘的映象文件。工作站使用TFTP协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动。
2.2 PXE启动的硬件需求
1) 需要在网卡上安装一片EPROM,里面刻录有相关引导程序。另外,EPROM芯片具有专用性,即不同的网卡可能需要不同的引导程序。
2) 设置网卡允许远程启动,这一般可以从下面两个方面去解决——网卡上有BootROM Jumper,将其跳线设为Enable即可。
如果网卡上没有允许/禁止远程启动的跳线,运行网卡的设置程序(如Setup.exe)设置BootROM为Enable。
2.3 PXE无盘启动的关键技术
通过上述过程的分析,我们可以发现启动过程中主要用到两个重要的服务,即DHCP和TFTP。据此,实现无盘启动的关键在于提供DHCP和TFTP即可。
3 实现基于PXE的网络启动
对于配有网络远程启动功能的工作站,通过网络远程启动引导工作站自动执行相关操作,可省去用软盘一台一台引导工作站启动的麻烦。要实现PXE网络启动,需要完成以下几个步骤。
3.1 工作站端PXE启动设置
PXE网络启动一般要求在网卡上加装PXE启动芯片(PXE Boot ROM),对于某些型号的网卡,也可以将PXE启动代码(Boot Code)写入主板的Flash ROM;而一些主板上集成了网卡的,可直接支持PXE启动。
本文以装有PXE启动芯片的RTL8139网卡为例,其PXE启动设置方式是:进入CMOS设置第一启动项为LAN。机器启动时根据屏幕提示按下shift F10,在“Network Boot Protocol”中选择PXE,“Boot Order”中选择Int18h项。
3.2 服务器端的软件安装
服务器上要装有DHCP服务和TFTP服务,安装Ghost7.5企业版和3Com的DABS(Dynamic Access Boot Services)软件。
本文利用Tftp32实现DHCP服务和TFTP服务,Tftpd32是一个集成DHCP,TFTP, SNTP和Syslog多种服务的袖珍网络服务器包。用来进行网络克隆的软件是Ghost7.5企业版,DABS则是用来制作PXE启动所需的启动菜单。
3.3 生成PXE启动映像
1) 打开Ghost Boot Wizard,点击点击第五项“TCP/IP Network Boot Image” 。
2) 出现了网卡选择提示框。根据自己的网卡可以从中选择自己的网卡型号,我们以常用的8139网卡为例,进行说明,如果列表里找不到所需的网卡,要自行添加。
3) 选择DOS的版本,默认是使用PC-DOS,如果想用MS-DOS,点击”Get MS-DOS”按钮,然后根据提示插入windows 95或者windows 98系统格式的软盘从而获得MS-DOS。
4) 选择ghost.exe中选择ghost文件,在Parameters中填入如下参数:-clone,mode=load,src=@MC wu,dsk=1 –sure –rb。这里可以根据需要修改参数,或者不用参数,克隆时再进行操作。
参数解释:-clone是实现Ghost无人值守多播克隆的核心参数。其中mode= load即操作类型为文件到磁盘;src= @ M C x和dsk=1一起使用,表示将会话名称为x的服务器端指定的镜像文件复制到第1个硬盘。参数-sure表示对所有要求确认的提示或警告一律回答”Yes”;-rb表示本次Ghost结束退出时自动重启。
5) 客户端的网络设置,我们采用DHCP服务器分配IP地址的办法,所以也不用动。直接点击“下一步”。
6) 填入映像文件的名字和路径,点击下一步就可以完成启动文件映像的制作。
制作完成启动文件映像后,我们把此启动文件映像放在Tftpd32的根目录下。我们还需要用这个映像制作一个启动菜单,打开3Com Boot Image Editor,选择“创建PXE菜单引导文件”,把刚才制作好的映像文件添加进来并在“选项”里面设置好各个参数,点击“保存”按钮制作成菜单引导文件。把此菜单引导文件也放在Tftpd32的根目录下。
3.4 服务端PXE启动服务设置
打开Tftpd32(如图1),PXE网络启动需要用到两个服务DHCP和TFTP。TFTP服务器项我们不需要设置,主要设置好DHCP服务器。
Current Directory:Tftpd32所在文件夹,之前做好的启动映像文件和启动菜单文件都放在这个文件夹里面
Server interfaces:服务器的ip
IP pool starting address:起始分配ip Size of pool:分配ip的总数
Boot File:启动文件,填入之前做好的启动菜单文件的文件名
Default router:默认网关
Mask:子网掩盖
Domain Name:域名,这里填入的域名在ghost需要填入相同的名字
设置好以上參数之后点击”save”,DHCP服务器就设置好了。
3.5 进行网络对拷
网络服务器端装好了,客户端的启动盘也做好了。可以开始进行网络ghost了。这里首先需要把客户机的系统镜像做好并上传到服务器上来。启动Ghost服务器端,在“会话名称”出填写一个名称,这个名字要和DHCP服务器的Domain Name的名字一致。后面有两个选项,第一个是“恢复映像”,意思是将镜像包加载到客户机上。第二个是“创建映像”,意思是从客户机上提取镜像。我们要先制作映像文件,所以这里选择第二个“创建映像”。
点击“浏览”按钮,为镜像包选择一个位置,起名并保存好。然后点击右侧的“接受客户机”,开始接受客户端的请求。
图 1 Tftpd32
现在该到客户端进行操作了。在客户端,我们按之前所述设置好启动项后开机。正常情况下,开机应该自动进入ghost,按回车键后进入这个主界面,可以看到“Multicasting”选项已经有效。我们实现网络ghost就是用这个选项。选择它,回车。
在这里可以看到,客户端的ip已经自动分配过来了。下面需要填写的就是服务器端的任务名称,也即ghost服务端的“会话名称”。填入服务器端任务名称,回车后,即出现选择压缩方式,一般选择“No”,或者“Fast”。确认后开始上传镜像。
上传结束后,客户端的镜像即做好了,下一步,就是开始大规模的ghost系统了。启动Ghost服务器端,选择“恢复映像”,并选择刚才做好的镜像包。然后点击“接受客户端”等待客户端的请求。这时,可以启动客户机。具体步骤和上面制作镜像包的步骤类似,首先是是启动,启动后进入ghost,选择“Multicasting”,填入服务器端任务名称,但是在填入服务器端任务名称之后,与上面的过程有所不同,客户端开始和服务器端联系,以获取当前ghost包的详细信息。之后进行相应的设置客户端已经准备就绪。全部客户端准备就绪后,在服务器端点击“发送”按钮,网络克隆就真正开始了。
4 结束语
本文阐述了利用3Com公司的DABS、Symantec公司的Ghost等软件,基于PXE协议实现对没有软驱、光驱计算机的软件系统克隆。当客户计算机系统崩溃后,只需要重新进行客户端PXE启动设置和文件发布至客户端操作即可。计算机房管理者不再为每天安装系统、软件而烦恼。
参考文献:
[1] 闵军,孟林.最新PXE、RPL无盘站和终端技术精解[M].北京:清华大学出版社,2003.
[2] 徐晓丽.用Ghost7.0实现网络硬盘克隆[N].中国电脑教育报,2003-02-14.
[3] 瞿波,陈伟.如何用GHOST进行网络多播克隆[J].计算机应用与软件,2004(9):116-118.