本发明涉及通信及云计算,尤其涉及一种虚拟机业务保障方法、装置及设备。
背景技术:
1、智能网卡(smart nic)能够提升应用程序性能和虚拟化效能,实现软件定义网络(software defined network,sdn)和网络功能虚拟化(network function virtual,nfv)的多重优势。它能有效地将网络虚拟化、负载均衡和其他低级功能从服务器cpu中分离出来,确保应用程序能够充分利用服务器cpu的处理能力。同时,智能网卡还能够提供分布式计算资源,使用户能够开发自己的软件或提供接入服务,从而加速特定应用程序的运行。
2、智能网卡的一个核心功能是通过现场可编程门阵列fpga等类型的硬件协助cpu处理网络负载,编程网络接口功能,智能网卡具有以下几个特征:
3、(1)能够通过fpga本地化编程支持数据面和控制面的功能定制,协助cpu处理网络负载;
4、(2)通常包含多个端口和内部虚拟交换机,能够快速转发数据并基于网络数据包、应用程序套接字等方式智能映像到相关应用程序;
5、(3)能够检测和管理网络流量。
6、超融合系统是面向未来数据中心的新一代it基础架构设施,能够在服务器上无缝提供计算资源、存储资源、网络安全资源、运维能力、云服务能力等,让用户的it资源更敏捷、业务更可靠、使用更简单、运维更智能,同时进一步降低整体拥有成本,具备将用户本地数据中心全面云化的能力,可成为混合云的入口,边缘云的中心,致力于满足用户任意阶段、任意规模、任意场景对新一代云计算基础需求。超融合管理平台运行于服务器操作系统中,用于对超融合系统的虚拟机进行管理。超融合系统是在计算、网络、存储虚拟化的基础上实现的,因此,服务器上的虚拟化管理平台可以看作是超融合管理平台的基础。虚拟化管理平台的功能中包括对服务器上的虚拟机的生命周期、虚拟机资源、虚拟机迁移等管理功能。
7、当机房发生断电故障时,虚拟化管理平台基于一定的故障发现机制和业务保障机制实现虚拟机的迁移,在发现服务器无法访问时,在其他正常工作的服务器上,重新拉起断电服务器之前承载的虚拟机。虽然,使用分布式存储的副本机制,可保障重新拉起的虚拟机中的硬盘数据不丢失,但处理的平滑度不够,被重新拉起的虚拟机,虽然硬盘数据还在,但断电前的一些内存数据如果还没来得及写硬盘,就会丢失。
技术实现思路
1、有鉴于此,本发明提供一种虚拟机业务保障方法、装置及设备,用于解决服务器因断电事件易导致虚拟机数据丢失的技术问题。
2、基于本发明实施例的一方面,本发明提供了一种虚拟机业务保障方法,该方法应用于服务器集群中的服务器,服务器上安装有智能网卡,不间断电源ups为服务器供电的同时通过太网供电poe方式为服务器上的智能网卡供电,服务器上运行有虚拟机,该方法包括:
3、智能网卡通过poe接口接收ups发送的断电事件消息;
4、智能网卡接收到ups发送的断电事件消息后,向该智能网卡所在服务器转发断电事件消息,以使服务器触发执行该服务器上运行的虚拟机向服务器集群中其它状态正常的服务器迁移的操作。
5、进一步地,所述方法还包括:
6、智能网卡在接收到ups发送的断电事件消息后,向所在服务器发送虚拟机列表请求消息以获取该服务器上运行的虚拟机标识信息;
7、智能网卡在接收到所在服务器发送的虚拟机列表响应消息后,使用虚拟机标识信息在本地转发流表中匹配,在匹配虚拟机标识信息的流表项的动作域中加入通知对端进行流控的动作;
8、智能网卡在基于流表对报文进行匹配转发时,通过流表动作域中加入的动作通知对端进行流控。
9、进一步地,所述方法还包括:
10、智能网卡接收ups通过poe接口发送的电量通知消息,所述电量通知消息是ups在检测到断电事件后按预设规则向智能网卡发送的,用于供服务器决策是否优先将高优先级的虚拟机迁移出去;
11、智能网卡将电量通知消息转发给所在服务器,以使服务器根据电量通知消息中的信息以及当前未迁出虚拟机情况判断是否能在ups电量耗尽前将所有虚拟机迁出,若判定不能,则优先将优先级高的虚拟机迁移出去,将低优先级的虚拟机关机。
12、进一步地,所述电量通知消息中携带的信息包括但不限于ups当前剩余电量和/或电量耗尽预估时间。
13、进一步地,ups、智能网卡及服务器之间有关断电事件的信息交互方式采用扩展链路层发现协议lldp的方式实现。
14、基于本发明实施例的另一方面,本发明还提供一种虚拟机业务保障装置,该装置应用于服务器集群中的服务器,服务器上安装有智能网卡,ups为服务器供电的同时通过poe方式为服务器上的智能网卡供电,服务器上运行有虚拟机,该装置包括:
15、消息接收模块,位于智能网卡中,用于通过太网供电poe接口接收不间断电源ups发送的断电事件消息;
16、消息转发模块,位于智能网卡,用于在接收到ups发送的断电事件消息后,向该智能网卡所在服务器转发断电事件消息,以使服务器触发执行该服务器上运行的虚拟机向服务器集群中其它状态正常的服务器迁移的操作。
17、进一步地,所述装置还包括:
18、虚拟机列表获取模块,位于智能网卡,用于在接收到ups发送的断电事件消息后,向所在服务器发送虚拟机列表请求消息以获取该服务器上运行的虚拟机标识信息;
19、流控模块,位于智能网卡,用于在接收到所在服务器发送的虚拟机列表响应消息后,使用虚拟机标识信息在本地转发流表中匹配,在匹配虚拟机标识信息的流表项的动作域中加入通知对端进行流控的动作;
20、报文转发模块,位于智能网卡,用于在基于流表对报文进行匹配转发时,通过流表动作域中加入的动作通知对端进行流控。
21、进一步地,所述消息接收模块还用于接收ups通过poe接口发送的电量通知消息,所述电量通知消息是ups在检测到断电事件后按预设规则向智能网卡发送的,用于供服务器决策是否优先将高优先级的虚拟机迁移出去;
22、所述消息转发模块还用于将电量通知消息转发给所在服务器;
23、所述装置还包括迁移模块,位于服务器,用于根据电量通知消息中的信息以及当前未迁出虚拟机情况判断是否能在ups电量耗尽前将所有虚拟机迁出,若判定不能,则优先将优先级高的虚拟机迁移出去,将低优先级的虚拟机关机。
24、基于本发明实施例的另一方面,本发明还提供一种智能网卡,该智能网卡安装在服务器,所述服务器位于服务器集群中,ups为所述服务器供电的同时通过poe方式为所述智能网卡供电,该智能网卡中包括处理器、通信接口、存储介质和通信总线,其中,处理器、通信接口、存储介质通过通信总线完成相互间的通信;
25、存储介质,用于存放计算机程序;
26、处理器,用于执行存储介质上所存放的计算机程序时,实施前述虚拟机业务保障方法。
27、基于本发明实施例的另一方面,本发明还提供一种服务器,该服务器位于服务器集群中,安装有智能网卡,ups为所述服务器供电的同时通过poe方式为所述智能网卡供电,该服务器中包括处理器、通信接口、存储介质和通信总线,其中,处理器、通信接口、存储介质通过通信总线完成相互间的通信;
28、存储介质,用于存放计算机程序;
29、处理器,用于执行存储介质上所存放的计算机程序时,实施如下步骤:
30、接收智能网卡转发的断电事件消息,触发执行该服务器上运行的虚拟机向服务器集群中其它状态正常的服务器迁移的操作;。
31、接收智能网卡发送的虚拟机列表请求消息,将该服务器上运行的虚拟机的虚拟机标识信息打包成虚拟机列表,通过虚拟机列表响应消息发送给智能网卡;
32、接收智能网卡转发的电量通知消息,所述电量通知消息是ups在检测到断电事件后按预设规则向智能网卡发送的;根据电量通知消息中的信息以及当前未迁出虚拟机情况判断是否能在ups电量耗尽前将所有虚拟机迁出,若判定不能,则优先将优先级高的虚拟机迁移出去,将低优先级的虚拟机关机。
33、本发明使用支持以太网供电poe技术的不间断电源ups为服务器上的智能网卡和服务器供电,在出现供电故障,电源切换为ups供电的情况下,由ups通过poe接口主动通知智能网卡,由智能网卡通知服务器上的虚拟化管理平台进行虚拟机迁移,在不断电情况下尽可能实现虚拟机的平滑迁移,尽力保障业务的连续性。