一种为虚拟机配置互联网协议IP地址的方法和系统与流程

文档序号:15152087发布日期:2018-08-10 21:14阅读:482来源:国知局

本发明实施例涉及云计算技术,尤指一种为虚拟机配置互联网协议ip地址的方法和系统。



背景技术:

随着信息科技的发展,云计算逐步成为业界的发展热点,国内外各大厂商的云计算服务平台也开始纷纷投入到科学、教育、文化、卫生、政府、高性能计算、电子商务、物联网等多个领域进行使用。

云计算的一大重要特点,即是通过网络技术,将分布在各地的数据中心中的服务器、存储、网络设备通过管理软件集合起来协同工作,共同对外提供计算与存储等服务。提供计算服务的虚拟机是操作系统os中最核心的部分,可以运行用户的网站系统、管理系统,对外提供服务等。所以每个虚拟机都需要配置互联网协议ip地址才能对外提供服务,目前配置ip地址的方式有两种,一种是静态指定(静态配置):通过登录虚拟机管理控制台进行手动配置;另外一种通过dhcp(dynamichostconfigurationprotocol,动态主机配置协议)服务器来动态配置ip地址。在管理虚拟机数量比较少的情况下可以考虑第一种方式,但是如果虚拟机数量成百上千,通过静态配置的方式管理会非常复杂。第二种方式完全自动配置,省时省力,配置简单。

由于dhcp的方式配置ip的原理是虚拟机在局域网内发起dhcp请求,dhcpserver(即dhcp服务器,或称动态主机配置服务器)响应请求后配置ip,目前在云管理平台中包括开源的openstack都不能实现跨网段的dhcp配置ip,原因很简单,管理平台可以管理多个底层的主机,底层的主机可能是不同的虚拟化也可能是位于不同的网段内,虚拟机调度后不能保证发起的dhcp请求到达dhcpserver。



技术实现要素:

为了解决上述技术问题,本发明实施例提供了一种为虚拟机配置ip地址的方法和系统,能够实现不同网段主机内虚拟机的ip地址的配置。

为了达到本发明实施例目的,本发明实施例提供了一种为虚拟机配置互联网协议ip地址的方法,该方法可以包括:

在操作系统中导入集群时,操作系统的网络节点在集群中的每一台主机上部署并启动动态主机配置服务器dhcpserver;

通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址。

可选地,通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址包括:

操作系统的计算节点在每一台主机内创建虚拟机时,调用操作系统的网络节点的接口,以使网络节点在虚拟交换机上创建底层端口port,并将底层port与创建的虚拟机绑定;

网络节点生成随机的媒体访问控制mac地址,通过预设算法从为虚拟机创建的网络对应的网络信息中选择一个未使用的ip地址,并将mac地址和ip地址进行绑定,通过命令将相互绑定的mac地址和ip地址配置到主机中部署的dhcpserver中;

在重启虚拟机、虚拟机的网卡或虚拟机的网络后,虚拟机会发送动态主机配置dhcp请求,主机中部署的dhcpserver收到dhcp请求后进行回复,在虚拟机收到该回复后自动配置上ip地址。

可选地,该方法还可以包括:将dhcpserver的配置信息、该mac地址、该ip地址,以及为虚拟机创建的网络对应的网络信息均保存在预设的数据库中。

可选地,该网络信息包括:ip地址范围、网关信息、域名系统dns信息和虚拟局域网vlan信息;

其中,网络节点选出的ip地址包含在该ip地址范围内。

可选地,该方法还可以包括:当dhcpserver出现异常时,通过调用数据库中保存的dhcpserver的配置信息对dhcpserver进行恢复。

可选地,该方法还可以包括:采用开源的动态主机配置工具dnsmasq来部署所述dhcpserver。

为了达到本发明实施例目的,本发明实施例还提供了一种为虚拟机配置互联网协议ip地址的系统,该系统可以包括:部署模块和配置模块;

部署模块,用于在操作系统中导入集群时,在集群中的每一台主机上部署并启动动态主机配置服务器dhcpserver;

配置模块,用于通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址。

可选地,配置模块通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址包括:

在每一台主机内创建虚拟机时,在虚拟交换机上创建底层端口port,并将底层port与创建的虚拟机绑定;

生成随机的媒体访问控制mac地址,通过预设算法从为虚拟机创建的网络对应的网络信息中选择一个未使用的ip地址,并将该mac地址和ip地址进行绑定,通过命令将相互绑定的mac地址和ip地址配置到主机中部署的dhcpserver中;

在重启虚拟机、虚拟机的网卡或虚拟机的网络后,使虚拟机发送动态主机配置dhcp请求,以使所述主机中部署的dhcpserver收到该dhcp请求后进行回复,在虚拟机收到回复后自动配置上该ip地址。

可选地,该系统还可以包括存储模块;

所述存储模块,用于将dhcpserver的配置信息、该mac地址、该ip地址,以及为虚拟机创建的网络对应的网络信息均保存在预设的数据库中;

网络信息包括:ip地址范围、网关信息、域名系统dns信息和虚拟局域网vlan信息;

其中,所述网络节点选出的所述ip地址包含在所述ip地址范围内。

可选地,该系统还可以包括:恢复模块;

恢复模块,用于当dhcpserver出现异常时,通过调用数据库中保存的dhcpserver的配置信息对dhcpserver进行恢复。

可选地,部署模块还用于:采用开源的动态主机配置工具dnsmasq来部署dhcpserver。

本发明实施例包括:在操作系统中导入集群时,操作系统的网络节点在集群中的每一台主机上部署并启动动态主机配置服务器dhcpserver;通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址。通过该实施例方案,实现了不同网段主机内虚拟机的ip地址的配置。

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

附图说明

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

图1为本发明实施例的为虚拟机配置互联网协议ip地址的方法流程图;

图2为本发明实施例的为虚拟机配置互联网协议ip地址的方法示意图;

图3为本发明实施例的为虚拟机配置互联网协议ip地址的系统组成框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

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

为了达到本发明实施例目的,本发明实施例提供了一种为虚拟机配置互联网协议ip地址的方法,该方法可以包括s101-s102:

s101、在操作系统中导入集群时,操作系统的网络节点在集群中的每一台主机上部署并启动动态主机配置服务器dhcpserver;

s102、通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址。

在本发明实施例中,传统的虚拟机配置ip方式中:第一种配置方式是手动配置,即手动登录虚拟机控制台静态指定ip地址;第二种配置方式是通过dhcpserver来配置ip。第一种配置方式复杂且成本较高,而第二种配置方式,由于通过dhcpserver的方式配置ip的原理是虚拟机在局域网内发起dhcp请求,dhcpserver响应请求后实现自动配置ip,目前在云管理平台中都不能实现跨网段的dhcp配置ip,原因很简单,因为管理平台可以管理多个底层的主机,而底层的主机可能是不同的,也可能是同一主机位于不同的网段内,针对不同的主机,由于目前方案中并不是每个主机中均配置有dhcpserver,而且,大部分主机中均不会配置dhcpserver,如果主机1中配置有dhcpserver,主机2中未配置dhcpserver,当主机2中的虚拟机调度后不能保证发起的dhcp请求到达dhcpserver,此时该主机2中的虚拟机将不能配置ip地址;另外,针对处于不同网段内的主机,如果该主机改变网段后,该主机中如果未配置dhcpserver,其中的虚拟机也将不能排至ip地址。针对这些问题,云海os开发了分步式dhcpserver功能,即在集群中的每一台主机上部署并启动dhcpserver,保证了为虚拟机成功配置ip地址,具体配置示意图如图2所示。

可选地,通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址可以包括步骤s201-s203:

s201、操作系统的计算节点在每一台主机内创建虚拟机时,调用操作系统的网络节点的接口,以使网络节点在虚拟交换机上创建底层端口port,并将底层port与创建的虚拟机绑定;

s202、网络节点生成随机的媒体访问控制mac地址,通过预设算法从为虚拟机创建的网络对应的网络信息中选择一个未使用的ip地址,并将mac地址和ip地址进行绑定,通过命令将相互绑定的mac地址和ip地址配置到主机中部署的dhcpserver中;

s203、在重启虚拟机、虚拟机的网卡或虚拟机的网络后,虚拟机会发送动态主机配置dhcp请求,主机中部署的dhcpserver收到dhcp请求后进行回复,在虚拟机收到该回复后自动配置上ip地址。

在本发明实施例中,可以通过云海中的计算节点和网络节点的功能,实现dhcp服务的启动和配置。

在本发明实施例中,在操作系统(如云海操作系统os)中导入集群时,计算节点可以调用网络节点接口,以使得网络节点在集群中部署dhcpserver,并启动。当在云海中创建虚拟机的网络时,可以在预建的数据库中维护该虚拟网络的ip地址范围、网关信息、域名系统dns信息、虚拟局域网vlan信息等。计算节点创建虚拟机时,调用网络节点接口,网络节点在虚拟交换机上创建底层端口port,该port绑定虚拟机,网络节点生成随机的mac地址,通过一定的算法(可以为预设算法)选择一个网络中未使用的ip地址进行mac和ip的绑定,并通过命令配置到上述网络对应的dhcpserver中。将该port绑定到虚拟机中,重启虚拟机、虚拟机的网卡或虚拟机的网络后,该虚拟机会发送dhcp请求,dhcpserver收到该dhcp请求后进行回复,虚拟机收到回复后会配上ip地址。整个过程结束。

可选地,该方法还可以包括:将dhcpserver的配置信息、该mac地址、该ip地址,以及为虚拟机创建的网络对应的网络信息均保存在预设的数据库中。

在本发明实施例中,该实施例方案是前述技术方案的数据基础,保存了dhcpserver的配置信息、分配的ip地址、mac地址等信息。在由于不可知的原因下,dhcpserver可能会down掉(掉线)。为了防止dhcpserverdown掉之前的配置信息丢失,需要将配置信息进行数据库存储,以便在dhcpserver挂掉的同时,可以通过数据库中存储的数据进行恢复。

在本发明实施例中,在dhcp运行过程中将配置信息保存在数据库中,可以提供给前述的基础实现方案架构和恢复策略使用。并且所有的配置信息能够在数据库中保留记录,方便管理控制台查看和干预。

可选地,该网络信息包括:ip地址范围、网关信息、域名系统dns信息和虚拟局域网vlan信息;

其中,网络节点选出的ip地址包含在该ip地址范围内。

可选地,该方法还可以包括:当dhcpserver出现异常时,通过调用数据库中保存的dhcpserver的配置信息对dhcpserver进行恢复。

在本发明实施例中,恢复机制可以当dhcpserver异常后,对dhcpserver进行恢复,能够恢复dhcp服务,保证数据可靠和安全,保证dhcpserver能够正常工作。

在本发明实施例中,当发生不可预知的问题时,框架能够恢复数据,保证了业务和数据的一致性。

可选地,该方法还可以包括:采用开源的动态主机配置工具dnsmasq来部署所述dhcpserver。

在本发明实施例中,可以采用开源的dnsmasq来做dhcpserver,实现了ip地址的动态分配,实现了采用分布式的dhcp服务为虚拟机配置ip功能,解决了云平台中虚拟机配置ip地址的问题。

在本发明实施例中,相比传统的ip地址配置方案,本发明实施例的有益效果可以包括:

1、配置简单。通过开源的dnsmasq插件,实现ip地址的动态分配,配置简单,灵活高效;

2、跨虚拟化和数据中心。通过在不同的集群中创建对应网络的dhcpserver,来实现不同集群下虚拟机配置ip地址的问题;

3、可视性,管理方便。系统的所有信息都可以存储到数据库中,并可以在界面查看。当发生不可预知的问题时,可以根据数据库存储的信息对server进行恢复,保证数据的安全可靠。

为了达到本发明实施例目的,本发明实施例还提供了一种为虚拟机配置互联网协议ip地址的系统1,需要说明的是,上述的方法实施例中的任意实施例均适用于该系统实施例,在此不再一一赘述。如图3所示,该系统可以包括:部署模块11和配置模块12;

部署模块11,用于在操作系统中导入集群时,在集群中的每一台主机上部署并启动动态主机配置服务器dhcpserver;

配置模块12,用于通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址。

可选地,配置模块12通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址包括:

在每一台主机内创建虚拟机时,在虚拟交换机上创建底层端口port,并将底层port与创建的虚拟机绑定;

生成随机的媒体访问控制mac地址,通过预设算法从为虚拟机创建的网络对应的网络信息中选择一个未使用的ip地址,并将该mac地址和ip地址进行绑定,通过命令将相互绑定的mac地址和ip地址配置到主机中部署的dhcpserver中;

在重启虚拟机、虚拟机的网卡或虚拟机的网络后,使虚拟机发送动态主机配置dhcp请求,以使所述主机中部署的dhcpserver收到该dhcp请求后进行回复,在虚拟机收到回复后自动配置上该ip地址。

可选地,该系统还可以包括存储模块13;

存储模块13,用于将dhcpserver的配置信息、该mac地址、该ip地址,以及为虚拟机创建的网络对应的网络信息均保存在预设的数据库中;

网络信息包括:ip地址范围、网关信息、域名系统dns信息和虚拟局域网vlan信息;

其中,所述网络节点选出的所述ip地址包含在所述ip地址范围内。

可选地,该系统还可以包括:恢复模块14;

恢复模块14,用于当dhcpserver出现异常时,通过调用数据库中保存的dhcpserver的配置信息对dhcpserver进行恢复。

可选地,部署模块11还用于:采用开源的动态主机配置工具dnsmasq来部署dhcpserver。

本发明实施例包括:在操作系统中导入集群时,操作系统的网络节点在集群中的每一台主机上部署并启动动态主机配置服务器dhcpserver;通过每一台主机上的dhcpserver为每一台主机中创建的一个或多个虚拟机配置ip地址。通过该实施例方案,实现了不同网段主机内虚拟机的ip地址的配置。

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

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