返回首页

基于TFTP的跨平台局域网硬盘克隆方案

时间:2004-10-16 来源: 作者: 点击:
对于电子教室、网吧等小型局域网的管理员来说,工作站硬盘的快速安装与出错恢复,是保证整个网络正常运行的首要任务。 使用赛门铁克公司(Symantec)的磁盘管理工具Ghost进行局域网内的硬盘克隆,是近一段时间大家研究较多的解决方案。实现的方法有两种:其一,在单一的
  
对于电子教室、网吧等小型局域网的管理员来说,工作站硬盘的快速安装与出错恢复,是保证整个网络正常运行的首要任务。
使用赛门铁克公司(Symantec)的磁盘管理工具Ghost进行局域网内的硬盘克隆,是近一段时间大家研究较多的解决方案。实现的方法有两种:其一,在单一的工作站上运行DOS下的网络客户端,将服务器上的映像文件所在目录共享并进行驱动器映射,从而将磁盘分区的映像恢复到本机硬盘。其二,在服务器上安装Ghost 7.0企业版,使用Ghost多播服务(Multicast Server)将硬盘或分区的映像克隆同时克隆到多个工作站。
基于Ghost工具的局域网克隆方案,虽然日臻完善,但是始终摆脱不了一些限制。例如:它只能应用于DOS、Windows操作系统;克隆后各工作站,机器名称完全相同,需要手工修改才能正常使用;等等。
有没有更好的局域网硬盘克隆解决方案呢?笔者根据网上的资料,经过实践,编译、总结了这个基于TFTP的跨平台局域网硬盘克隆方案。
方案的核心是日内瓦大学计算机科学系(Computer Science Department, University of Geneva)编写的程序BpBatch、MrBatch和MrZip。BpBatch和MrBatch是TFTP命令解释器,MrBatch是BpBatch的扩展,一般只需要BpBatch就可以了;而MrZip是一个支持磁盘分区压缩成映像文件的程序。与BpBatch有关的文件可以从http://cuiwww.unige.ch/info/pc/remote-boot/soft下载。
方案实施的前提是,一台服务器,能够提供DHCP和TFTP服务;若干工作站,带有PXE启动支持(网卡装有PXE启动芯片,或者主板BIOS中含有PXE启动代码)。服务器的操作系统可以是Windows 9x、Windows NT/2000,也可以是各种版本的Unix、Linux。工作站的操作系统可以是Windows 9x或Linux。
下面,以作者的安装实例来一步一步地进行说明这种网络硬盘克隆技术。
网络环境:局域网网段192.168.0.0/24。服务器Windows 2000 Server,机器名reeyoung,IP地址192.168.0.1,网关192.168.0.254,20余台工作站(网卡带有PXE/RPL启动芯片)。
一、服务器的设置
服务器的设置包括两方面的内容:DHCP服务的设置和TFTP服务的设置。
1. DHCP服务的设置。
进入Windows 2000的DHCP服务管理器,设定作用域192.168.0.50~192.168.0.199(某些IP地址保留给手动设置的机器),子网掩码255.255.255.0,网关(路由器)192.168.0.254,DNS服务器202.97.224.68、202.97.230.4 (本地电信的DNS服务器地址)。
在服务器名称上单击鼠标右键,选择“设置预定义的选项”,如下图所示。

添加一个选项,在接下来的选项类型对话框中,输入名称为“Option 135”,数据类型为“字符串”,代码为“135”。
接下来,设置作用域选项。在DHCP服务器的作用域选项中,配置选项“067:启动文件名”,字串值为“bpbatch”,注意:文件名不包含路径;配置选项“135:Option 135”,字串值为“-i”。如下图所示。
2. TFTP服务的设置。
DHCP服务器只是将启动文件名通知给客户机,客户机通过什么方式下载启动文件呢?答案是,需要TFTP服务。TFTP是一个精简的文件传输协议,用于向客户机传输启动文件。Windows 2000 Server本身没有提供TFTP服务,所以我们需要安装第三方的TFTP工具。我选择的是3Com Daemon 2.0工具包,该工具包包含了TFTP、FTP和Syslog服务,我们只用其中的TFTP。
启动3Com Daemon的TFTP,设定TFTP服务的根目录为D:\TFTP。将下载的BpBatch工具包bpb-exe.zip解压后的文件,包括bpbatch.P、bpbatch.ovl、bpbatch.hlp、mrzip.exe、mrbatch.exe等等,放到D:\TFTP目录下,将bpbatch.P改名为bpbatch。将D:\TFTP目录设为完全共享,共享名TFTP。TFTP服务设置为自动运行。
二、工作站的设置
与早期的RPL网络启动方式类似,PXE网络启动方式一般要求在网卡上加装PXE启动芯片(PXE Boot ROM);对于某些型号的网卡,也可以将PXE启动代码(Boot Code)写入主板的Flash ROM;而一些主板上集成了网卡的品牌机(例如联想、清华同方的商用机),直接支持PXE启动。
常用的RTL8139芯片的网卡,其PXE启动设置方式是,机器启动时根据屏幕提示按下Shift+F10,在启动类型中选择PXE,开启网络启动选项就可以了。
现在,工作站开机,就可以启动到BpBatch的提示符下了:
>
在这个提示符下,你可以输入BpBatch命令,例如LogVars(列出变量)、LogDir “{:1}”(列出工作站C:盘目录)、DrawWindow 200 200 300 150 “Test Window”(绘制一个窗口)等等。
三、一般工作流程
BpBatch工具支持DOS、Win9x、Linux、Unix的工作站硬盘分区映像制作与恢复。我们仅以Win98工作站为例,说明局域网硬盘克隆的过程。
1. 工作站磁盘映像文件的制作。
选择一台硬件配置有代表性,系统、驱动程序、应用软件安装较全,工作稳定的工作站,作为模型机。正常启动到Win98(可将PXE启动暂时关闭,或者启动到BpBatch提示符后,键入hdboot从硬盘启动),使用net use命令映射服务器的D:\TFTP目录:
NET USE F: \\REEYOUNG\TFTP
开一个DOS窗口,切换到F:,使用Edit工具创建一个MrZip脚本文件zipwin.mrz:
filter –“windows/schedlog.txt”
filter –“windows/msimgsiz.dat”
filter –“*/index.dat”
filter –“*.swp”
filter –“*.tmp”
filter –“temp/*”
fullzip “c:/” “f:/win.imz”
编辑完成存盘,执行命令:
mrzip –b zipwin
根据具体的磁盘容量与网络带宽,可能需要十几分钟到几十分钟,在服务器的D:\TFTP目录下就创建了模型工作站的硬盘分区映像文件win.imz (分区较大时,会自动生成扩展名连续的多个映像文件,类似于ARJ或RAR压缩文件,使用时自动读取)。
2. 工作站磁盘的恢复。
编辑一个BpBatch脚本文件win.bpb,存放到服务器的D:\TFTP目录下,内容为:
hidelog
setpartitions “bigdos:1024”
setbootpart 1
fullunzip “win.imz” 1
在DHCP服务管理器中,将DHCP选项Option 135的字串值“-i”改为上述脚本文件名“win”(不带扩展名)。
启动工作站,通过TFTP命令解释器BpBatch自动运行脚本win.bpb,将硬盘分区映像恢复到工作站硬盘上。
四、几个疑难问题的解决
在局域网硬盘克隆的过程中,常常遇到一些疑难问题。在此给出解决建议。
1. 工作站的启动方式选择。
为了避免每次对工作站进行克隆时,都要手工设定PXE网络启动方式,我们可以始终将工作站设定为PXE网络启动优先。这样,只需在服务器上进行设置,就能实现网络硬盘克隆任务的开启与关闭。不需要进行网络硬盘克隆时,将TFTP服务关闭,这样工作站启动时,会因为找不到提供TFTP的服务器而从本地硬盘启动。需要进行网络硬盘克隆时,将相关服务开启即可。
2. 配置不同的工作站如何实现网络克隆。
工作站的显卡、声卡等设备型号不同,驱动程序也不同,给硬盘克隆带来困难。可以将模型机的硬盘装在各种不同配置的工作站上,安装驱动,然后再进行硬盘分区映像文件的制作,上传到服务器上。这样,这个硬盘分区映像文件,就包括了所有工作站的设备驱动,硬盘克隆完成后,无需再进行驱动的设置。
3. 避免工作站克隆后的人工处理。
克隆之后的工作站,网络设置与模型机完全相同,在设定由DHCP分配IP地址的情况下,唯一需要修改的地方,就是每台机器的机器名称。这也是目前采用Ghost进行磁盘克隆没有办法解决的问题。通过BpBatch脚本、Win9x的RegEdit工具和DOS批处理命令的组合使用,这一过程完全可以避免。
在服务器上的D:\TFTP目录下,我们建立一个文本文件patch.ref:
REGEDIT4
(这里空一行)
[HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP]
“ComputerName”=“${Host}”
[HKEY_LOCAL_MACHINESystemCurrentControlSetcontrolComputerNameComputerName]
“ComputerName”=“${Host}”
再修改我们的磁盘映像恢复脚本win.bpb,在文件最后添加:
set Host=“$BOOTP-Clinet-ID”[6-16]/ =-/
patch “patch.ref” “{:1}/patch.reg”
修改模型工作站的启动批处理文件autoexec.bat,在最后添加:
if not exist patch.reg goto end
regedit /L:c:\windows\system.dat /R:c:\windows\user.dat c:\patch.reg
del patch.reg
:end
好了,现在制作模型工作站的磁盘映像文件。此后,进行恢复时,每台工作站会自动获得一个类似“00-90-40-BB”的机器名字,每台机器各不相同。
五、总结说明
应用BpBatch系列工具,依靠TFTP服务进行局域网内的硬盘克隆,与采用Ghost工具和网络驱动器重定向方式的硬盘克隆技术相比,其优势是显而易见的:
1. 应用平台广。服务器、工作站可以是Windows系列,也可以是Unix (Linux)系列。采用Linux做代理服务器进行共享上网的用户,也可以用同一台服务器提供局域网的硬盘克隆了;
2. TFTP可以支持多个工作站同时进行硬盘克隆(仅指硬盘恢复);
3. 克隆后,工作站无需任何手工设置,开机即用,最大限度地减少了日常维护工作;
4. BpBatch、TFTP工具软件完全免费,网上就可以下载,减少了版权方面的隐患。
BpBatch工具是一个完整的命令解释器。它包含了几十个命令和函数,涵盖了磁盘、文件、图形、键盘输入等操作,功能强大。可以容易地构造出图形菜单、口令检查等应用。由于篇幅所限,对很多命令、变量没有做出解释,有兴趣的朋友可以查阅原英文文档,下载地址:http://cuiwww.unige.ch/info/pc/remote-boot/how-to.html
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容