法律状态公告日
法律状态信息
法律状态
2015-09-02
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20111116 终止日期:20140715 申请日:20080715
专利权的终止
2011-11-16
授权
授权
2009-02-18
实质审查的生效
实质审查的生效
2008-12-24
公开
公开
技术领域
本发明属于计算机领域,涉及集群部署技术,特别涉及一种具有自适应传输模型的微操作系统部署方法。
背景技术
集群就是通过高性能网络或局部网将一组计算机系统(节点)互连,形成的具有单一系统映像的计算系统。由于其高性能、高可扩展性、高性价比的优势,用集群构造超级计算机或网络服务器成为一种流行的趋势。
随着应用需求的不断扩大,集群的规模从过去的数百节点扩充到成千上万个节点,如何高效地完成大规模集群系统的部署成为一个挑战性的问题。基于映像的集群部署方法是目前使用最为广泛的一种部署方法,该方法的优点在于可部署任意操作系统和应用。
传统的基于映像的集群部署方法的流程为:
步骤1:启动各待部署节点。
步骤2:各待部署节点启动后,根据其BIOS ROM中的PXE协议要求请求分配IP并请求下载一个微操作系统(包括vmlinuz和initrd.img文件),部署节点响应请求,用DHCP服务给待部署节点分配IP,用TFTP服务提供微操作系统的下载。待部署节点下载结束后,启动该微操作系统。
步骤3:微操作系统启动后,待部署节点启动驻留在微操作系统文件中的系统映像传输程序下载系统映像,下载结束后,恢复映像。
步骤4:映像恢复后,待部署节点从磁盘启动并进入部署后的操作系统,部署过程结束。
在该方法中,微操作系统的下载是一种C/S传输模式。当集群规模较大时,会成为部署系统的性能瓶颈。此外,由于TFTP传输基于UDP协议,当集群规模较大时,TFTP服务器端负载过重,会增加其部署微操作系统失败的概率,可靠性难以保障。
发明内容
本发明的目的在于针对上述现有技术存在的缺陷和不足提供了一种高效、可靠的具有自适应传输模型的微操作系统部署方法。该方法,不仅可用于集群操作系统的部署,也可用于基于无盘的多机系统的部署。
为了实现上述任务,本发明采取如下的技术解决方案:
1、自动捕获各节点MAC。MAC捕获程序驻留在部署服务器端,其执行流程为:
步骤1:MAC捕获程序启动部署服务器的DHCP服务。
步骤2:待部署节点启动后,广播MAC地址,DHCP服务能够捕获MAC地址,并将信息写入DHCP的Leases文件。
步骤3:通过解析Leases文件中的信息,即可提取所有节点MAC地址,并将MAC地址存入节点信息文件。该文件包括三列数据:MAC,IP和部署状态。MAC搜集完后,部署程序自动为每个MAC分配一个IP。节点部署状态用0和1标识,0表示节点未部署,1表示节点已成功部署。MAC捕获成功后,关闭所有节点。
2、微操作系统部署流程。根据集群规模N和TFTP服务器一次最多所能支持的节点数M,该方法自适应地构建传输模型以部署微操作系统,其部署流程如下:
步骤1:创建部署配置文件,该文件是一个键值对文件,其形式如下:
N 256 #N表示集群规模
M 32 #M表示一个TFTP服务器一次最多能部署的节点数
R 224 #R剩余待部署节点数
其中,N的值通过统计节点信息文件中的MAC数目获得,M的值通过实测获得或管理员根据经验进行预估。R为变量,在部署过程中被不断修改,其初始值为N。
步骤2:部署节点读取部署配置文件,比较R和(N-R+1)M的大小。其中,N-R表示已部署的服务器,“1”表示系统指定的初始TFTP服务器。若R>(N-R+1)M,将本次需要部署的节点数目D的值设为(N-R+1)M;否则,将D的值设为R。
步骤3:部署节点从节点信息文件中,选取D个状态标记为0的节点进行部署。具体过程为:
1)部署节点从节点信息文件中,选取D个节点,为D个节点各分配一个固定IP,并为D个节点指定个TFTP服务器。每个TFTP服务器负责部署M个节点。部署节点将D个节点的IP信息以及每个节点所指定的TFTP服务器信息写入DHCP配置文件中,并重新启动DHCP服务以读取新的DHCP配置文件信息。此外,启动各TFTP服务器上的TFTP服务。
2)部署节点利用WOL(Wake-on-LAN)技术启动所要部署的D个节点,这些节点启动后,根据驻留在其BIOS ROM中的PXE协议,从DHCP服务器获取IP,从TFTP服务器获取微操作系统文件并加载微操作系统,加载结束后向部署节点发送部署结束消息。
步骤4:部署节点根据收到的消息,将节点信息文件中本次部署的节点的部署状态标记为1;将部署配置文件中的R的值减去本次部署节点的数目;将DHCP配置文件中本次部署节点的相关信息删除。
步骤5:部署节点读取部署配置文件信息,比较R和(N-R+1)M的大小,若R=0,微操作系统部署过程结束;若0<R≤(N-R+1)M,转入步骤2;若R>(N-R+1)M,参与本次部署的个TFTP服务器分别将微操作系统文件(vmlinuz和initrd.img)发送到其本次部署成功的节点的/tftpboot目录下,本次部署成功的节点启动TFTP服务程序后,即可转变为能够提供TFTP服务的节点。转入步骤2。
本发明的微操作系统包括一个内核文件(vmlinuz)和启动映像文件(initrd.img),vmlinuz是一个基于Linux操作系统的内核文件,initrd.img是微操作系统启动时所使用的根文件系统映像文件,同时它还包括硬件驱动程序,系统映像传输程序以及TFTP服务端程序。
本发明的具有自适应传输模型的微操作系统部署方法,通过比较集群规模N和一个TFTP服务器最多所能同时部署的节点数目M的大小,自适应地构建微操作系统部署模型。从微操作系统部署流程可知,当N≤M时,采用传统的C/S传输模型;当M<N≤2M时,采用C/S传输模型分批部署节点,分批方式克服了由于TFTP服务器端负载过重而导致微操作系统部署失败的缺点。当N>2M时,传输模型自动演化为多叉树传输模型,通过将部分加载了微操作系统的节点转变为可提供TFTP服务的节点,将微操作系统逐层分批部署到树中的每一个节点上。多叉树传输模型克服了单一TFTP服务器部署瓶颈问题,有较好的可扩展性。该方法高效、可靠地实现了集群部署系统中微操作系统的部署过程。
具体实施方式
本发明的方法能够根据集群规模和TFTP服务器部署能力,自动构建微操作系统传输模型,高效可靠地部署微操作系统。
以下为发明人给出的一种具体实施例:
1)节点启动后,捕获节点的MAC地址,并写入节点信息文件中。其实施方式为:先启动DHCP服务,再启动各节点。节点启动后,广播MAC地址,可被DHCP服务程序捕获到,通过读取DHCP租期文件中的信息,即可得到各启动节点MAC。在Red Hat Enterprise Linux AS4.0操作系统中该租期文件为/var/lib/dhcp/dhcpd.leases。通过解析该文件,可得到MAC地址。解析脚本例为:
cat/var/lib/dhcp/dhcpd.leases|grep-o’\<[0-9a-f]\{2\}:[0-9a-f]\{2\}:[0-9a-f]\
{2\}:[0-9a-f]\{2\}:[0-9a-f]\{2\}:[0-9a-f]\{2\}\>’>macListFile
2)捕获到的MAC地址被保存到节点信息文件,该文件包括三列数据:MAC,IP和部署状态,其形式如下:
00:30:48:64:37:FE 192.168.0.40 0
其中,IP由管理员指定。节点部署状态用0和1标识,0表示节点未部署,1表示节点已成功部署。关闭所有节点。
3)根据捕获到的MAC地址数量确定集群规模,根据实测或管理员的经验设定一个TFTP服务器最大可同时部署的节点数目,创建部署配置文件,该文件的形式如下:
N 256 #N表示集群规模
M 32 #M表示一个TFTP服务器一次最多能部署的节点数
R 224 #R剩余待部署节点数
其中,N的值通过统计节点信息文件的MAC数获得,M的值通过实测获得或管理员根据经验进行预估。R为变量,在部署过程中被不断修改,其初始值为N。
4)在部署过程中,根据集群规模自适应地构建传输模型,其构建程序代码如下。
int N=0;//集群规模
int M=0;//一个TFTP服务器一次最多能部署的节点数
int D=0;//本次所需部署节点数
int R=0;//剩余待部署节点数
public void main(){
R=getResNode(deployment_config)//从部署配置文件中得到剩余待部署节点数
While(R!=0){
N=getNumNode(deployment_config)//从部署配置文件中得到集群规模
M=getMaxNode(deployment_config)//从部署配置文件中得到TFTP服务器部署能力
R=getResNode(deployment_config)//从部署配置文件中得到剩余待部署节点数
If(R>(N-R+1)M){
D=(N-R+1)M;
}Else{
D=R
}
str[D]nodeList=getNodes(nodeListFile);//从节点信息文件中选取D个未部署节点
assign(nodeList);//为D个节点指派IP,并将信息写入节点信息文件
//为D个节点指派个TFTP服务器
setDHCPconf();//将D个节点相关信息写入DHCP配置文件,信息格式如5)所示
restart();//重启DHCP服务,并启动TFTP服务器
wakeup(nodeList);//唤醒D个节点,节点下载微操作系统文件并启动,启动后返回消息
setState(nodeList)//把节点信息文件中本次部署成功的D个节点的状态设置为1
setR(R-D);//将部署配置文件中待部署节点数R的值减去D
delDHCP();//将DHCP配置文件中本次部署成功的D个节点的相关信息删除
If(R=0){
break;//部署结束
}Else If(0<R≤(N-R+1)M){
continune;//跳转至while循环处
}Else If(R>(N-R+1)M){
tftpSendFiles(nodeList)//参与本次部署的个TFTP服务器分别将微操作系统文
件发送到其本次部署成功的节点的/tftpboot目录下,将本次
部署成功的节点转变为具有TFTP服务能力的节点
continune; //跳转至while循环处
}
}
}
5)在部署过程中,需要将部署信息写到DHCP配置文件中,DHCP配置文件的形式如下:
ddns-update-style interim;
ignore client-updates;
option space pxelinux;
option pxelinux.magic code 208=string;
option pxelinux.configfile code 209=text;
option pxelinux.pathprefix code 210=text;
option pxelinux.reboottime code 211=unsigned integer 32;
subnet 192.168.0.0 netmask 255.255.255.0{
option domain-name-servers 192.168.0.19;
site-option-space″pxelinux″;
default-lease-time 21600;
max-lease-time 43200;
filename″pxelinux.0″;
host cnode15{
hardware ethernet 00:30:48:64:37:FE;//节点MAC
fixed-address 192.168.0.40; //指定该节点的IP
next-server 192.168.0.20; //指定该节点的tftp服务器
}
... ...
host cnode35{
hardware ethernet 00:30:48:64:37:3A;//节点MAC
fixed-address 192.168.0.41; //指定该节点的IP
next-server 192.168.0.21; //指定该节点的tftp服务器
}
6)TFTP服务端程序被封装到了initrd.img文件中,当节点成功加载了微操作系统后,可通过启动该TFTP服务,将其转换为一个TFTP服务器。本发明利用了开源工具TFTP Server作为TFTP服务端程序。
通过上述实施例可以看出,本发明通过比较集群规模N和一个TFTP服务器最多所能同时部署的节点数目M的大小,能够自适应地构建微操作系统传输模型。当N≤M时,采用传统的C/S传输模型;当M<N≤2M时,采用C/S传输模型分批部署节点,分批方式克服了由于TFTP服务器端负载过重而导致微操作系统部署失败的缺点。当N>2M时,自动演化为多叉树传输模型,通过将部分加载了微操作系统的节点转变为可提供TFTP服务的节点,将微操作系统逐层分批部署到树中的每一个节点上。多叉树传输模型克服了单一TFTP服务器部署瓶颈问题,有较好的可扩展性。表1比较了现有的基于C/S模型的微操作系统部署方法和本方法的部署能力,M为一个TFTP服务器一次最多同时部署的节点数目,t为一个TFTP服务器部署一次微操作系统所需要的部署时间。由结果知,本方法的部署能力随时间增长呈指数增长,部署能力远远超过基于C/S模型的部署方法。该方法高效、可靠地实现了集群部署系统中微操作系统的部署过程。
表1 本方法和现有方法部署能力比较
机译: 基于使用机器学习模型的MIMO-OFDM系统的MIMO-OFDM自适应传输方案确定装置及其自适应传输方法
机译: 用于协调扭矩模型以用于具有期望的扭矩变化的IC发动机的自动输出控制的方法和装置,采用单独的电驱动来辅助补偿从一种模型特征到另一种模型特征的改变
机译: 制造液体液滴微阵列的方法,由相同模型制造的微阵列,包括该模型的材料转移装置以及一种利用具有可变液滴的,可对阵列排列的,具有阵列状的材料的材料转移装置来转移物质的方法