用于集群系统的节点机远程克隆方法 本发明属于计算机应用领域,是一种用于集群系统的节点机远程克隆技术。
随着集群系统规模的增大,节点机上的操作系统和应用软件的安装成了一个繁重、累赘、重复的体力劳动。对于节点机个数在一百个以上的集群系统,这种安装过程往往需要几个星期,其中所耗费的时间主要是安装过程中的人机交互,而且在人机交互的过程中难免由于操作人员的疲劳而出差错,某些诸如硬盘分区的差错可能导致安装工作地重做,还会导致安装模块的不一致。在这种情况下,需要提出一个很好的解决方案,使得安装的过程自动化,也就是最大限度地减少安装过程中的人机交互。有人提出了一种单一节点上的硬盘复制方案,其技术要点是:母盘和要复制的硬盘安装在同一台机器上,然后通过硬盘之间所有的扇区复制来达到硬盘复制的目的。该方案只能解决本地硬盘复制问题,而且每次只能复制一块硬盘。
可以认为硬盘间的复制是一个较好的解决方案,但是只适用于单机,且每次只能复制一个节点,复制的过程还要比较多的人机交互:如硬盘的插拔、目的硬盘的选择、源盘所在节点的频繁重新启动等,因此它的易用性还不够。
本发明的目的是针对现有技术中的不足,实现基于集群服务器的本地或者异地硬盘复制,而且可以多块硬盘并行复制。
本发明所说的用于集群系统的节点机远程克隆方法是按照下述方法实现的,其结构图如图1。位于上面的方框是克隆服务器1,该服务器上安装有一块固定的母盘2和一块固定的系统盘3,下面方框是同时进行克隆的节点1到节点n,每个节点机4的网卡5上插有一块Flash ROM或者EPROM 6,这些只读存储器里面存放着节点机的启动映像。服务器1和节点机4通过网络相连。在所说的用于集群系统的节点机远程克隆方法发明中包含有三个软件:
1.克隆服务器端软件(安装在克隆服务器上)
2.克隆客户端软件(安装在克隆服务器上,待节点机启动后上传到节点机上运行)
3.节点机启动映像(写入到节点机网卡上的Flash ROM或者EPROM上,用于启动节点机)
本发明所说的用于集群系统的节点机远程克隆方法为:
节点机在加电自举后,BIOS检测到网卡5上的EPROM 6,然后把计算机的控制权转给EPROM 6里面的启动映像,该映像在网络上每隔几秒钟广播一个报文,克隆服务器1接收到这个报文后,通过DHCP协议给该节点机4分配一个IP,节点机4利用这个IP把克隆服务器1上经过修改的Linux内核映像通过TFTP协议下载到本机并且在本机上启动该映像,等到该映像启动完毕,一个简洁的Linux系统就在节点机4上运行。经过修改的Linux内核会立刻启动克隆程序的客户端,客户端会自动地和服务器连接,当用户指定目的硬盘7后便开始网络间硬盘的复制,也就是所提到的克隆。
本发明所说的用于集群系统的节点机远程克隆方法所用到的包:
Etherboot 4.7.6
DHCP
TFTP
NFS
Clone Packet
Etherboot主要是用来生成写在EPROM或者是Flash ROM上启动的映像,而该EPROM/Flash ROM插在网卡上的Boot ROM插槽上。DHCP是动态主机配置协议(Dynamic Host Configuration Protocol)的简写,它被安装到克隆服务器上,并且通过文件/etc/dhcpd.conf来配置,通过命令dhcpd-d-f来启动,主要是根据节点机上网卡的硬件地址来指定节点机的IP地址。节点机通过启动映像启动后,就会在网络上查找启动了DHCP服务的主机(克隆服务器)。该主机根据DHCP配置文件/etc/dhcpd.conf给该节点机分配一个有效的IP地址。节点机使用这个IP地址,通过TFTP(一般的文件传输协议Trivial FileTransfer Protocol)从主机上下载经过修改的Linux内核映像,而主机上必须启动TFTP服务,具体的配置文件是/etc/inet.conf。所说的修改的Linux内核,主要修改了以下部分:把启动shell的语句替换成启动Clone Packet。节点机在启动Linux内核完毕后,自动装载克隆服务器上输出的网络文件系统作为本机的文件系统,这是通过配置克隆服务器上的NFS服务来实现的。这一切完成后,节点机运行克隆客户端程序,该程序和克隆服务器端程序通信,他们各自打开本地的磁盘设备,在建立连接后进行扇区之间的复制。
所说的克隆服务器有以下优点:
1.多个节点机可以同时进行克隆。当多个节点机同时要求进行克隆的时候,克隆服务器可以同时和他们建立联接并进行硬盘间的数据传输。
2.节点之间的克隆完全自动地进行,用户所要做的只是打开节点机的电源、敲入一个回车来选择目的盘,之后的事就完全由克隆服务器和克隆客户程序自动完成。
3.由克隆服务器端提供的直观的图形界面、可让用户方便地查看克隆进行的状况。
4.可避免安装过程中由于人机交互而导致的出错以及模块之间的不一致性。
图1:克隆服务器和克隆客户的工作流程。
实施例:
利用本发明所说的克隆技术,在具有16个节点机上的集群系统实现了克隆,节点机和克隆服务器的具体配置如下: CPU 内存 硬盘 网卡操作系统 网络节点机PIII 500 128M 10.2G 3C905B Linux 6.2 100M交换机服务器PIII 500 256M 母盘10.2G 系统盘13.6G 3C905B Linux 6.2在每个节点机上安装下列系统和应用程序:RedHat Linux 6.1K Development 1.2Qmail 1.03PVM 3.4.2JIAJIA 2.1MySQLSnortFTP ServerApache Server
如果依照现有技术进行人工安装,每安装和配置一个节点需要5个人时,如果采用单机版的硬盘复制工具,安装16个节点需要32次硬盘的拆卸和安装、16次操作系统的重新启动,因为每一次只能复制一块硬盘,而每次复制时间大概要1个小时,再加上上述繁杂的手工操作,整个安装过程需要两个工作日的时间。
如果采用本发明所说的克隆技术,每克隆一个节点大概需要1个小时20分钟,但是由于允许多个节点同时进行克隆,如果在实现的过程中让4个节点同时克隆,这样,每个节点克隆的时间变为2个小时,时间虽然变长,但是因为有4个节点同时克隆,实际上克隆的时间大大变短,变为30分钟/节点,这主要得益于Linux读取硬盘时使用了缓冲区。这样一来,整个安装过程只需要8个小时。
附图中的剖面线部分,标记6表示为插在网卡上面的Flash ROM或者EPROM。