【技术实现步骤摘要】
一种基于共享存储消息队列的虚拟机高可用实现方法
本专利技术涉及云计算领域,具体涉及一种基于共享存储消息队列的虚拟机高可用实现方法。
技术介绍
在云计算数据中心,虚拟机通常运行在物理服务器上,当物理服务器断电或发生其他故障时,运行在其上的虚拟机也会关闭,导致虚拟机中运行的用户业务被意外中断。如果要保证用户业务被意外中断后能够自动恢复,则需要实时监控虚拟机的状态,在物理服务器发生故障时,将其上的虚拟机转移到其他服务器上重新启动,这称为虚拟机高可用。虚拟机高可用需要使用共享存储来存放虚拟机的磁盘文件,使得所有的服务器都能访问到共享存储上的磁盘文件,以便在检测到服务器断电后,其他正常运行的服务器能够从共享存储上读取虚拟机的磁盘文件并启动虚拟机。为了实时检测虚拟机的状态,需要引入心跳检测机制,当检测不到虚拟机的心跳时,说明该虚拟机已经关闭,从而选择一台正在运行的服务器重新启动该虚拟机。目前虚拟机心跳检测机制有两种:1、基于管理网络的心跳检测。所有服务器通过管理网络交换虚拟机状态消息,当服务器断电时,该服务器不再发送虚拟机状态消息,其他正常运行的服务器会检测到故障服务器上的虚拟机状态消息超时,触发虚拟机故障转移,从而重新启动该虚拟机。但是,当服务器只是管理网络断开而并非服务器故障时,该服务器发送的虚拟机状态消息无法被其他服务器收到,此时也会触发虚拟机故障转移,然而,如果仅仅只是管理网络断开,虚拟机可以正常运行,虚拟机里的用户业务也可以被正常访问,此时触发虚拟机故障转移会导致用户业务中断,导致不必要的虚拟机停机时间。2、基于共享存储锁的心跳检测。为了解决管理网络断开导致 ...
【技术保护点】
一种基于共享存储消息队列的虚拟机高可用实现方法,用于数据中心,数据中心包括一个控制节点、一个共享存储和至少两个计算节点,控制节点运行服务端程序,每个计算节点上运行客户端程序,客户端程序为运行在本计算节点上的每个已启用高可用的虚拟机创建一个虚拟机控制块并维护,服务端程序为运行在所有计算节点上的每个已启用高可用的虚拟机创建一个虚拟机控制块并维护,其特征在于,实现方法包括以下步骤:S1.服务端程序在共享存储上初始化一块连续的空间作为逻辑卷;S2.每个客户端程序分别连接到服务端程序,服务端程序从逻辑卷中分配连续的多个扇区作为该客户端程序的扇区池,并在扇区池的最后一个扇区写入该客户端程序的唯一标识,所述最后一个扇区前面的连续扇区作为该客户端程序的共享存储消息队列;S3.客户端程序从服务端程序获取该客户端程序的扇区池配置信息和已启用高可用的虚拟机号;S4.客户端程序向服务端程序周期性发送心跳消息,并更新本客户端程序维护的虚拟机控制块的时间戳,客户端程序检查其维护的每个虚拟机控制块是否超时;S5.服务端程序接收客户端程序发送的心跳消息,利用心跳消息中携带的时间戳更新服务端程序维护的虚拟机控制块的时间 ...
【技术特征摘要】
1.一种基于共享存储消息队列的虚拟机高可用实现方法,用于数据中心,数据中心包括一个控制节点、一个共享存储和至少两个计算节点,控制节点运行服务端程序,每个计算节点上运行客户端程序,客户端程序为运行在本计算节点上的每个已启用高可用的虚拟机创建一个虚拟机控制块并维护,服务端程序为运行在所有计算节点上的每个已启用高可用的虚拟机创建一个虚拟机控制块并维护,其特征在于,实现方法包括以下步骤:S1.服务端程序在共享存储上初始化一块连续的空间作为逻辑卷;S2.每个客户端程序分别连接到服务端程序,服务端程序从逻辑卷中分配连续的多个扇区作为该客户端程序的扇区池,并在扇区池的最后一个扇区写入该客户端程序的唯一标识,所述最后一个扇区前面的连续扇区作为该客户端程序的共享存储消息队列,用于该客户端程序和服务器程序交换心跳消息;S3.客户端程序从服务端程序获取该客户端程序的扇区池配置信息和已启用高可用的虚拟机号;S4.客户端程序向服务端程序周期性发送心跳消息,并更新本客户端程序维护的虚拟机控制块的时间戳,客户端程序检查其维护的每个虚拟机控制块是否超时;S5.服务端程序接收客户端程序发送的心跳消息,利用心跳消息中携带的时间戳更新服务端程序维护的虚拟机控制块的时间戳,服务端程序检查其维护的每个虚拟机控制块是否超时。2.如权利要求1所述的基于共享存储消息队列的虚拟机高可用实现方法,其特征在于:客户端程序的扇区池配置信息包括扇区池所在的逻辑卷、开始扇区号、结束扇区号、每个扇区的大小。3.如权利要求1所述的基于共享存储消息队列的虚拟机高可用实现方法,其特征在于:数据中心还包括管理网络交换机,控制节点、计算节点和管理网络交换机形成管理网络,控制节点、计算节点和共享存储形成存储网络,客户端程序和服务端程序优先通过管理网络传输心跳消息,当管理网络断开时通过存储网络传输心跳消息。4.如权利要求1所述的基于共享存储消息队列的虚拟机高可用实现方法,其特征在于:心跳消息包括时间戳、扇区池号、客户端程序标识和运行在本计算节点...
【专利技术属性】
技术研发人员:阮泽林,
申请(专利权)人:武汉噢易云计算有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。