利用串口和DHCP协议通信的虚拟机静态网络设置方法与流程

文档序号:12495057阅读:477来源:国知局

本发明涉及云计算技术领域,特别是一种利用串口和DHCP协议通信的虚拟机静态网络设置方法。



背景技术:

在云计算领域虚拟机的静态网络设置,目前大部分是利用虚拟机串口通信的技术,将虚拟机的网络信息传入到虚拟机内部,虚拟机内部收到网络信息再静态设置网络。这种方法需要传入较多的网络数据包到虚拟机内部,虚拟机内部不断读取其网络数据包,信息量大和通信比较频繁的情况下,会出现消息堵塞和消息传送失败的情况,从而影响虚拟机网络的静态网络设置。而DHCP协议获取动态网络信息已经作为成熟的技术,其协议通信的稳定性比较可靠,但是如果虚拟机完全采用DHCP的方式动态获取,需要一定周期进行续期操作,才能保证网络的正常;如果续期失败,则会影响网络的信息丢失,导致网络的中断。



技术实现要素:

本发明解决的技术问题在于一种利用串口和DHCP协议通信的虚拟机静态网络设置方法,解决传统利用串口传递网络信息进行静态IP设置的不稳定问题。

本发明解决上述技术问题的技术方案是,

所述的方法包括如下步骤:

步骤1:在DHCP服务器上设置虚拟机的网络配置信息;

步骤2:在虚拟机宿主机上给虚拟机挂载网卡;

步骤3:宿主机通过串口通信向虚拟机发送网络配置事件;

步骤4:虚拟机内部网络配置代理获取网络配置事件;

步骤5:网络配置代理调整网络配置为DHCP自动获取方式,利用DHCP协议获取DHCP服务器上的网络配置信息;

步骤6:将网络配置信息持久化到网络配置文件中,最终将虚拟机的网络从DHCP自动获取方式变成静态网络配置。

DHCP服务器网络配置信息包括MAC地址、IP地址、网关地址、网段、域名解析服务器。

所述的挂载的虚拟机网卡与MAC一致;所述的虚拟机支持网卡热插拔机制。

DHCP客户端利用DHCP协议广播到DHCP服务器上,获取DHCP服务器上网络配置信息。

虚拟机内部网络配置代理具体步骤为:

(1)稳定可靠的获取网络配置事件;

(2)网络配置代理运行环境支持跨平台,包括Windows、Linux系统运行;

(3)利用DHCP协议设置静态网络设置。

静态网络设置具体步骤为:

(1)利用DHCP客户端,向DHCP服务器发送DHCP请求,获取对应的网络配置信息;

(2)获取网络配置信息后,通过网络配置程序将网络配置信息持久化到网络配置文件中;

(3)重新加载网卡,将静态配置生效。

所述的网络配置事件其特征在于发送的数据包尽量短小,提高串口通信的数据包的可靠性,例如发送消息数据“1”到虚拟机内部。

本发明的方法利用串口通信的控制能力和DHCP协议通信的稳定性,有效解决完全利用串口通信设置虚拟机网络的不稳定性问题,实现原理简单、可靠,很方便集成到云计算平台中。

附图说明

下面结合附图对本发明进一步说明:

图1为本发明的流程图。

具体实施方式

如图1所示,本发明实施步骤如下:

(1)给DHCP Server设置虚拟机的网络配置信息,以dnsmasq服务器为例,其中DHCP Server的配置文件如下所示:

虚拟机网卡相关配置:含有MAC地址,主机名称,ip地址

fa:16:3e:b0:ff:0c,host-101-101-101-4.gcloudlocal,101.101.101.5

其他参数配置:路由、域名服务等

tag:tag0,option:router,101.101.101.1

tag:tag0,option:dns-server,101.101.101.4,101.101.101.3

(2)在虚拟机宿主机上给虚拟机挂载网卡。

具体实现采用virsh命令挂载,其中libvirt网络配置文件,如下所示:

其中mac address要与DHCP Server中虚拟机网卡配置中mac address一致,保证后面虚拟机内部利用DHCP协议获取虚拟机网络配置的正确性。

(3)宿主机通过串口通信向虚拟机发送网络配置事件

目前实现虚拟机一张网卡的网络控制,其发送给虚拟机的串口数据包,以“1”数据包控制,“1”代表利用DHCP协议获取虚拟机网络配置。如果需要控制多张虚拟机网卡的配置,则采用网卡Mac地址标识。

(4)虚拟机内部网络配置Agent获取网络配置事件,具体实现监控虚拟机的串口通信数据,获取到“1”数据包,则表示要进行网络配置。

(5)以Centos系统为例,调整虚拟机的网卡为DHCP方式,

网卡配置文件ifcfg-eth0,如下所示:

BOOTPROTO=dhcp

DEVICE=eth0

ONBOOT=yes

然后执行dhcp client程序从dhcp server获取网络配置,如下命令:

dhcpclient eth0获取虚拟机的该网卡的网络配置信息,如下所示:

interface“eth0”

fixed-address 101.101.101.5

routers 101.101.101.1

..............

(6)将以上的网络配置信息,写入到网卡配置文件ifcfg-eth0中,如下所示:TYPE=Ethernet

BOOTPROTO=static

DEVICE=eth0

ONBOOT=yes

IPADDR=101.101.101.5

GATEWAY=101.101.101.1

NETMASK=255.255.255.0

DNS1=101.101.101.4

DNS2=101.101.101.3。

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