一种动态主机配置协议的实现方法及系统与流程

文档序号:15980714发布日期:2018-11-17 00:17阅读:227来源:国知局

本申请涉及但不限于虚拟化平台技术领域,尤指一种动态主机配置协议(dhcp,dynamichostconfigurationprotocol)的实现方法及系统。

背景技术

随着公有云和私有云的快速发展和部署,越多越多的企业会将自己的实际业务部署在数据中心的虚拟化平台上。如果依旧采用静态网络协议(ip,internetprotocol)地址的方式对虚拟机ip地址进行管理,企业业务的增加会使管理员的工作量剧增,同时亦有可能导致ip冲突,从而影响正在使用的业务。与此同时,虚拟化网络在网络隔离性、联通性和安全性方面有着自己的独特要求,传统的dhcp服务器并不能完全满足需求。

目前在虚拟化平台中所采用的dhcp方案,一般情况下会将dhcp代理服务器放置在虚拟化平台的某个计算节点或者管理节点上。然而,这种情况下,当计算节点或管理节点出现故障时,容易导致整个虚拟化平台的dhcp服务不可用,存在单点故障。另外,只有一个dhcp代理服务器,也存在单点故障问题,容易导致整个平台的dhcp服务不可用。



技术实现要素:

本申请实施例提供了一种动态主机配置协议(dhcp)的实现方法及系统,能够提高虚拟化平台的dhcp服务的可用性。

一方面,本申请实施例提供一种dhcp的实现方法,包括:

虚拟化平台的管理节点在多个计算节点上创建分布式虚拟交换机;

基于所述分布式虚拟交换机,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块;其中,所述dhcp服务模块和所述dhcp管理服务模块用于给所在的计算节点所承载的虚拟机提供dhcp服务。

另一方面,本申请实施例提供一种dhcp的实现方法,应用于虚拟化平台中的计算节点,其中,所述计算节点上基于分布式虚拟交换机启动有dhcp服务模块和dhcp管理服务模块,所述方法包括:

所述计算节点通过所述dhcp服务模块响应虚拟机发出的dhcp服务请求;通过所述dhcp服务模块根据所述dhcp服务请求,确定提供给所述虚拟机的dhcp服务信息,并通过所述dhcp管理服务模块将所述dhcp服务信息上报给虚拟化平台中的管理节点;通过所述dhcp管理服务模块接收所述管理节点对所述dhcp服务信息的分析结果。

再一方面,本申请实施例提供一种dhcp的实现系统,包括:虚拟化平台的管理节点以及多个计算节点;所述管理节点分别连接所述多个计算节点;所述管理节点适于在所述多个计算节点上创建分布式虚拟交换机,并基于所述分布式虚拟交换机,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块;其中,所述dhcp服务模块和所述dhcp管理服务模块用于给所在的计算节点所承载的虚拟机提供dhcp服务。

此外,本申请实施例还提供一种计算机可读介质,存储有dhcp的实现程序,所述实现程序被处理器执行时实现上述dhcp的实现方法的步骤。

本申请实施例中,虚拟化平台的管理节点在多个计算节点上创建分布式虚拟交换机(dvs);基于dvs,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块;其中,dhcp服务模块和dhcp管理服务模块用于给所在的计算节点所承载的虚拟机提供dhcp服务。本实施例借助于分布式虚拟交换机,将dhcp服务设计为分布式系统服务,避免了传统方式存在的单点故障问题,并且实现了虚拟化平台中多个计算节点的统一管理和配置,提高了虚拟化平台中dhcp服务的可用性,以及用户操作的便捷性。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请实施例提供的dhcp的实现系统的示意图;

图2为本申请实施例提供的dhcp的实现系统的执行流程示意图;

图3为本申请实施例提供的一种dhcp的实现方法的示意图;

图4为本申请实施例提供的另一种dhcp的实现方法的示意图;

图5为本申请实施例提供的管理节点的示意图;

图6为本申请实施例提供的计算节点的示意图。

具体实施方式

下面将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例提供一种dhcp的实现方法及系统,方便用户创建虚拟机时可自动获取网络协议(ip)地址,无需进入虚拟机操作系统进行手动配置,从而减少用户操作步骤。尤其在批量创建虚拟机时,可以大大减少用户操作,并可以进行统一管理。

图1为本申请实施例提供的dhcp的实现系统的示意图。如图1所示,本实施例提供的dhcp的实现系统,包括:虚拟化平台的管理节点101以及多个计算节点(比如,计算节点102a、102n);其中,管理节点101分别连接多个计算节点(比如,计算节点102a、102n)。

本实施例中,管理节点101适于在多个计算节点上创建分布式虚拟交换机(dvs,distributedvirtualswitch),并基于分布式虚拟交换机,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块;其中,dhcp服务模块和dhcp管理服务模块用于给所在的计算节点所承载的虚拟机提供dhcp服务。例如,在图1中,在计算节点102a上启动dhcp服务模块1020a和dhcp管理服务模块1022a,dhcp服务模块1020a和dhcp管理服务模块1022a用于给计算节点102a所承载的虚拟机提供dhcp服务;在计算节点102n上启动dhcp服务模块1020n和dhcp管理服务模块1022n,dhcp服务模块1020n和dhcp管理服务模块1022n用于给计算节点102n所承载的虚拟机提供dhcp服务。

其中,分布式虚拟交换机(dvs,distributevirtualswitch)是虚拟网络中实现虚拟交换机的一种方式。使用分布式虚拟交换机可以同时管理多台虚拟化计算节点上的虚拟交换机,并确保每个计算节点之间虚拟化网络配置的一致性。利用分布式虚拟化网络技术,可以实现与物理交换机同样的效果,实现虚拟机之间的内部流量转发或者通过连接到物理以太网卡与外部网络进行数据交换,并且实现计算节点之间的统一管理。并且在虚拟化平台中,dvs可以实现更加统一的计算节点管理,保障数据的安全稳定,实现虚拟机的迁移,ha(highavailability,高可用)数据容灾等功能。

本实施例中,任一计算节点(比如,计算节点102a或计算节点102n)可以适于通过dhcp服务模块响应虚拟机发出的dhcp服务请求;通过dhcp服务模块根据dhcp服务请求,确定提供给虚拟机的dhcp服务信息,并通过dhcp管理服务模块将dhcp服务信息上报给管理节点101;通过dhcp管理服务模块接收管理节点101对dhcp服务信息的分析结果。

换言之,在本实施例中,关于dhcp服务,任一计算节点可以通过dhcp服务模块实现与虚拟机之间的交互,通过dhcp管理服务模块实现与管理节点之间的交互。

在一示例性实施方式中,管理节点101可以通过以下方式基于分布式虚拟交换机,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块:通过配置计算节点的物理网卡为上行链路,使得计算节点之间的虚拟网络连通;在分布式虚拟交换机上创建虚拟网络;在虚拟网络上创建dhcp连接的端口,并配置dhcp服务模块所用的ip地址;在端口启动dhcp服务模块和dhcp管理服务模块。

在一示例性实施方式中,管理节点还可以适于接收并存储每个计算节点上的dhcp管理服务模块发送的所在的计算节点的dhcp服务信息。

在一示例性实施方式中,管理节点还可以适于根据多个计算节点的dhcp服务信息,分析每个计算节点上的dhcp服务模块给虚拟机生成的dhcp服务信息是否可用,并将分析结果反馈给对应的计算节点上的dhcp管理服务模块。

本实施例在虚拟化平台中基于dvs设置dhcp服务模块,在虚拟化平台中实现了分布式的dhcp服务,便于管理员配置管理,解决了传统的单点故障问题。为了实现分布式的dhcp服务,设计了dhcp管理服务模块,可以在不同的计算节点之间实现数据的同步,避免产生ip地址冲突等故障。

图2为本申请实施例提供的dhcp的实现系统的执行流程示意图。本实施例的前置条件包括:虚拟化平台所有节点网络连通,功能正常;虚拟化平台支持dvs,虚拟化平台的计算节点支持启动dhcp服务。

如图2所示,本实施例中的dhcp的实现系统执行以下步骤:

步骤201、虚拟化平台的管理节点在所有计算节点创建dvs;

步骤202、管理节点配置计算节点的任意物理网卡为上行链路,实现计算节点之间虚拟网络连通;

步骤203、管理节点在dvs上创建虚拟网络,其中,虚拟机可以添加虚拟网卡接入虚拟网络,添加的同时可以设定虚拟网络的相关信息,例如:名称、vlan(virtuallocalareanetwork,虚拟局域网)等;

步骤204、在虚拟网络上创建dhcp连接的端口,并配置dhcp服务模块所用ip地址,然后在该端口启动dhcp服务模块dhcp管理服务模块。

步骤205、任一计算节点上启动的dhcp服务模块接收虚拟机的dhcp服务请求,并提供dhcp服务信息,并将dhcp服务信息上报给所在计算节点上启动的dhcp管理服务模块;

在本步骤中,dhcp服务模块会响应每个虚拟机发出的搜索dhcp服务器的数据包,其中携带dhcp服务请求;然后,dhcp服务模块在接收到虚拟机的dhcp服务请求后,会提供dhcp服务相关租约并将dhcp服务信息(比如,包括租约参数信息)上报给dhcp管理服务模块。

步骤206、dhcp管理服务模块将dhcp服务信息同步至管理节点;

在本实施例中,dhcp管理服务模块的功能主要有以下两点:监听dvs上行链路,拦截出计算节点的dhcp相关报文;将计算节点内dhcp服务信息,比如,包括欲分配的虚拟机名称、网卡mac(mediaaccesscontrol,媒体访问控制)地址、ip地址、获取时间、dhcp租期等信息,同步至管理节点的数据库,并且获取管理节点对dhcp服务信息的分析结果。

步骤207、管理节点根据从多个计算节点同步的dhcp服务信息,分析每个计算节点的dhcp服务信息,并反馈分析结果给相应计算节点的dhcp管理服务模块;比如,可以依据获取时间进行分析,给出相应的ip地址是否可用的分析结果,然后将分析结果反馈给对应计算节点上的dhcp管理服务模块。

其中,当判定某一计算节点的dhcp服务信息可用,则执行步骤208,当判定某一计算节点的dhcp服务信息不可用,则返回执行步骤205,即该计算节点上的dhcp管理服务模块可以通知该计算节点上的dhcp服务模块重新生成dhcp服务信息(比如,租约信息)。

步骤208、计算节点上的dhcp管理服务模块根据分析结果(即dhcp服务信息可用),通知该计算节点上的dhcp服务模块向虚拟机下发dhcp服务信息;其中,虚拟机接收到dhcp服务信息后决定是否保存,并将结果反馈给dhcp服务模块。

步骤209、dhcp服务模块根据虚拟机的反馈结果,确定dhcp服务信息是否成功下发;其中,当虚拟机反馈成功保存,则确定dhcp服务信息下发成功(即dhcp租约成功),此时,dhcp服务模块可以将dhcp服务信息记入本地数据库,并将其通过dhcp管理服务模块同步到管理节点的数据库;当虚拟机反馈未成功保存,则确定dhcp服务信息下发失败(即dhcp租约不成功),此时流程结束。

本实施例利用分布式虚拟化网络技术,将dhcp服务模块和dhcp管理服务模块启动在每一台计算节点上,每个计算节点的dhcp服务模块和dhcp管理服务模块只负责所在的计算节点所承载的虚拟机,避免了单点故障的可能性,任意计算节点上的dhcp服务停止工作或计算节点宕机均不会影响其他计算节点上的服务状态;而且在管理节点上统计了所有计算节点的dhcp服务信息,便于管理员批量查询管理,在不同的计算节点之间,实现dhcp服务信息的数据同步,避免出现ip冲突等问题,实现了多个计算节点的统一管理和配置,提高了dhcp服务的高可用性,以及用户操作的便捷性。

图3为本申请实施例提供的一种dhcp的实现方法的流程图。本实施例提供的方法应用于虚拟化平台的管理节点。其中,虚拟化平台中可以包括管理节点以及多个计算节点。

如图3所示,本实施例提供的dhcp的实现方法包括以下步骤:

步骤301、管理节点在多个计算节点上创建分布式虚拟交换机(dvs);

步骤302、基于分布式虚拟交换机,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块;其中,dhcp服务模块和dhcp管理服务模块用于给所在的计算节点所承载的虚拟机提供dhcp服务。

在一示例性实施方式中,步骤302可以包括:通过配置计算节点的物理网卡为上行链路,使得计算节点之间的虚拟网络连通;在分布式虚拟交换机上创建虚拟网络;在虚拟网络上创建dhcp连接的端口,并配置dhcp服务模块所用的ip地址;在端口启动dhcp服务模块和dhcp管理服务模块。

在一示例性实施方式中,dhcp的实现方法还可以包括:管理节点接收并存储每个计算节点上的dhcp管理服务模块发送的该计算节点的dhcp服务信息。

示例性地,dhcp服务信息可以包括欲分配的虚拟机名称、网卡mac、ip地址、获取时间、dhcp租期等。

在一示例性实施方式中,dhcp的实现方法还可以包括:管理节点根据多个计算节点的dhcp服务信息,分析每个计算节点上的dhcp服务模块给虚拟机生成的dhcp服务信息是否可用,并将分析结果反馈给对应的计算节点上的dhcp管理服务模块。

比如,管理节点根据多个计算节点的dhcp服务信息,依据获取时间进行分析,给出计算节点上的dhcp服务模块分配的ip地址是否可用的分析结果,然后将分析结果反馈给计算节点上的dhcp管理服务模块。

本实施例可以避免dhcp服务单点故障,任意计算节点上的dhcp服务停止工作或计算节点宕机均不会影响其他计算节点上的服务状态,分布式技术的引入便于管理员批量配置操作。而且,在管理节点上统计了所有计算节点的dhcp服务信息,便于管理员批量查询管理。

图4为本申请实施例提供的另一dhcp的实现方法的流程图。本实施例提供的方法应用于虚拟化平台中的计算节点,其中,计算节点上基于分布式虚拟交换机启动有dhcp服务模块和dhcp管理服务模块。

如图4所示,本实施例提供的dhcp的实现方法包括以下步骤:

步骤401、计算节点通过dhcp服务模块响应虚拟机发出的dhcp服务请求;

步骤402、通过dhcp服务模块根据dhcp服务请求,确定提供给虚拟机的dhcp服务信息,并通过dhcp管理服务模块将dhcp服务信息上报给虚拟化平台中的管理节点;

步骤403、通过dhcp管理服务模块接收管理节点对dhcp服务信息的分析结果。

在一示例性实施方式中,本实施例的dhcp的实现方法还可以包括:通过dhcp管理服务模块根据分析结果,确定是否通过dhcp服务模块向虚拟机下发所述dhcp服务信息。

示例性地,当分析结果表明dhcp服务信息可用,则通过dhcp管理服务模块通知dhcp服务模块向虚拟机下发dhcp服务信息;当分析结果表明dhcp服务信息不可用,则通过dhcp管理服务模块通知dhcp服务模块重新给虚拟机生成dhcp服务信息。

本实施例在虚拟化平台中实现分布式的dhcp服务,避免了dhcp服务单点故障,任意计算节点上的dhcp服务停止工作或计算节点宕机均不会影响其他计算节点上的dhcp服务状态,并且将dhcp服务依托于dvs做成分布式服务,便于管理员批量操作。

关于图3和图4所述实施例的实现细节可以参照图2所示的执行流程的相关说明,故于此不再赘述。

本申请实施例还提供一种dhcp的实现装置,应用于虚拟化平台的管理节点,包括:创建单元,适于在多个计算节点上创建分布式虚拟交换机;启动单元,适于基于分布式虚拟交换机,在每个计算节点上启动dhcp服务模块和dhcp管理服务模块;其中,dhcp服务模块和dhcp管理服务模块用于给所在的计算节点所承载的虚拟机提供dhcp服务。

在一示例性实施方式中,启动单元适于执行以下处理:通过配置计算节点的物理网卡为上行链路,使得计算节点之间的虚拟网络连通;在分布式虚拟交换机上创建虚拟网络;在虚拟网络上创建dhcp连接的端口,并配置dhcp服务模块所用的网络协议地址,在端口启动dhcp服务模块和dhcp管理服务模块。

在一示例性实施方式中,dhcp的实现装置还可以包括:接收单元和存储单元;接收单元适于接收每个计算节点上的dhcp管理服务模块发送的该计算节点的dhcp服务信息;存储单元适于存储多个计算节点的dhcp服务信息。

在一示例性实施方式中,dhcp的实现装置还可以包括:分析单元和发送单元;分析单元适于根据多个计算节点的dhcp服务信息,分析每个计算节点上的dhcp服务模块给虚拟机生成的dhcp服务信息是否可用;发送单元适于将分析结果反馈给对应的计算节点上的dhcp管理服务模块。

关于本实施例提供的dhcp的实现装置的相关说明可以参照图2和图3对应实施例的描述,故于此不再赘述。

本申请实施例还提供一种dhcp的实现装置,应用于虚拟机平台中的计算节点,包括:dhcp服务模块和dhcp管理服务模块;其中,dhcp服务模块适于响应虚拟机发出的dhcp服务请求,根据dhcp服务请求,确定提供给所述虚拟机的dhcp服务信息;dhcp管理服务模块适于将dhcp服务信息上报给虚拟化平台中的管理节点,并接收管理节点对dhcp服务信息的分析结果。

关于本实施例提供的dhcp的实现装置的相关说明可以参照图2和图4对应实施例的描述,故于此不再赘述。

图5为本申请实施例提供的管理节点的示意图。如图5所示,本申请实施例提供一种管理节点500,包括:第一存储器501和第一处理器502,第一存储器501适于存储dhcp的实现程序,该实现程序被第一处理器502执行时实现上述实施例提供的dhcp的实现方法的步骤,比如图2或图3所示的步骤。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的示意图,并不构成对本申请方案所应用于其上的管理节点500的限定,管理节点500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,第一处理器502可以包括但不限于微处理器(mcu,microcontrollerunit)或可编程逻辑器件(fpga,fieldprogrammablegatearray)等的处理装置。第一存储器501可用于存储应用软件的软件程序以及模块,如本实施例中的dhcp的实现方法对应的程序指令或模块,第一处理器502通过运行存储在第一存储器501内的软件程序以及模块,从而执行各种功能应用以及数据处理,比如实现本实施例提供的dhcp的实现方法。第一存储器501可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些示例中,第一存储器501可包括相对于第一处理器502远程设置的存储器,这些远程存储器可以通过网络连接至管理节点500。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

图6为本申请实施例提供的计算节点的示意图。如图6所示,本申请实施例提供一种计算节点600,包括:第二存储器601和第二处理器602,第二存储器601适于存储dhcp的实现程序,该实现程序被第二处理器602执行时实现上述实施例提供的dhcp的实现方法的步骤,比如图2或图4所示的步骤。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的示意图,并不构成对本申请方案所应用于其上的计算节点600的限定,计算节点600可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,第二处理器602可以包括但不限于微处理器(mcu,microcontrollerunit)或可编程逻辑器件(fpga,fieldprogrammablegatearray)等的处理装置。第二存储器601可用于存储应用软件的软件程序以及模块,如本实施例中的dhcp的实现方法对应的程序指令或模块,第二处理器602通过运行存储在第二存储器601内的软件程序以及模块,从而执行各种功能应用以及数据处理,比如实现本实施例提供的dhcp的实现方法。第二存储器601可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些示例中,第二存储器601可包括相对于第二处理器602远程设置的存储器,这些远程存储器可以通过网络连接至计算节点600。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

此外,本申请实施例还提供一种计算机可读介质,存储有dhcp的实现程序,该实现程序被处理器执行时实现上述实施例提供的dhcp的实现方法的步骤,比如,图2或图3或图4所示的步骤。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。

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