科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道基于TFTP的跨平台局域网硬盘克隆方案

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对于电子教室、网吧等小型局域网的管理员来说,工作站硬盘的快速安装与出错恢复,是保证整个网络正常运行的首要任务。

作者:巧巧读书 来源:巧巧读书 2008年5月22日

关键字: 局域网解决方案 局域网 局域网管理 局域网设置

  • 评论
  • 分享微博
  • 分享邮件

  对于电子教室、网吧等小型局域网的管理员来说,工作站硬盘的快速安装与出错恢复,是保证整个网络正常运行的首要任务。

  使用赛门铁克公司(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 2000Server,机器名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)写入主板的FlashROM;而一些主板上集成了网卡的品牌机(例如联想、清华同方的商用机),直接支持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。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章