分布式PXE服务器的分配方法和设备与流程

文档序号:17925094发布日期:2019-06-15 00:21阅读:731来源:国知局
分布式PXE服务器的分配方法和设备与流程

本发明涉及计算机领域,尤其涉及一种分布式pxe服务器的分配方法和设备。



背景技术:

pxe(pre-bootexecutionenvironment),预启动执行环境。是由intel设计的协议,它可以使计算机通过网络启动。协议分为客户端(client)和服务器(server)两端,客户端应用(pxeclient)保存在网卡的rom中,当计算机通过网络引导时,bios把客户端应用(pxeclient)调入内存执行,客户端应用(pxeclient)可以根据用户的选择,从服务器(server)上将放置在远端的操作系统通过网络加载到内存并运行。

当前的应用主要是通过网络安装操作系统和无盘工作站。一般的环境服务器和客户端在一个二层网络中,客户端在通过网络启动时,会广播一个地址请求,整个二层网络内所有的计算机都可以接收到,服务器收到请求后会分配ip地址给客户端,经过再次确认后,客户端会使用分配的ip与服务器通信。如果一个网络里面存在多个服务器,会有多个服务器给客户端分配ip,会导致混乱,最终导致pxe服务不可用。所以在实际应用中,一个二层网络里面只会存在一个pxe服务器。

在当前的应用中,pxe服务主要用来通过网络安装操作系统,或者作为无盘工作站的服务端。用作网络安装操作系统时,一般同一时间只这个一种系统的安装;用作无盘工作站时,也是一样为多个工作站推送相同的内容,并且服务的无盘工作站太多时会相应比较慢。

由于只存在一个pxe服务器,如果有多台客户端同时请求服务时,tftp服务需要同时满足多个客户端,压力会比较大,响应速度会变慢。

如果多台客户端需要安装不同的操作系统时,需要在pxe服务器上做较复杂的配置,根据客户端网卡的mac地址推送不同的操作系统所需要的引导文件。

由于只存在一个pxe服务器,当这台服务器出现故障,无法提供服务时,没有备用的服务器可以作为替补,当压力变大,相应变慢时,也没有其它的服务器可以分担压力。



技术实现要素:

本发明的一个目的是提供一种分布式pxe服务的分配方法和设备。

根据本发明的一个方面,提供了一种分布式pxe服务的分配方法,该方法包括:

步骤s1,获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

步骤s2,创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

步骤s3,检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

若无,步骤s4,所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

进一步的,上述方法中,步骤s5中,将所选取的pxe服务器的标记由空闲修改为服务中之后,还包括:

所述pxe客户端安装系统完成后,将所取出的pxe服务器的标记由服务中修改为服务中后重新放入所述pxe服务器池中。

进一步的,上述方法中,步骤s5之后,还包括:

循环执行步骤s3~步骤s5。

进一步的,上述方法中,步骤s5中,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,包括:

将所述pxe客户端的mac地址、被分配的对应的ip地址、对应提供服务的pxe服务器的信息,记录到所述ip/mac地址配对表中;

检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中之后,还包括:

若有,根据所述ip/mac地址配对表,向所述pxe客户端发送其mac地址对应的ip地址和对应提供服务的pxe服务器的信息。

根据本发明的另一面,还提供一种分布式pxe服务器的分配设备,其中,该设备包括:

第一装置,用于获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

第二装置,用于创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

第三装置,用于检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

第四装置,用于当所述pxe客户端对应的mac地址未记录在所述ip/mac地址配对表中,供所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

第五装置,用于将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

进一步的,上述设备中,所述第五装置,还用于所述pxe客户端安装系统完成后,将所取出的pxe服务器的标记由服务中修改为服务中后重新放入所述pxe服务器池中。

进一步的,上述设备中,所述第三装置至第五装置依次循环执行。

进一步的,上述设备中,所述第五装置,用于将所述pxe客户端的mac地址、被分配的对应的ip地址、对应提供服务的pxe服务器的信息,记录到所述ip/mac地址配对表中;

还包括第六装置,用于当所述pxe客户端对应的mac地址已经记录在所述ip/mac地址配对表中,根据所述ip/mac地址配对表,向所述pxe客户端发送其mac地址对应的ip地址和对应提供服务的pxe服务器的信息。

根据本发明的另一面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

步骤s1,获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

步骤s2,创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

步骤s3,检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

若无,步骤s4,所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

步骤s1,获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

步骤s2,创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

步骤s3,检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

若无,步骤s4,所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

与现有技术相比,本发明通过控制pxe服务器上的dhcp服务开关实现不同的pxe客户端访问不同的pxe服务器;通过管理节点对多个pxe服务器进行调度,实现除了分配ip的阶段,其它阶段可以并行提供服务,从而让占用时间较少的dhcp服务串行提供服务,占用时间较多的tftp服务并行提供服务,实现在一个二层网络中,多个pxe服务器同时并行提供不同的pxe服务。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出本发明一实施例的分布式pxe服务器的分配方法的流程图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

如图1所示,本发明提供一种分布式pxe服务器的分配方法,所述方法包括:

步骤s1,获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

在此,同一个二层网络里面有多个pxe服务器,在初始化的时候pxe服务器上的dhcp(dynamichostconfigurationprotocol,动态主机配置协议)服务不启动,只启动tftp(trivialfiletransferprotocol,简单文件传输协议)服务;

步骤s2,创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

在此,可以由管理节点创建一张空白的ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

步骤s3,检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

在此,可以由管理节点检查pxe服务器池中是否有空闲的服务器,并检查网络中是否有正在提供dhcp服务的pxe服务器,如果有空闲的pxe服务器,并且网络中没有正在供dhcp服务的pxe服务器,可以随机在一个pxe服务器池中选取一台服务器,启动该pxe服务器的dhcp服务,等待pxe客户端的请求,通过dhcp服务检查ip/mac地址配对表中检查是否已经记录有的该pxe客户端的mac地址;

若无,步骤s4,所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

在此,当ip/mac地址配对表中没有记录的该pxe客户端的mac地址,所取出pxe服务器为该pxe客户端分配ip地址,然后关闭取出pxe服务器dhcp服务,另外,可以所取出pxe服务器可以把分配的ip地址以及mac地址发送给管理节点记录,所取出pxe服务器同时为pxe客户端提供tftp服务,以供pxe客户端完成安装系统;

步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

在此,可以由管理节点把ip地址和mac计入ip/mac地址配对表,把pxe服务器标记为服务中。

本发明通过控制pxe服务器上的dhcp服务开关实现不同的pxe客户端访问不同的pxe服务器;通过管理节点对多个pxe服务器进行调度,实现除了分配ip的阶段,其它阶段可以并行提供服务,从而让占用时间较少的dhcp服务串行提供服务,占用时间较多的tftp服务并行提供服务,实现在一个二层网络中,多个pxe服务器同时并行提供不同的pxe服务。

本发明的分布式pxe服务器的分配方法一实施例中,将所选取的pxe服务器的标记由空闲修改为服务中之后,还包括:

所述pxe客户端安装系统完成后,将所取出的pxe服务器的标记由服务中修改为服务中后重新放入所述pxe服务器池中。

在此,当的pxe客户端安装完成,不再需要pxe服务时,管理节点回收对应的pxe服务器,将该pxe服务器重新加入标记为空闲的pxe服务器池中,等待再次调度。

本发明的分布式pxe服务器的分配方法一实施例中,步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中之后,还包括:

循环执行步骤s3~步骤s5,以实现为多个不同的pxe客户端分配不同的pxe服务器。

本发明的分布式pxe服务器的分配方法一实施例中,步骤s5中,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,包括:

将所述pxe客户端的mac地址、被分配的对应的ip地址、对应提供服务的pxe服务器的信息,记录到所述ip/mac地址配对表中;

检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中之后,还包括:

若有,根据所述ip/mac地址配对表,向所述pxe客户端发送其mac地址对应的ip地址和对应提供服务的pxe服务器的信息。

在此,当检查到所述pxe客户端对应的mac地址已经记录在所述ip/mac地址配对表,则可以根据所述ip/mac地址配对表,向所述pxe客户端及时提供其mac地址对应的ip地址和对应提供服务的pxe服务器的信息。

根据本发明的另一面,还提供一种分布式pxe服务器的分配设备,其中,该设备包括:

第一装置,用于获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

第二装置,用于创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

第三装置,用于检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

第四装置,用于当所述pxe客户端对应的mac地址未记录在所述ip/mac地址配对表中,供所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

第五装置,用于将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

进一步的,上述设备中,所述第五装置,还用于所述pxe客户端安装系统完成后,将所取出的pxe服务器的标记由服务中修改为服务中后重新放入所述pxe服务器池中。

进一步的,上述设备中,所述第三装置至第五装置依次循环执行。

进一步的,上述设备中,所述第五装置,用于将所述pxe客户端的mac地址、被分配的对应的ip地址、对应提供服务的pxe服务器的信息,记录到所述ip/mac地址配对表中;

还包括第六装置,用于当所述pxe客户端对应的mac地址已经记录在所述ip/mac地址配对表中,根据所述ip/mac地址配对表,向所述pxe客户端发送其mac地址对应的ip地址和对应提供服务的pxe服务器的信息。

根据本发明的另一面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

步骤s1,获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

步骤s2,创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

步骤s3,检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

若无,步骤s4,所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

步骤s1,获取多个pxe服务器组成pxe服务器池,将pxe服务器池中每一个pxe服务器标记为空闲,对pxe服务器池中的每一个pxe服务器进行初始化,以在每一个pxe服务器上关闭的dhcp服务,并开启tftp服务;

步骤s2,创建ip/mac地址配对表,以供后续记录pxe客户端的mac地址以及被分配的ip地址;

步骤s3,检查所述pxe服务器池中是否有标记为空闲的pxe服务器,并且所有的pxe服务器上的dhcp服务均关闭,从空闲的pxe服务器中取出一个pxe服务器,并启动取出的pxe服务器的dhcp服务,获取pxe客户端的请求,基于所述请求获取所述pxe客户端对应的mac地址,检查所述pxe客户端对应的mac地址是否已经记录在所述ip/mac地址配对表中,

若无,步骤s4,所取出的pxe服务器通过其dhcp服务为所述pxe客户端分配对应的ip地址后,关闭其dhcp服务,所取出的pxe服务器通过其tftp服务为所述pxe客户端提供安装系统的服务;

步骤s5,将所述pxe客户端的mac地址以及被分配的对应的ip地址,记录到所述ip/mac地址配对表中,并将所选取的pxe服务器的标记由空闲修改为服务中。

本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1