大规模计算机集群系统节点的自动化快速部署方法

文档序号:6533888阅读:250来源:国知局
专利名称:大规模计算机集群系统节点的自动化快速部署方法
技术领域
本发明属于计算机网络技术领域,涉及一种用于大规模计算机集群系统节点的自动化快速部署方法,特别涉及在集群节点上安装部署操作系统和应用软件的方法。
背景技术
高性能集群计算系统目前应用非常广泛,集群的规模也在不断扩大,在集群的构建和运行期间,集群大量节点上操作系统和应用软件包的人工重复安装和升级会成为一项艰巨的任务。
在本发明以前的现有技术中,一般以手动或ghost(Symantec公司开发的硬盘复制软件)硬盘刻录或NFS(net file system,网络文件系统)共享网络安装方法来部署操作系统和应用软件。手动方法以光盘方式,安装每个节点会耗费大量的时间和人力,并且节点的配置过程非常繁琐,很容易出错。在构建集群的工程实践中常用的方法是ghost硬盘刻录的方法,这种方法需要对被安装节点的硬盘进行拆卸,并且要求目标磁盘与源磁盘大小相同;或者是NFS共享网络安装法,即把网络中的一个节点作为NFS服务器,把操作系统安装盘中的文件复制到这个节点上,被安装节点通过网卡或软盘启动,从服务器上下载文件完成安装。
现有的一些部署软件如Oscar(Open Source Cluster Application Resource,开源集群应用软件资源,由Open Cluster Group开发的一套集群应用软件包)和Systemimager(系统镜像器)等都是针对特定集群的,应用范围较小,功能比较单一,操作使用不方便。

发明内容
针对上述现有技术状况,本发明的目的在于提供一种新的用于大规模计算机集群系统节点上的自动化部署方法,以简化集群安装工作,提高效率,实现安装过程的完全自动化。
实现上述目的的技术解决方案是本发明方法是基于客户机/服务器体系结构;节点软件安装采用基于映像的方式;映像是一个完整的系统,含有需要在目标节点上安装的操作系统和应用软件包;所有映像都存储在服务器上;本方法所需的硬件架构中设有一个管理节点作为服务器,目标节点通过通用以太网交换机与管理节点连接,目标节点上需要有支持预引导执行环境(Preboot Execution Environment)和网络唤醒(Wakeup OnLAN)的网卡和主板,目标节点作为该结构中的客户机通过通用以太网交换机与管理节点连接;管理节点作为体系结构中的服务器,包括预引导执行环境(Preboot eXecutionEnvironment)协议的服务端和用于映像传输的远程复制工具的服务器端;管理节点负责创建映像、存储目标节点信息、网络唤醒目标节点以及提供部署过程所需要的服务。在目标节点内存中运行体系结构中的客户端,作为部署代理,负责从管理节点上下载映像并安装到本地的硬盘上。部署代理的运行独立于目标节点硬盘,部署代理包括用于映像传输的远程复制工具的客户端;目标节点的启动过程遵守Intel的预引导执行环境PXE协议;根据PXE协议,管理节点上提供动态主机配置协议DHCP服务、简单文件传送协议TFTP(Trivial File Transfer Protocol,)服务。为了进行映像传输,管理节点上还需要运行远程复制工具的服务器端。
本方法的具体实现步骤是步骤1获得映像可以通过两种方式来获得映像一种是通过安装包来创建映像,即把安装光盘中操作系统和应用软件的安装包复制到管理节点的一个目录中,用安装包直接在管理节点上创建虚拟映像;另一种是从一个源结点捕捉映像,即首先手动的安装好一个节点,作为映像的源节点,源结点上安装了操作系统和需要的各种应用软件,然后从管理节点捕捉源节点的映像并存储。这种方式适合目标节点与源节点是同构的情况步骤2绑定映像与目标节点把目标节点的网络标识信息与映像绑定,确定映像与目标节点的对应关系。其中一个映像可以对应多个目标节点,但是一个目标节点只能对应唯一的映像。
步骤3安装目标节点在进行部署的时候,首先在管理节点上启动DHCP(动态主机配置协议)服务,为目标节点提供网络标识信息;启动TFTP(简单文件传送协议)服务,为目标节点下载部署代理程序提供服务;启动在管理节点与目标节点之间传送映像的远程复制工具的的服务器端;管理节点通过网络唤醒技术(Wakeup On LAN)启动目标节点;目标节点通过网卡启动后,先根据动态主机配置协议DHCP从管理节点获得网络标识,然后根据简单文件传送协议TFTP下载部署代理并在本机内存中运行;部署代理启动后,首先对本机硬盘进行分区,然后使用远程复制工具从管理节点上下载映像到本机硬盘,在本地完成安装,安装完成后,节点自动重启(见图3);步骤4配置目标节点目标节点安装完毕首次启动时,运行配置程序对目标节点的操作系统和应用软件进行配置;经过配置后,目标节点即成为一个可以立即使用的集群节点;步骤5测试集群所有的节点安装完毕,运行测试程序,测试操作系统和应用软件的安装配置是否正确。
本发明方法的优点是A.对用户提供了单一控制点,用户只需要通过终端连接到管理节点上,所有的控制操作都在管理节点上完成。目标节点只需要在BIOS中设置为通过网卡启动,其软件安装过程是完全自动化的;目标节点不需要键盘、鼠标、显示器、光驱、软驱等外围设备。
B.可以同时安装多个节点和不同的映像。通过映像和节点之间的绑定,确定了映像和节点之间的对应关系,可以同时安装多个节点,相互之间不会干扰。
C.集群系统节点操作系统和应用软件包安装配置完全自动化,目标节点完全不需要人工干预。用本方法可以批量安装节点,适合于安装大规模集群系统。


图1本发明方法采用的硬件架构示意图。
图2根据本方法进行集群部署的主要步骤流程图。
图3用本发明方法安装一个目标节点的详细过程示意图。
以下结合附图和实施例对本发明作进一步的详细描述。
具体实施例方式
图1为本方法所采用的硬件架构,“switch”代表通用以太网交换机,“DHCP”代表“动态主机配置协议”,“TFTP”代表“简单文件传送协议”。其中有一个管理节点作为服务器,提供DHCP服务、TFTP服务和映像传输服务,目标节点通过交换机与管理节点相连,从管理节点上下载映像完成安装。
图2根据本方法进行集群部署的主要步骤流程图,表示用本方法进行集群部署的主要步骤。
图3中“bootstrap”的确切含义是引导程序。表示了一个目标节点的详细安装过程,也就是PXE协议的工作过程,图中的映像服务器和DHCP服务器都在管理节点上。
本方法在具体实施的时候,管理节点和目标节点都可以选用普通的商用计算机,管理节点要求必须有键盘、鼠标、光驱、软驱和监视器等输入输出设备,目标节点则不需要这些输入输出设备。管理节点要求有较大的硬盘(大于80G)用来存储映像。要求目标节点的网卡能支持PXE和Wakeup On LAN,只有这样才能从服务器启动目标节点,实现目标节点安装过程的全部自动化。目前一般的商用计算机硬件都能支持这两个功能。
目标节点和管理节点之间通过以太网连接,由于映像文件通常比较大,所以网络带宽对本方法的效率影响很大,要求以太网的带宽是至少是100Mbps,网络介质可以是双绞线和光纤。连接方式可以通过100M或1000M通用交换机。采用星型或点对点的网络模型,所有目标节点都可以与管理节点直接连通。
在管理节点和目标节点之间传送映像的时候,需要选择一个合适的远程复制工具,这个复制工具可以根据实际情况选择,跟映像的操作系统有关,这个复制工具需要能够对映像的文件系统进行读写控制。例如,在Linux操作系统中,可以选用远程同步的软件rsync作为远程复制的工具。
在本方法中,部署代理是一个功能完善的微型操作系统,部署代理中包括远程复制工具的客户端、必要的硬盘和网卡驱动程序、对硬盘进行操作的工具。在具体实施的时候,可以通过定制Linux来得到。部署代理需要在目标节点的内存中运行,并且能够识别本机的硬盘和通过网络与服务器通信,所以需要根据目标节点的不同硬件,编译新的Linux内核,加入硬件的驱动程序。制作与新内核对应的根文件系统映像RAMDISK文件,在其中加入必要的对硬盘进行操作的工具、远程复制工具(例如rsync)的客户端、驱动程序模块(例如SCSI驱动模块)等。
具体步骤如下步骤1获得映像获得映像的方式有两种,一种是在管理节点上创建映像,另一种是从某个源节点上捕捉映像,下面分别介绍这两种方式的具体步骤。
创建映像就是使用一些资源在管理节点上生成映像,这些资源包括操作系统内核、应用软件包、磁盘分区文件等,还需要根据对映像做一些配置,也就是说写需要一些配置的脚本。然后把这些资源按照一定的规则进行安装重组和整合,组成一个相对独立的系统,该系统就是一个映像。
创建映像的步骤一般如下
1)敲入映像桩桩是这个映像的基础,这需要创建一个目录结构,然后加载当前系统的一些必备的文件系统。从某种程度上来说,创建映像是对管理结点操作系统的复制,不过只是复制了管理结点操作系统本身的很少的文件,使得以后的创建有了“桩”。
2)安装系统包创建“桩”后,就能以“桩”为基础,也就是把根目录改变到桩上,安装系统需要的包,成为一个与原文件系统无关,相对独立的文件系统,这就有了映像文件系统的原型。
3)配置映像第二步虽然有了映像,可是该映像还不能使用,还需要对该映像进行一些配置,如磁盘分区等,这样的映像才能使用。当然,这种配置可以更改,基于文件模式的映像提供了更大的灵活性。
捕捉映像的过程类似于拍摄照片的工作方式,首先手动的安装一个源节点,在源节点上安装操作系统和必须的应用软件包,然后从管理结点上不失真的获取源结点的一个映像,获取过程实际上就是一个复制的过程,可以使用rsync等远程复制工具来完成。捕捉映像的步骤如下1)使系统处于静止状态便于获取有效的快照一个正在运行的操作系统需要维护其工作状态,在内存中和硬盘中都保存着工作状态的数据。磁盘快照不能完全克隆硬盘系统的状态。因此,对源节点系统进行映像捕捉时,操作系统必须要作适当的调整便于映像捕捉过程的顺利实施。例如,有时需要临时删除一些识别信息,如日志文件、主机名、IP地址等。这样才能使得获取的映像是一个相对中性的文件,方便移植到其他节点中。
2)捕捉一个不失真的映像首先要检测源节点是否可以捕获映像,然后启动映像捕捉代理,读取源节点磁盘中的文件,把他们存储到管理节点的硬盘中。
3)配置映像对得到的映像进行必要的配置,与创建映像方式不同,捕捉映像的同时也把源节点的磁盘分区信息复制过来了,因此不需要配置磁盘分区。这里的配置主要是对映像中应用软件和操作系统的配置。
步骤2绑定映像与目标节点把目标节点的IP地址、主机名、MAC地址等网络信息与映像绑定,确定映像与目标节点的对应关系。需要建立一个小型数据库来存储节点与映像的对应关系。其中,映像与节点是一对多的关系,即一个映像可以对于多个节点,而一个节点只能对应一个确定的映像。
步骤3安装目标节点在进行部署的时候,需要启动的服务包括DHCP服务、TFTP服务、rsync服务等。DHCP服务器为目标节点提供IP地址,主机名等网络信息,并指定TFTP服务器的位置,通知目标节点到指定的位置去下载启动引导文件。
TFTP服务器为目标节点下载部署代理程序提供服务,在TFTP服务器的根目录中存储了启动引导文件、启动配置文件、Linux内核和根文件系统等。目标节点下载这些文件到本机内存中加载执行。
rsync服务负责管理所有的映像,为管理节点与目标节点间传送映像提供服务。在管理节点上rsync是以守护进程的方式来运行。目标节点启动之后,根据本身的主机名等网络标识信息从服务器上找到本机对应的映像,然后通过rsync从管理节点上把映像复制到本机硬盘。
在这一步中首先需要生成DHCP服务的配置文件,配置文件是根据管理节点数据库中存储的目标节点IP地址、主机名和MAC地址等网络信息来生成的。然后在管理节点上启动DHCP服务、TFTP服务和rsync服务。
目标节点需要与电源接通,并在BIOS中设置为通过网卡启动。在管理节点上启动各项服务之后,从管理节点发送包含目标节点MAC地址的广播包,通过网络唤醒(Wakeup OnLAN)技术启动目标节点。
目标节点收到与本机MAC地址对应的广播包后通过网卡启动,首先从DHCP服务器根据本机的MAC地址获得与本机对应的网络标识信息,然后从TFTP服务器下载网卡启动引导程序和部署代理,部署代理在本机内存中加载启动之后,首先检测并挂载本地的硬盘,然后根据磁盘分区配置文件对本地硬盘进行分区。分区完成之后使用rsync等远程复制工具从服务器上下载与本机对应的映像并完整的复制到本地硬盘,安装完成后,节点自动重启。
步骤4配置目标节点目标节点安装完毕首次启动时,运行配置程序对目标节点的操作系统和应用软件进行配置。因为集群系统是一个松耦和的多机系统,集群中个节点是相对独立的,每个节点都有独立的操作系统和应用软件。为了让集群中的节点能够相互写作对外界提供服务器,就必须对节点进行配置。
在Linux操作系统中,配置过程就是执行一系列的脚本,每个应用软件都有相应的配置脚本,这些脚本在获得映像这一步中就已经写入映像中了。由于每种应用软件的配置方法都不同,所以要根据具体的应用软件来写出配置脚本并存入映像中。在节点首次启动时,调用这些脚本,完成对应用软件的配置。对于Windows操作系统,软件的配置需要调用一些配置工具,用批处理的方式来实现。
经过配置之后,目标节点就是一个可以立即使用的集群节点了。
步骤5测试集群所有的节点安装完毕,运行测试程序,测试操作系统和应用软件的安装配置是否正确。测试程序是在对映像进行配置的时候写入映像中的,是对应用软件的基本功能的测试,例如Linux系统下的并行计算软件MPICH.在完成对软件的配置之后,可以运行一个用MPI编写的小程序,检验运行结果是否正确。
该测试是与应用密切相关的,需要根据不同的应用程序来设计测试程序。由于映像是可以配置的,测试程序可以预先写入映像中。
由于本方法采用的是基于客户机/服务器(Client/Server)结构,映像都存储在管理节点上,所有的目标节点并行的从管理节点上下载映像。所以在可靠传输假设和公平共享带宽的前提下,可以根据网络带宽来推算集群部署所需要的时间。根据集群部署过程可以得出下面的计算部署时间的公式部署时间=传输映像准备时间+传输映像时间=传输映像准备时间+节点个数×映像大小/网络带宽用字母表示为T=C+n×S×8/W (公式1)其中T为部署时间;C为传输映像准备时间,也就是从目标节点网卡启动到映像部署代理在内存中加载运行这段时间,可以认为是一个常量;n为同时部署的目标节点个数;S为映像大小(MB);W为网络带宽(Mb/s)。
在山东省高性能计算中心的集群搭建过程中,使用了根据本发明方法设计的集群部署软件,该集群的硬件环境如下管理节点是浪潮英信NF260(2个Xeon 2.4GHz CPU,内存4GB,SCSI Ultra320,1000Mb网卡)。目标节点是浪潮NF170,内存为2G,IDE硬盘,100Mb网卡,无光驱、软驱、键盘和显示终端。主干网用千兆交换机通过光纤连接,管理节点接到主干网上,96个目标节点分成3个子网,子网通过双绞线连接到百兆交换机,再通过百兆交换机连接到主干网。
映像获取采用映像捕捉方式,获得的映像大小为3.7G。通过网络唤醒87个节点同时开机(有9个节点因为设置原因没有启动成功),从网卡启动进行软件部署。最终完成部署所需要的时间是48分钟。部署过程中检测得到网络的平均传输速率为990Mb。映像传输准备时间是150秒,则根据公式1的计算部署时间T=150+3700×8×87/990=2751秒=46分钟。该时间与实验统计时间基本吻合,证明公式1是正确的。
从公式1可以看到,部署所需要的时间与同时安装的目标节点数目成线性关系,而该线性关系的系数是由映像的大小和网络带宽决定的。映像越大,系数越大,部署所需要的时间越长;网络带宽越大,系数越小,部署所需要的时间越短。
权利要求
1.一种大规模计算机集群系统节点的自动化快速部署方法,其特征在于,该方法基于客户机/服务器体系结构,节点软件安装采用基于映像的方式,映像是一个完整的系统,含有需要在目标节点上安装的操作系统和应用软件包;所有映像都存储在服务器上;本方法所需的硬件架构中设有一个管理节点作为服务器,目标节点通过通用以太网交换机与管理节点连接,目标节点上需要有支持预引导执行环境和网络唤醒的网卡和主板,目标节点作为该结构中的客户机通过通用以太网交换机与管理节点连接;1)、管理节点是体系结构中的服务器端,包括用于映像传输的服务器端和预引导执行环境协议的服务端,负责创建映像、管理映像、存储目标节点信息、网络唤醒目标节点以及提供部署过程所需要的各种服务;2)、目标节点是体系结构中的客户端,从管理节点获得部署代理,部署代理负责从作为服务器的管理节点上下载映像并安装到本地的硬盘上;3)、目标节点的启动过程遵守Intel的预引导执行环境协议,在管理节点上提供动态主机配置协议DHCP、简单文件传送协议TFTP服务和用于传输映像的服务;4)、在目标节点与管理节点之间进行映像传输的时候,使用不同的基于客户机/服务器体系结构的远程复制工具。
2.如权利要求1所述的方法,其特征在于,所述的集群系统节点自动化快速部署方法的具体步骤是步骤1获得映像通过下述两种方式来获得映像第一种是通过安装包来创建映像,即把安装光盘中操作系统和应用软件的安装包复制到管理节点的一个目录中,用安装包直接在管理节点上创建虚拟映像;第二种是从一个源结点捕捉映像,即首先手动的安装好一个节点,作为映像的源节点,源结点上安装了操作系统和需要的各种应用软件,然后从管理节点捕捉源节点的映像并存储,适合目标节点与源节点是同构的情况;步骤2绑定映像与目标节点把目标节点的网络标识信息与映像绑定,确定映像与目标节点的对应关系,其中一个映像对应多个目标节点,但是一个目标节点只能对应唯一的映像;步骤3安装目标节点在进行部署的时候,首先在管理节点上启动DHCP服务,为目标节点提供网络标识信息;启动TFTP服务,为目标节点下载部署代理程序提供服务;启动在管理节点与目标节点之间传送映像的远程复制工具的服务器端;管理节点通过Wakeup On LAN启动目标节点;目标节点通过网卡启动后,先根据动态主机配置协议DHCP从管理节点获得网络标识,然后根据简单文件传送协议TFTP下载部署代理并在本机内存中运行;部署代理从管理节点上下载映像,在本地完成安装,安装完成后,节点自动重启;步骤4配置目标节点目标节点安装完毕首次启动时,运行配置程序对目标节点的操作系统和应用软件进行配置;经过配置后,目标节点即成为一个立即使用的集群节点;步骤5测试集群系统所有的节点安装完毕,运行测试程序,测试操作系统和应用软件的安装配置是否正确。
3.如权利要求1或2所述的方法,其特征在于所述的目标节点在BIOS中设置为通过网卡启动,其软件安装过程完全自动化;目标节点不需要键盘、鼠标、显示器、光驱、软驱等外围设备;所有的操作都在管理节点上完成。
4.如权利要求1或2所述的方法,其特征在于所述部署代理采用通过手动定制,它是一个完善的微型操作系统,在目标节点内存中运行,独立于目标节点硬盘;部署代理中包括有远程复制工具的客户端、必要的硬盘和网卡驱动程序、对硬盘进行操作的工具。
全文摘要
本发明涉及一种大规模计算机集群系统节点的自动化快速部署方法,采用基于映像的安装方式和客户机/服务器结构,使用预引导执行环境PXE协议、动态主机配置协议DHCP、简单文件传送协议TFTP和网络唤醒技术Wakeup On LAN等技术来实现大规模集群系统的快速自动化部署。本方法包括获得映像、绑定映像与目标节点、安装目标节点、配置目标节点、测试等五个步骤实现了集群系统节点安装过程的完全自动化。与传统的计算机集群系统部署方式相比,该方法极大的简化了集群系统节点安装过程,能大幅度提高工作效率。
文档编号G06F17/30GK1731738SQ200510043160
公开日2006年2月8日 申请日期2005年8月30日 优先权日2005年8月30日
发明者董小社, 李纪云, 孙发龙, 伍卫国, 胡雷钧, 王恩东, 王守昊 申请人:西安交通大学, 浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1