CN101330514A - 一种具有自适应传输模型的微操作***部署方法 - Google Patents
一种具有自适应传输模型的微操作***部署方法 Download PDFInfo
- Publication number
- CN101330514A CN101330514A CNA2008101503445A CN200810150344A CN101330514A CN 101330514 A CN101330514 A CN 101330514A CN A2008101503445 A CNA2008101503445 A CN A2008101503445A CN 200810150344 A CN200810150344 A CN 200810150344A CN 101330514 A CN101330514 A CN 101330514A
- Authority
- CN
- China
- Prior art keywords
- node
- deployment
- micro
- file
- tftp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
一种具有自适应传输模型的微操作***部署方法,该方法通过比较集群中节点规模N和一个TFTP服务器最多所能同时部署的节点数目M的大小,自适应地构建微操作***传输模型。当N≤M时,采用C/S传输模型部署微操作***;当M<N≤2M时,采用C/S传输模型分批部署节点,分批方式克服了由于TFTP服务器端负载过重而导致微操作***部署失败的缺点。当N>2M时,自动演化为多叉树传输模型,通过将部分加载了微操作***的节点转变为可提供TFTP服务的节点,将微操作***逐层分批部署到树中的每一个节点上。多叉树传输模型克服了单一TFTP服务器部署瓶颈问题,有较好的可扩展性,其部署能力随时间增长呈指数增长。该方法高效、可靠地实现了多节点计算***中微操作***的部署过程。
Description
技术领域
本发明属于计算机领域,涉及集群部署技术,特别涉及一种具有自适应传输模型的微操作***部署方法。
背景技术
集群就是通过高性能网络或局部网将一组计算机***(节点)互连,形成的具有单一***映像的计算***。由于其高性能、高可扩展性、高性价比的优势,用集群构造超级计算机或网络服务器成为一种流行的趋势。
随着应用需求的不断扩大,集群的规模从过去的数百节点扩充到成千上万个节点,如何高效地完成大规模集群***的部署成为一个挑战性的问题。基于映像的集群部署方法是目前使用最为广泛的一种部署方法,该方法的优点在于可部署任意操作***和应用。
传统的基于映像的集群部署方法的流程为:
步骤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,并将信息写入节点信息文件
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){
件发送到其本次部署成功的节点的/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 本方法和现有方法部署能力比较
Claims (4)
1、一种具有自适应传输模型的微操作***部署方法,其特征在于,节点启动后,捕获各节点的MAC地址,根据MAC地址数目确定集群规模N,比较集群规模N和一个TFTP(Trival File Transfer Protocol)服务器最多所能同时部署的节点数M的大小,自适应地构建微操作***部署模型;当N≤2M时,采用传统的C/S(Client/Server)部署模型;当N>2M时,自动演化为多叉树传输模型,将微操作***逐层传输到树中的每一个节点上;通过赋予树中每一个非叶子节点提供TFTP服务的能力,将这部分加载了微操作***的节点转变为可提供TFTP服务的节点,使***形成多个TFTP服务器。
2、如权利要求1所述的具有自适应传输模型的微操作***部署方法,其特征在于,所述的微操作***包括一个内核文件(vmlinuz)和启动映像文件(initrd.img),vmlinuz是一个基于Linux操作***的内核文件,initrd.img是微操作***启动时所使用的根文件***映像文件,同时它还包括硬件驱动程序,***映像传输程序以及TFTP服务端程序。
3、如权利要求1所述的具有自适应传输模型的微操作***部署方法,其特征在于,所说的自动捕获各节点MAC的方法流程为:
步骤1:部署服务器启动DHCP服务;
步骤2:启动所有节点,部署节点启动后,广播MAC地址,DHCP服务捕获MAC地址,并将信息写入DHCP的Leases文件;
步骤3:通过解析Leases文件中的信息,即可提取所有节点MAC地址,并将MAC地址存入节点信息文件,该文件包括三列数据:MAC,IP和部署状态;MAC搜集完后,部署程序自动为每个MAC分配一个IP,节点部署状态用0和1标识,0表示节点未部署,1表示节点已成功部署;MAC捕获成功后,关闭所有节点。
4、如权利要求1所述的具有自适应传输模型的微操作***部署方法,其特征在于,根据集群规模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服务;
所说的包括一个内核文件(vmlinuz)和启动映像文件(initrd.img),vmlinuz是一个基于Linux操作***的内核文件,initrd.img是微操作***启动时所使用的根文件***映像文件,同时它还包括硬件驱动程序,***映像传输程序以及TFTP服务端程序。
2)部署节点利用WOL(Wake-on-LAN)技术启动所要部署的D个节点,这些节点启动后,根据驻留在其BIOS ROM中的PXE协议,从DHCP服务器获取IP,从TFTP服务器获取微操作***文件并加载微操作***,加载结束后向部署节点发送部署结束消息;
步骤4:部署节点根据收到的消息,将节点信息文件中本次部署的节点的部署状态标记为1;将部署配置文件中的R的值减去本次部署节点的数目;将DHCP配置文件中本次部署节点的相关信息删除;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101503445A CN101330514B (zh) | 2008-07-15 | 2008-07-15 | 一种具有自适应传输模型的微操作***部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101503445A CN101330514B (zh) | 2008-07-15 | 2008-07-15 | 一种具有自适应传输模型的微操作***部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101330514A true CN101330514A (zh) | 2008-12-24 |
CN101330514B CN101330514B (zh) | 2011-11-16 |
Family
ID=40206099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101503445A Expired - Fee Related CN101330514B (zh) | 2008-07-15 | 2008-07-15 | 一种具有自适应传输模型的微操作***部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101330514B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882799A (zh) * | 2012-09-13 | 2013-01-16 | 曙光信息产业(北京)有限公司 | 流量可控的集群部署配置***与方法 |
CN105743680A (zh) * | 2014-12-11 | 2016-07-06 | 深圳云之家网络有限公司 | 一种集群部署方法及部署设备 |
CN107766055A (zh) * | 2017-09-29 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种基于GUI模块的客户端Linux***安装方法 |
CN115525302A (zh) * | 2022-09-23 | 2022-12-27 | 北京大学 | 一种大规模数字对象仓库集群的部署方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731738A (zh) * | 2005-08-30 | 2006-02-08 | 西安交通大学 | 大规模计算机集群***节点的自动化快速部署方法 |
CN1848787A (zh) * | 2006-04-30 | 2006-10-18 | 西安交通大学 | 一种集群服务器***节点的自动化快速部署方法 |
-
2008
- 2008-07-15 CN CN2008101503445A patent/CN101330514B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882799A (zh) * | 2012-09-13 | 2013-01-16 | 曙光信息产业(北京)有限公司 | 流量可控的集群部署配置***与方法 |
CN105743680A (zh) * | 2014-12-11 | 2016-07-06 | 深圳云之家网络有限公司 | 一种集群部署方法及部署设备 |
CN105743680B (zh) * | 2014-12-11 | 2019-02-12 | 深圳云之家网络有限公司 | 一种集群部署方法及部署设备 |
CN107766055A (zh) * | 2017-09-29 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种基于GUI模块的客户端Linux***安装方法 |
CN115525302A (zh) * | 2022-09-23 | 2022-12-27 | 北京大学 | 一种大规模数字对象仓库集群的部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101330514B (zh) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6954852B2 (en) | System for and method of network booting of an operating system to a client computer using hibernation | |
US8352624B2 (en) | System for and method of streaming data to a computer in a network | |
US7321936B2 (en) | System for and method of streaming data to a computer in a network | |
EP2127325B1 (en) | Operating system deployment in a peer-to-peer computing environment | |
US9191460B2 (en) | Selective sub-net filtering in a pre-boot execution environment (PXE) | |
CN1731738A (zh) | 大规模计算机集群***节点的自动化快速部署方法 | |
US20070157016A1 (en) | Apparatus, system, and method for autonomously preserving high-availability network boot services | |
US7953793B2 (en) | Distributed preboot execution environment (PXE) server booting | |
US7082527B2 (en) | Method and system for rapid repurposing of machines in a clustered, scale-out environment | |
CN101820387B (zh) | 一种易扩展的快速机群部署方法 | |
CN1848787A (zh) | 一种集群服务器***节点的自动化快速部署方法 | |
CN101330514B (zh) | 一种具有自适应传输模型的微操作***部署方法 | |
CN115080479B (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
CN109634713A (zh) | 一种虚拟机启动方法以及装置 | |
EP1495418B1 (en) | System for and method of network booting of an operating system to a client computer using hibernation | |
CN109600439A (zh) | 基于微服务的PaaS平台的部署方法及PaaS平台 | |
CN1625734A (zh) | 将数据流式传输至一网络中的计算机的***和方法 | |
JP5444257B2 (ja) | ソフトウェアイメージ配信方法、リポジトリ装置、サーバおよびシステム | |
CN202679420U (zh) | 一种快速、无人值守化操作的*** | |
Aryotejo et al. | Open Source network boot server for low-cost computer network learning | |
Manabe | Disk cloning program ‘dolly+’for system management of pc linux cluster | |
Hendriks et al. | How to build a fast and reliable 1024 node cluster with only one disk | |
JP2010186356A (ja) | 計算機システム | |
JP2008165823A (ja) | データをネットワーク上のコンピューターにストリームするためのシステム及び方法 | |
JP2008198210A (ja) | ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111116 Termination date: 20140715 |
|
EXPY | Termination of patent right or utility model |