CN103457771B - 一种ha的虚拟机集群的管理方法和设备 - Google Patents

一种ha的虚拟机集群的管理方法和设备 Download PDF

Info

Publication number
CN103457771B
CN103457771B CN201310389540.9A CN201310389540A CN103457771B CN 103457771 B CN103457771 B CN 103457771B CN 201310389540 A CN201310389540 A CN 201310389540A CN 103457771 B CN103457771 B CN 103457771B
Authority
CN
China
Prior art keywords
physical host
virtual machine
cluster
management platform
machine management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310389540.9A
Other languages
English (en)
Other versions
CN103457771A (zh
Inventor
蔡志峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310389540.9A priority Critical patent/CN103457771B/zh
Publication of CN103457771A publication Critical patent/CN103457771A/zh
Application granted granted Critical
Publication of CN103457771B publication Critical patent/CN103457771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种HA的虚拟机集群的管理方法和设备,该方法包括:当物理主机需要加入到由虚拟机管理平台管理的HA集群时,所述虚拟机管理平台判断所述物理主机上是否存在指定文件;如果否,所述虚拟机管理平台将所述物理主机加入到所述HA集群,在所述物理主机上指定文件,并向所述物理主机下发所述HA集群对应的配置信息,由所述物理主机利用所述HA集群的配置信息启动HA集群管理服务;如果是,所述虚拟机管理平台确定所述物理主机被其它虚拟机管理平台所管理,并提示所述物理主机被其它虚拟机管理平台所管理的告警信息。本发明实施例中,避免了虚拟机管理平台与物理主机的HA集群不一致的情况。

Description

一种HA的虚拟机集群的管理方法和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种HA的虚拟机集群的管理方法和设备。
背景技术
HA(High Availability,高可用性)集群(Cluster)通过一组物理主机提供透明的冗余处理能力,从而实现不间断应用的目标。其中,HA集群是共同为客户端提供网络资源的一组物理主机,每一台提供网络资源的物理主机称为节点,当一个物理主机不可用或者不能处理客户端的请求时,该物理主机提供的网络资源会及时转到另外可用物理主机来处理,而这些对于用户是透明的,用户不需要关心要使用的网络资源的具体位置,由HA集群自动完成。
现有技术中,如图1所示,通过使用Corosync(集群管理软件)和Pacemaker(集群资源管理软件)来搭建虚拟机的HA集群。Corosync实现了HA集群的基础框架,并实现HA集群内各物理主机的集群消息通讯,为Pacemaker提供服务。Pacemaker运行在Corosync等集群管理软件之上,并实现集群资源的管理。
在使用Corosync和Pacemaker来搭建虚拟机的HA集群时,Corosync以组播报文作为HA集群的心跳报文,即只要物理主机上的Corosync配置了同样的组播地址和端口信息,就会自动加入该HA集群,而虚拟机管理平台可能并不知道哪些物理主机加入到该HA集群,从而出现虚拟机管理平台与物理主机的HA集群不一致的情况。当HA集群中的某台物理主机由于硬件故障关机维修时,在关机期间,虚拟机管理平台上将该物理主机从HA集群中删除;在物理主机故障修复并重新上电启动后,该物理主机上仍然有Corosync和Pacemaker等集群相关配置,从而导致虚拟机管理平台与物理主机的HA集群不一致的情况。
发明内容
本发明实施例提供一种HA的虚拟机集群的管理方法和设备,以避免虚拟机管理平台与物理主机的HA集群不一致的情况,提高系统的健壮性。
为了达到上述目的,本发明实施例提供一种种高可用性HA的虚拟机集群的管理方法,应用于包括虚拟机管理平台和多个物理主机的HA集群系统中,所述物理主机上运行有一个以上的虚拟机,该方法包括以下步骤:
当物理主机需要加入到由所述虚拟机管理平台管理的HA集群时,所述虚拟机管理平台判断所述物理主机上是否存在指定文件;其中,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;
如果否,所述虚拟机管理平台将所述物理主机加入到所述HA集群,在所述物理主机上创建用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件,并向所述物理主机下发所述HA集群对应的配置信息,由所述物理主机利用所述HA集群的配置信息启动HA集群管理服务;
如果是,所述虚拟机管理平台确定所述物理主机被其它虚拟机管理平台所管理,并提示所述物理主机被其它虚拟机管理平台所管理的告警信息。
所述虚拟机管理平台向所述物理主机下发所述HA集群对应的配置信息之前,所述方法还包括:如果所述物理主机上当前已经启动了HA集群管理服务,则所述虚拟机管理平台强制停止所述物理主机上当前已经启动的HA集群管理服务,并清除所述物理主机上当前已经存在的其它HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息。
所述虚拟机管理平台向所述物理主机下发所述HA集群对应的配置信息之后,所述方法还包括:
所述虚拟机管理平台在所述HA集群的信息中记录所述物理主机的信息;所述HA集群的信息具体包括:所述HA集群的名称、所述HA集群内配置的物理主机的IP地址或主机名、所述HA集群的组播地址和端口信息。
所述虚拟机管理平台在所述HA集群的信息中记录所述物理主机的信息之后,所述方法还包括:当物理主机需要退出HA集群时,所述虚拟机管理平台判断所述物理主机上存在的指定文件中是否记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台;
如果否,所述虚拟机管理平台提示所述物理主机被其它虚拟机管理平台所管理的告警信息,并在所述HA集群的信息中清除所述物理主机的信息;
如果是,所述虚拟机管理平台删除所述物理主机上存在的指定文件,在所述物理主机当前已经加入到所述HA集群时,停止所述物理主机上当前已经启动的HA集群管理服务,清除所述物理主机上当前已经存在的所述HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息,并在所述HA集群的信息中清除所述物理主机的信息。
所述方法还包括:所述虚拟机管理平台接收来自所述物理主机的请求消息,所述请求消息中携带所述物理主机加入的HA集群的组播地址和端口信息;所述请求消息用于请求所述虚拟机管理平台确认所述物理主机是否被所述虚拟机管理平台所管理,且所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述虚拟机管理平台在确认所述物理主机被所述虚拟机管理平台所管理,且所述物理主机加入的HA集群的组播地址和端口信息正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确;
否则,所述虚拟机管理平台向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确。
本发明实施例提供一种高可用性HA的虚拟机集群的管理方法,应用于包括虚拟机管理平台和多个物理主机的HA集群系统中,所述物理主机上运行有一个以上的虚拟机,该方法包括以下步骤:
物理主机在需要启动HA集群管理服务时,判断本地是否存在指定文件,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;且所述指定文件是由虚拟机管理平台在将该物理主机加入到由该虚拟机管理平台管理的HA集群时,在所述物理主机上创建的用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件;
如果不存在指定文件,所述物理主机不启动所述HA集群管理服务;
如果存在指定文件,所述物理主机向所述虚拟机管理平台发送请求消息,所述请求消息用于请求所述虚拟机管理平台确认所述物理主机是否被所述虚拟机管理平台所管理;
如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,则所述物理主机启动所述HA集群管理服务;如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机没有被所述虚拟机管理平台所管理,则所述物理主机不启动所述HA集群管理服务;
如果所述物理主机在指定时间内未收到响应消息,则所述物理主机不启动所述HA集群管理服务。
所述请求消息中还携带所述物理主机加入的HA集群的组播地址和端口信息,所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述物理主机向所述虚拟机管理平台发送请求消息之后还包括:
如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确,则所述物理主机启动所述HA集群管理服务;
如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确,则所述物理主机不启动所述HA集群管理服务;
如果所述物理主机在指定时间内未收到响应消息,则所述物理主机不启动所述HA集群管理服务。
所述物理主机向所述虚拟机管理平台发送请求消息的过程,进一步包括:
所述物理主机在向所述虚拟机管理平台发送请求消息之后,所述物理主机将当前请求消息发送次数加1;其中,请求消息发送次数的初始值为0;
如果所述物理主机在预设时间内未收到所述响应消息,则所述物理主机判断当前请求消息发送次数是否小于请求消息最大发送次数;
如果是,则所述物理主机继续向所述虚拟机管理平台发送请求消息,并将当前请求消息发送次数加1;以此类推;
如果否,则所述物理主机确认所述虚拟机管理平台发生故障,并在未收到来自所述虚拟机管理平台的响应消息的情况下,启动所述HA集群管理服务。
所述物理主机确认所述虚拟机管理平台发生故障之后,所述方法还包括:
所述物理主机启动虚拟机管理平台探测线程,所述虚拟机管理平台探测线程用于探测所述虚拟机管理平台的故障恢复情况;
当通过所述虚拟机管理平台探测线程确认所述虚拟机管理平台故障恢复时,所述物理主机停止所述虚拟机管理平台探测线程。
所述物理主机启动虚拟机管理平台探测线程的过程,具体包括:
所述物理主机在到达请求间隔时间之后,向所述虚拟机管理平台发送所述请求消息,并等待接收所述虚拟机管理平台返回的响应消息;如果收到所述虚拟机管理平台返回的响应消息,则所述物理主机确认所述虚拟机管理平台故障恢复;如果未收到所述虚拟机管理平台返回的响应消息,则所述物理主机在下一次到达请求间隔时间之后,继续向所述虚拟机管理平台发送所述请求消息,并等待接收所述虚拟机管理平台返回的响应消息,以此类推。
本发明实施例提供一种虚拟机管理平台,应用于包括所述虚拟机管理平台和多个物理主机的高可用性HA集群系统中,所述物理主机上运行有一个以上的虚拟机,所述虚拟机管理平台具体包括:
判断模块,用于当物理主机需要加入到由本虚拟机管理平台管理的HA集群时,判断所述物理主机上是否存在指定文件;其中,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;
处理模块,用于当判断结果为否时,将所述物理主机加入到所述HA集群,在所述物理主机上创建用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件,向所述物理主机下发所述HA集群对应的配置信息,由所述物理主机利用所述HA集群的配置信息启动HA集群管理服务;
当判断结果为是时,确定所述物理主机被其它虚拟机管理平台所管理,并提示所述物理主机被其它虚拟机管理平台所管理的告警信息。
所述处理模块,还用于在所述物理主机上当前已经启动了HA集群管理服务时,则停止所述物理主机上当前已经启动的HA集群管理服务,并清除所述物理主机上当前已经存在的其它HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息。
所述处理模块,还用于在向所述物理主机下发所述HA集群对应的配置信息之后,在所述HA集群的信息中记录所述物理主机的信息;所述HA集群的信息具体包括:所述HA集群的名称、所述HA集群内配置的物理主机的IP地址或主机名、所述HA集群的组播地址和端口信息。
所述判断模块,还用于在所述HA集群的信息中记录所述物理主机的信息之后,当物理主机需要退出HA集群时,判断所述物理主机上存在的指定文件中是否记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台;
所述处理模块,还用于当判断结果为否时,提示所述物理主机被其它虚拟机管理平台所管理的告警信息,并在所述HA集群的信息中清除所述物理主机的信息;当判断结果为是时,删除所述物理主机上存在的指定文件,在所述物理主机当前已经加入到所述HA集群时,停止所述物理主机上当前已经启动的HA集群管理服务,清除所述物理主机上当前已经存在的所述HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息,并在所述HA集群的信息中清除所述物理主机的信息。
还包括:接收模块,用于接收来自所述物理主机的请求消息,所述请求消息中携带所述物理主机加入的HA集群的组播地址和端口信息;所述请求消息用于请求本虚拟机管理平台确认所述物理主机是否被本虚拟机管理平台所管理,且所述请求消息还用于请求本虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
发送模块,用于在确认所述物理主机被本虚拟机管理平台所管理,且所述物理主机加入的HA集群的组播地址和端口信息正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机被本虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确;
否则,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机没有被本虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确。
本发明实施例提供一种物理主机,应用于包括虚拟机管理平台和多个物理主机的高可用性HA集群系统中,所述物理主机上运行有一个以上的虚拟机,所述物理主机具体包括:
判断模块,用于在需要启动HA集群管理服务时,判断本地是否存在指定文件,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;且所述指定文件是由虚拟机管理平台在将该物理主机加入到由该虚拟机管理平台管理的HA集群时,在所述物理主机上创建的用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件;
第一处理模块,用于当本地不存在所述指定文件时,不启动所述HA集群管理服务;
发送模块,用于当本地存在所述指定文件时,向所述虚拟机管理平台发送请求消息,所述请求消息用于请求所述虚拟机管理平台确认本物理主机是否被所述虚拟机管理平台所管理;
第二处理模块,用于当收到响应消息,且所述响应消息用于指示本物理主机被所述虚拟机管理平台所管理,则启动所述HA集群管理服务;
当收到响应消息,且所述响应消息用于指示本物理主机没有被所述虚拟机管理平台所管理,则不启动所述HA集群管理服务;
当在指定时间内未收到响应消息,则不启动所述HA集群管理服务。
所述请求消息中还携带所述物理主机加入的HA集群的组播地址和端口信息,所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述第二处理模块,进一步用于当收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确,则启动所述HA集群管理服务;
当收到响应消息,且所述响应消息用于指示本物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确,则不启动所述HA集群管理服务;
当在指定时间内未收到响应消息,则不启动所述HA集群管理服务。
所述发送模块,进一步用于在向所述虚拟机管理平台发送请求消息之后,将当前请求消息发送次数加1;其中,请求消息发送次数的初始值为0;如果在预设时间内未收到所述响应消息,则通知所述判断模块判断当前请求消息发送次数是否小于请求消息最大发送次数;如果是,则继续向所述虚拟机管理平台发送请求消息,并将当前请求消息发送次数加1;以此类推;如果否,则确认所述虚拟机管理平台发生故障,并在未收到来自所述虚拟机管理平台的响应消息的情况下,通知所述第二处理模块启动所述HA集群管理服务。
还包括:第三处理模块,用于在确认所述虚拟机管理平台发生故障之后,启动虚拟机管理平台探测线程,所述虚拟机管理平台探测线程用于探测所述虚拟机管理平台的故障恢复情况;当通过所述虚拟机管理平台探测线程确认所述虚拟机管理平台故障恢复时,停止所述虚拟机管理平台探测线程。
所述第三处理模块,进一步用于在到达请求间隔时间之后,通知所述发送模块向所述虚拟机管理平台发送所述请求消息,并由所述第三处理模块等待接收所述虚拟机管理平台返回的响应消息;如果收到所述虚拟机管理平台返回的响应消息,则确认所述虚拟机管理平台故障恢复;如果未收到所述虚拟机管理平台返回的响应消息,则在下一次到达请求间隔时间之后,通知所述发送模块继续向所述虚拟机管理平台发送所述请求消息,并由所述第三处理模块等待接收所述虚拟机管理平台返回的响应消息,以此类推。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在物理主机加入到由虚拟机管理平台管理的HA集群时,通过在该物理主机上记录指定文件,并进一步在该指定文件中记录管理该物理主机的虚拟机管理平台的信息,从而避免了虚拟机管理平台与物理主机的HA集群不一致的情况,并提高了HA集群系统的健壮性和稳定性。
附图说明
图1是现有技术中通过使用Corosync(集群管理软件)和Pacemaker(集群资源管理软件)来搭建虚拟机的HA集群的示意图;
图2是本发明实施例一提供的一种HA的虚拟机集群的管理方法流程图;
图3是本发明实施例二提供的一种HA的虚拟机集群的管理方法流程图;
图4是本发明实施例三提供的一种虚拟机管理平台的结构示意图;
图5是本发明实施例四提供的一种物理主机的结构示意图。
具体实施方式
实施例一
针对现有技术中存在的问题,本发明实施例提供一种HA的虚拟机集群的管理方法,该方法应用于包括虚拟机管理平台和多个物理主机的HA集群系统中,且各物理主机上运行有一个以上的虚拟机,以图1为本发明实施例的应用场景示意图,物理主机1、物理主机2和物理主机3加入到由虚拟机管理平台管理的同一个HA集群(以HA集群1为例)。
本应用场景下,以三台物理主机组成的HA集群为例,实际组网中物理主机的节点个数可以灵活的弹性伸展。此外,各物理主机上可以运行基于Linux的KVM(kernel-basedVirtual Machine,基于内核的虚拟机)虚拟化平台(KVM为VMM(Virtual Machine Monitor,虚拟机)的一种具体实现)、运行libvirt(虚拟化工具的函数库)等虚拟化中间件、运行Corosync和Pacemaker等HA集群软件。此外,各物理主机上运行多个虚拟机,各虚拟机上分别运行不同业务(如DataBase server(数据库服务)、web server(网络服务),file server(文件服务),ftp serve(文件传输服务)、mail server(邮件服务)等)。
本发明实施例中,虚拟机管理平台(vManager)通过SSH(Secure Shell,安全外壳协议)等远程工具来管理物理主机,实现对所有物理主机上运行的虚拟机、虚拟交换机、存储资源等的统一管理。进一步的,虚拟机管理平台还可以通过SSH等远程工具来管理各个物理主机上的Corosync和Pacemaker 等HA集群的配置信息,以实现各个物理主机的HA集群功能。
在上述应用场景下,如图2所示,该方法包括以下步骤:
步骤201,当物理主机需要加入到由虚拟机管理平台管理的HA集群时,虚拟机管理平台判断该物理主机上是否存在指定文件(可称为/root/.ssh/myvManager文件)。如果否,则执行步骤202;如果是,则执行步骤203。
本发明实施例中,虚拟机管理平台在将物理主机纳入管理时,需要在该物理主机上创建指定文件,即物理主机上需要维护指定文件,且该指定文件用于记录管理物理主机的虚拟机管理平台的信息。其中,该指定文件中可以记录虚拟机管理平台所在主机的主机名称或者IP地址,以表示该物理主机被该主机名称或者IP地址所对应的主机所管理。
以指定文件中记录虚拟机管理平台所在主机的主机名称为例进行说明,则指定文件中记录的内容可以如下所示,指定文件中的该内容表示物理主机被运行在主机名称为cvk-73的虚拟机管理平台所管理。
root@inspur-34:~#cat/root/.ssh/myvManager
cvk-73
root@inspur-34:~#
本发明实施例中,以物理主机4需要加入到由虚拟机管理平台管理的HA集群1为例。则:管理员需要在IE等浏览器上登录虚拟机管理平台,将需要搭建HA集群1的物理主机4加入到虚拟机管理平台管理的HA集群1,在加入时要求输入物理主机4的帐号和密码等信息。之后,虚拟机管理平台使用物理主机4的帐号和密码等信息通过SSH登录到新加入的物理主机4。进一步的,虚拟机管理平台判断物理主机4上是否存在指定文件(/root/.ssh/myvManager文件)。如果否,则执行步骤202;如果是,则执行步骤203。
步骤202,虚拟机管理平台将物理主机加入到HA集群,在物理主机上创建用于记录管理该物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件,并向物理主机下发该HA集群对应的配置信息,并由该物理主机利用该HA集群的配置信息启动HA集群管理服务。
其中,HA集群对应的配置信息包括但不限于:HA集群的组播地址和端口信息、HA集群心跳报文相关配置(如心跳报文的发送周期,超时时间等)。
其中,HA集群管理服务包括但不限于Corosync服务,且启动HA集群管理服务表示物理主机已经加入到相应的HA集群。进一步的,物理主机启动HA集群管理服务具体包括但不限于:物理主机启动HA集群组播监听功能、发送作为集群心跳消息的组播报文、为上层应用提供的通信服务等。
以物理主机4需要加入到由虚拟机管理平台管理的HA集群1为例,则:虚拟机管理平台将物理主机4加入到HA集群1,在物理主机4上创建用于记录物理主机4被本虚拟机管理平台所管理的指定文件,并向物理主机4下发该HA集群1对应的配置信息(如:HA集群1的组播地址和端口信息等)。
进一步的,由物理主机4利用该HA集群1的配置信息(如:HA集群1的组播地址和端口信息)启动HA集群管理服务。
本发明实施例中,虚拟机管理平台向物理主机下发HA集群对应的配置信息之前,如果物理主机上当前已经启动了HA集群管理服务(如该物理主机当前已经加入到其它HA集群,则可能启动其它HA集群的HA集群管理服务),则虚拟机管理平台还需要停止物理主机上当前已经启动的HA集群管理服务(例如:虚拟机管理平台首先使用service corosync stop命令,以停止物理主机上当前已经启动的HA集群管理服务;如果在指定时间内未停止物理主机上当前已经启动的HA集群管理服务,则使用kill-9命令强制杀死物理主机上当前已经启动的Corosync进程),并清除物理主机上当前已经存在的其它HA集群(HA集群2)对应的配置信息,并清除物理主机上启动HA集群管理服务后运行的中间信息。
本发明实施例中,虚拟机管理平台向物理主机下发HA集群对应的配置信息之后,虚拟机管理平台还需要在HA集群的信息中记录该物理主机的信息。该HA集群的信息包括但不限于:HA集群的名称、HA集群内配置的物理主机的IP地址或主机名、HA集群的组播地址和端口信息。基于此,虚拟机管理平台在将物理主机4加入到HA集群1后,HA集群1的信息包括:HA集群1的名称、HA集群1内配置的物理主机的IP地址或主机名(如物理主机1的IP地址或主机名、物理主机2的IP地址或主机名、物理主机3的IP地址或主机名和物理主机4的IP地址或主机名)、HA集群1的组播地址和端口信息。
步骤203,虚拟机管理平台确定物理主机被其它虚拟机管理平台所管理,并提示物理主机被其它虚拟机管理平台所管理的告警信息;如:虚拟机管理平台弹出提示框提示“该物理主机已被其它虚拟机管理平台所管理,请先将该物理主机从其它虚拟机管理平台上删除后再进行增加物理主机的操作”。
本发明实施例中,当物理主机需要退出HA集群时,虚拟机管理平台需要首先判断该物理主机上存在的指定文件中是否记录管理该物理主机的虚拟机管理平台为本虚拟机管理平台;如果否,则该虚拟机管理平台提示该物理主机被其它虚拟机管理平台所管理的告警信息,并在HA集群的信息中清除该物理主机的信息;如果是,则该虚拟机管理平台删除该物理主机上存在的指定文件,在该物理主机当前已经加入到HA集群时,停止该物理主机上当前已经启动的HA集群管理服务,清除该物理主机上当前已经存在的HA集群对应的配置信息,并清除该物理主机上启动HA集群管理服务后运行的中间信息,并在该HA集群的信息中清除该物理主机的信息。
以物理主机1需要退出HA集群1为例,则:管理员需要在IE等浏览器上登录虚拟机管理平台,选择需要删除的物理主机1,并点击“删除”菜单项。虚拟机管理平台使用物理主机1的帐号和密码等信息通过SSH登录到物理主机1,并判断物理主机1上存在的指定文件中是否记录该物理主机1被本虚拟机管理平台所管理。如果否,则说明该物理主机1被其它虚拟机管理平台所管理或存在异常,该虚拟机管理平台提示该物理主机1被其它虚拟机管理平台所管理的告警信息,并在HA集群的信息中清除该物理主机的信息(如删除HA集群1内配置的物理主机1,此时HA集群1内配置的物理主机为物理主机2、物理主机3和物理主机4)。如果是,则该虚拟机管理平台删除该物理主机1上存在的指定文件,并在该物理主机1当前已经加入到HA集群1时,停止该物理主机1上当前已经启动的HA集群管理服务,清除该物理主机1上当前已经存在的HA集群1对应的配置信息,并清除该物理主机1上启动HA集群管理服务后运行的中间信息,并在该HA集群1的信息中清除该物理主机1的信息(如删除HA集群1内配置的物理主机1,此时HA集群1内配置的物理主机为物理主机2、物理主机3和物理主机4)。
综上所述,本发明实施例中,在物理主机加入到由虚拟机管理平台管理的HA集群时,通过在该物理主机上记录指定文件,并在该指定文件中记录该物理主机被该虚拟机管理平台所管理的信息,从而避免了虚拟机管理平台与物理主机的HA集群不一致的情况(即避免了Corosync服务以组播报文作为HA集群的心跳报文,只要物理主机上的Corosync服务配置了同样的组播地址地址和端口信息,就会自动加入该HA集群所导致的虚拟机管理平台与物理主机的HA集群不一致的情况),提高了HA集群系统的健壮性和稳定性。
实施例二
由于现有技术中,当HA集群中的某台物理主机由于硬件故障关机维修时,在关机期间,虚拟机管理平台上将该物理主机从HA集群中删除;在物理主机故障修复并重新上电启动后,物理主机上仍然有Corosync和Pacemaker等集群相关配置,从而导致虚拟机管理平台与物理主机的HA集群不一致的情况。针对上述问题,本发明实施例提供一种HA的虚拟机集群的管理方法,该方法应用于包括虚拟机管理平台和多个物理主机的HA集群系统中,且各物理主机上运行有一个以上的虚拟机,以图1为本发明实施例的应用场景示意图,物理主机1、物理主机2和物理主机3加入到由虚拟机管理平台管理的同一个HA集群(以HA集群1为例)。
在上述应用场景下,如图3所示,该方法包括以下步骤:
步骤301,物理主机在需要启动HA集群管理服务(即启动HA集群管理服务(如Corosync服务)进行组播监听)时,判断本地是否存在指定文件(可称为/root/.ssh/myvManager文件),该指定文件用于记录管理该物理主机的虚拟机管理平台的信息,且该指定文件是由虚拟机管理平台在将该物理主机加入到由该虚拟机管理平台管理的HA集群时,在该物理主机上创建的用于记录管理该物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件。如果不存在指定文件,则执行步骤302;如果存在指定文件,则执行步骤303。
本发明实施例中,虚拟机管理平台在将物理主机纳入管理时,需要在该物理主机上创建指定文件,且物理主机上会维护该指定文件,且该指定文件用于记录管理该物理主机的虚拟机管理平台的信息。其中,该指定文件中可以记录虚拟机管理平台所在主机的主机名称或者IP地址,以表示该物理主机被该主机名称或者IP地址所对应的主机所管理。
以指定文件中记录虚拟机管理平台所在主机的主机名称为例进行说明,则该指定文件中记录的内容可以如下所示,该指定文件中的该内容表示物理主机被运行在主机名称为cvk-73的虚拟机管理平台所管理。
root@inspur-34:~#cat/root/.ssh/myvManager
cvk-73
root@inspur-34:~#
步骤302,物理主机不启动HA集群管理服务(即不启动HA集群管理服务进行组播监听)。其中,在不存在指定文件时,说明该物理主机当前未被虚拟机管理平台所管理,此时物理主机不启动HA集群管理服务。
基于此,当物理主机本地不存在指定文件时,说明该物理主机当前未被虚拟机管理平台所管理,此时该物理主机不能够启动HA集群管理服务,即该物理主机不加入到相应的HA集群。上述处理能够避免未加入虚拟机管理平台的物理主机启动HA集群管理服务后,加入到HA集群(如物理主机1故障修复并重新上电启动后,物理主机1上仍然有Corosync和Pacemaker等集群相关配置,如果物理主机1启动HA集群管理服务,则物理主机1会加入到HA集群1),导致虚拟机管理平台与物理主机的HA集群不一致的情况。
步骤303,物理主机向虚拟机管理平台发送请求消息,该请求消息用于请求虚拟机管理平台确认该物理主机是否被该虚拟机管理平台所管理。该请求消息可以为HTTP(HyperText Transfer Protocol,超文本传输协议)请求消息。
步骤304,虚拟机管理平台在收到来自物理主机的请求消息(该请求消息用于请求虚拟机管理平台确认该物理主机是否被本虚拟机管理平台所管理)后,如果确认该物理主机被本虚拟机管理平台所管理,则向该物理主机发送响应消息,该响应消息用于指示该物理主机被该虚拟机管理平台所管理;如果确认该物理主机没有被本虚拟机管理平台所管理,则向该物理主机发送响应消息,该响应消息用于指示该物理主机没有被该虚拟机管理平台所管理。
步骤305,如果物理主机收到响应消息,且该响应消息用于指示该物理主机被虚拟机管理平台所管理,则物理主机启动HA集群管理服务(即启动HA集群管理服务进行组播监听);如果物理主机收到响应消息,且该响应消息用于指示该物理主机没有被虚拟机管理平台所管理,则物理主机不启动HA集群管理服务(即不启动HA集群管理服务进行组播监听);如果物理主机在指定时间(该指定时间可以根据实际经验值进行选择)内未收到响应消息,物理主机不启动HA集群管理服务(即不启动HA集群管理服务进行组播监听)。
在本发明实施例的一种优选实施方式中,物理主机向虚拟机管理平台发送的请求消息中,还可以携带该物理主机加入的HA集群的组播地址和端口信息;基于此,该请求消息用于请求虚拟机管理平台确认该物理主机是否被该虚拟机管理平台所管理,且该请求消息还用于请求虚拟机管理平台确认该物理主机加入的HA集群的组播地址和端口信息是否正确。
在此情况下,虚拟机管理平台在收到来自物理主机的请求消息(该请求消息用于请求虚拟机管理平台确认该物理主机是否被该虚拟机管理平台所管理,并请求虚拟机管理平台确认该物理主机加入的HA集群的组播地址和端口信息是否正确)后,如果确认该物理主机被本虚拟机管理平台所管理,且该物理主机加入的HA集群的组播地址和端口信息正确,则虚拟机管理平台向该物理主机发送响应消息,该响应消息用于指示该物理主机被本虚拟机管理平台所管理,且该物理主机加入的HA集群的组播地址和端口信息正确。否则(即该物理主机没有被本虚拟机管理平台所管理,和/或,该物理主机加入的HA集群的组播地址和端口信息不正确),虚拟机管理平台向该物理主机发送响应消息,该响应消息用于指示该物理主机没有被本虚拟机管理平台所管理,和/或,指示该物理主机加入的HA集群的组播地址和端口信息不正确。
其中,在该物理主机没有被本虚拟机管理平台所管理,和/或,该物理主机加入的HA集群的组播地址和端口信息不正确时,虚拟机管理平台还可以发出严重告警信息,以提示管理员人工的排查出异常情况。
进一步的,如果物理主机收到响应消息,且该响应消息用于指示该物理主机被本虚拟机管理平台所管理,并指示该物理主机加入的HA集群的组播地址和端口信息正确,则该物理主机启动HA集群管理服务(即启动HA集群管理服务进行组播监听);如果物理主机收到响应消息,且该响应消息用于指示该物理主机没有被本虚拟机管理平台所管理,和/或,指示该物理主机加入的HA集群的组播地址和端口信息不正确,则物理主机不启动HA集群管理服务(即不启动HA集群管理服务进行组播监听);如果物理主机在指定时间内未收到响应消息,则物理主机不启动HA集群管理服务(即不启动HA集群管理服务进行组播监听)。
在上述实施方式下,如果物理主机收到响应消息,且该响应消息用于指示该物理主机没有被本虚拟机管理平台所管理和/或指示该物理主机加入的HA集群的组播地址和端口信息不正确,或者,物理主机在指定时间内未收到响应消息,则物理主机不启动HA集群管理服务,这样就避免了虚拟机管理平台与物理主机的HA集群不一致的情况,并且避免了物理主机上存在的HA集群的组播地址和端口信息与虚拟机管理平台记录的物理主机上存在的HA集群的组播地址和端口信息不一致的情况。
具体的,物理主机故障修复并重新上电启动之后,在物理主机上仍然有Corosync和Pacemaker等集群相关配置,且物理主机上的指定文件存在时,如果物理主机启动HA集群管理服务,则物理主机会加入到相应的HA集群,从而导致虚拟机管理平台与物理主机的HA集群不一致的情况;或者导致物理主机使用的HA集群的组播地址和端口信息与虚拟机管理平台记录的HA集群的组播地址和端口信息不一致的情况。在采用本发明实施例后,可以避免虚拟机管理平台与物理主机的HA集群不一致的情况,并且避免了物理主机上存在的HA集群的组播地址和端口信息与虚拟机管理平台记录的物理主机上存在的HA集群的组播地址和端口信息不一致的情况。
本发明实施例中,还可以初始化请求消息发送次数(tryIndex)为0(即请求消息发送次数的初始值为0),并初始化请求消息最大发送次数(iMaxTry)为预设数值(该预设数值可以根据实际经验进行设置)。
基于此,物理主机向虚拟机管理平台发送请求消息的过程中,物理主机在向虚拟机管理平台发送请求消息之后,该物理主机还需要将当前请求消息发送次数加1;如果物理主机在预设时间内未收到响应消息,则物理主机判断当前请求消息发送次数是否小于请求消息最大发送次数。如果是,则物理主机继续向虚拟机管理平台发送请求消息,并将当前请求消息发送次数加1;以此类推。如果否,则物理主机确认虚拟机管理平台发生故障,并在未收到来自虚拟机管理平台的响应消息的情况下,启动HA集群管理服务(即启动HA集群管理服务进行组播监听),以保证在虚拟机管理平台出现故障时,物理主机仍然能够加入到HA集群,保证物理主机上的虚拟业务能够继续正常运转。
在本发明实施例的一种优选实施方式中,物理主机确认虚拟机管理平台发生故障之后,该物理主机还可以启动一个独立的虚拟机管理平台探测线程(vManagerProbeThread),该虚拟机管理平台探测线程用于探测虚拟机管理平台的故障恢复情况。进一步的,当通过虚拟机管理平台探测线程确认虚拟机管理平台故障恢复时,该物理主机停止虚拟机管理平台探测线程。
本发明实施例中,物理主机在启动虚拟机管理平台探测线程的过程中,物理主机需要设置请求间隔时间(如设置请求间隔时间iCurrentInterval=60s);物理主机在到达请求间隔时间之后,向虚拟机管理平台发送请求消息(即步骤303中的请求消息),并等待接收虚拟机管理平台返回的响应消息。进一步的,如果收到虚拟机管理平台返回的响应消息,则物理主机确认虚拟机管理平台故障恢复,并记录相关日志信息,以备审计,并终止虚拟机管理平台探测线程;如果未收到虚拟机管理平台返回的响应消息,则物理主机在下一次到达请求间隔时间之后,继续向虚拟机管理平台发送请求消息(即步骤303中的请求消息),并等待接收虚拟机管理平台返回的响应消息,以此类推。
实施例三
基于与上述方法同样的发明构思,本发明实施例中还提供了一种虚拟机管理平台,应用于包括所述虚拟机管理平台和多个物理主机的高可用性HA集群系统中,所述物理主机上运行有一个以上的虚拟机,如图4所示,所述虚拟机管理平台具体包括:
判断模块11,用于当物理主机需要加入到由本虚拟机管理平台管理的HA集群时,判断所述物理主机上是否存在指定文件;其中,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;
处理模块12,用于当判断结果为否时,将所述物理主机加入到所述HA集群,在所述物理主机上创建用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件,向所述物理主机下发所述HA集群对应的配置信息,由所述物理主机利用所述HA集群的配置信息启动HA集群管理服务;
当判断结果为是时,确定所述物理主机被其它虚拟机管理平台所管理,并提示所述物理主机被其它虚拟机管理平台所管理的告警信息。
所述处理模块12,还用于在所述物理主机上当前已经启动了HA集群管理服务时,则停止所述物理主机上当前已经启动的HA集群管理服务,并清除所述物理主机上当前已经存在的其它HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息。
所述处理模块12,还用于在向所述物理主机下发所述HA集群对应的配置信息之后,在所述HA集群的信息中记录所述物理主机的信息;所述HA集群的信息具体包括:所述HA集群的名称、所述HA集群内配置的物理主机的IP地址或主机名、所述HA集群的组播地址和端口信息。
所述判断模块11,还用于在所述HA集群的信息中记录所述物理主机的信息之后,当物理主机需要退出HA集群时,判断物理主机上存在的指定文件中是否记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台;
所述处理模块12,还用于当判断结果为否时,提示所述物理主机被其它虚拟机管理平台所管理的告警信息,在所述HA集群的信息中清除所述物理主机的信息;当判断结果为是时,删除所述物理主机上存在的指定文件,在所述物理主机当前已经加入到所述HA集群时,停止所述物理主机上当前已经启动的HA集群管理服务,清除所述物理主机上当前已经存在的所述HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息,并在所述HA集群的信息中清除所述物理主机的信息。
该虚拟机管理平台还包括:
接收模块13,用于接收来自所述物理主机的请求消息,所述请求消息中携带所述物理主机加入的HA集群的组播地址和端口信息;所述请求消息用于请求本虚拟机管理平台确认所述物理主机是否被本虚拟机管理平台所管理,且所述请求消息还用于请求本虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
发送模块14,用于在确认所述物理主机被本虚拟机管理平台所管理,且所述物理主机加入的HA集群的组播地址和端口信息正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机被本虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确;
否则,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机没有被本虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
实施例四
基于与上述方法同样的发明构思,本发明实施例中还提供了一种物理主机,应用于包括虚拟机管理平台和多个物理主机的高可用性HA集群系统中,所述物理主机上运行有一个以上的虚拟机,如图5所示,所述物理主机包括:
判断模块21,用于在需要启动HA集群管理服务时,判断本地是否存在指定文件,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;且所述指定文件是由虚拟机管理平台在将该物理主机加入到由该虚拟机管理平台管理的HA集群时,在所述物理主机上创建的用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件;
第一处理模块22,用于当本地不存在所述指定文件时,不启动所述HA集群管理服务;
发送模块23,用于当本地存在所述指定文件时,向所述虚拟机管理平台发送请求消息,所述请求消息用于请求所述虚拟机管理平台确认本物理主机是否被所述虚拟机管理平台所管理;
第二处理模块24,用于当收到响应消息,且所述响应消息用于指示本物理主机被所述虚拟机管理平台所管理,则启动所述HA集群管理服务;
当收到响应消息,且所述响应消息用于指示本物理主机没有被所述虚拟机管理平台所管理,则不启动所述HA集群管理服务;
当在指定时间内未收到响应消息,则不启动所述HA集群管理服务。
所述请求消息中还携带所述物理主机加入的HA集群的组播地址和端口信息,所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述第二处理模块24,进一步用于当收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确,则启动所述HA集群管理服务;
当收到响应消息,且所述响应消息用于指示本物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确,则不启动所述HA集群管理服务;
当在指定时间内未收到响应消息,则不启动所述HA集群管理服务。
所述发送模块23,进一步用于在向所述虚拟机管理平台发送请求消息后,将当前请求消息发送次数加1;其中,请求消息发送次数的初始值为0;如果在预设时间内未收到所述响应消息,则通知所述判断模块21判断当前请求消息发送次数是否小于请求消息最大发送次数;如果是,则继续向所述虚拟机管理平台发送请求消息,并将当前请求消息发送次数加1;以此类推;如果否,则确认所述虚拟机管理平台发生故障,并在未收到来自所述虚拟机管理平台的响应消息的情况下,通知所述第二处理模块24启动所述HA集群管理服务。
该物理主机还包括:
第三处理模块25,用于在确认所述虚拟机管理平台发生故障之后,启动虚拟机管理平台探测线程,所述虚拟机管理平台探测线程用于探测所述虚拟机管理平台的故障恢复情况;当通过所述虚拟机管理平台探测线程确认所述虚拟机管理平台故障恢复时,停止所述虚拟机管理平台探测线程。
所述第三处理模块25,进一步用于在到达请求间隔时间之后,通知所述发送模块23向所述虚拟机管理平台发送所述请求消息,并由所述第三处理模块25等待接收所述虚拟机管理平台返回的响应消息;如果收到所述虚拟机管理平台返回的响应消息,则确认所述虚拟机管理平台故障恢复;如果未收到所述虚拟机管理平台返回的响应消息,则在下一次到达请求间隔时间之后,通知所述发送模块23继续向所述虚拟机管理平台发送所述请求消息,并由所述第三处理模块25等待接收所述虚拟机管理平台返回的响应消息,以此类推。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (20)

1.一种高可用性HA的虚拟机集群的管理方法,应用于包括虚拟机管理平台和多个物理主机的HA集群系统中,所述物理主机上运行有一个以上的虚拟机,其特征在于,该方法包括以下步骤:
当物理主机需要加入到由所述虚拟机管理平台管理的HA集群时,所述虚拟机管理平台判断所述物理主机上是否存在指定文件;其中,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;
如果否,所述虚拟机管理平台将所述物理主机加入到所述HA集群,在所述物理主机上创建用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件,并向所述物理主机下发所述HA集群对应的配置信息,由所述物理主机利用所述HA集群的配置信息启动HA集群管理服务;
如果是,所述虚拟机管理平台确定所述物理主机被其它虚拟机管理平台所管理,并提示所述物理主机被其它虚拟机管理平台所管理的告警信息。
2.如权利要求1所述的方法,其特征在于,所述虚拟机管理平台向所述物理主机下发所述HA集群对应的配置信息之前,所述方法还包括:
如果所述物理主机上当前已经启动了HA集群管理服务,则所述虚拟机管理平台强制停止所述物理主机上当前已经启动的HA集群管理服务,并清除所述物理主机上当前已经存在的其它HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息。
3.如权利要求1所述的方法,其特征在于,所述虚拟机管理平台向所述物理主机下发所述HA集群对应的配置信息之后,所述方法还包括:
所述虚拟机管理平台在所述HA集群的信息中记录所述物理主机的信息;所述HA集群的信息具体包括:所述HA集群的名称、所述HA集群内配置的物理主机的IP地址或主机名、所述HA集群的组播地址和端口信息。
4.如权利要求3所述的方法,其特征在于,所述虚拟机管理平台在所述HA集群的信息中记录所述物理主机的信息之后,所述方法还包括:
当物理主机需要退出HA集群时,所述虚拟机管理平台判断所述物理主机上存在的指定文件中是否记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台;
如果否,所述虚拟机管理平台提示所述物理主机被其它虚拟机管理平台所管理的告警信息,并在所述HA集群的信息中清除所述物理主机的信息;
如果是,所述虚拟机管理平台删除所述物理主机上存在的指定文件,在所述物理主机当前已经加入到所述HA集群时,停止所述物理主机上当前已经启动的HA集群管理服务,清除所述物理主机上当前已经存在的所述HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息,并在所述HA集群的信息中清除所述物理主机的信息。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述虚拟机管理平台接收来自所述物理主机的请求消息,所述请求消息中携带所述物理主机加入的HA集群的组播地址和端口信息;所述请求消息用于请求所述虚拟机管理平台确认所述物理主机是否被所述虚拟机管理平台所管理,且所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述虚拟机管理平台在确认所述物理主机被所述虚拟机管理平台所管理,且所述物理主机加入的HA集群的组播地址和端口信息正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确;
所述虚拟机管理平台在确认所述物理主机没有被所述虚拟机管理平台所管理,和/或,所述物理主机加入的HA集群的组播地址和端口信息不正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确。
6.一种高可用性HA的虚拟机集群的管理方法,应用于包括虚拟机管理平台和多个物理主机的HA集群系统中,所述物理主机上运行有一个以上的虚拟机,其特征在于,该方法包括以下步骤:
物理主机在需要启动HA集群管理服务时,判断本地是否存在指定文件,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;且所述指定文件是由虚拟机管理平台在将该物理主机加入到由该虚拟机管理平台管理的HA集群时,在所述物理主机上创建的用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件;
如果不存在指定文件,所述物理主机不启动所述HA集群管理服务;
如果存在指定文件,所述物理主机向所述虚拟机管理平台发送请求消息,所述请求消息用于请求所述虚拟机管理平台确认所述物理主机是否被所述虚拟机管理平台所管理;
如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,则所述物理主机启动所述HA集群管理服务;如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机没有被所述虚拟机管理平台所管理,则所述物理主机不启动所述HA集群管理服务;
如果所述物理主机在指定时间内未收到响应消息,则所述物理主机不启动所述HA集群管理服务。
7.如权利要求6所述的方法,其特征在于,
所述请求消息中还携带所述物理主机加入的HA集群的组播地址和端口信息,所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述物理主机向所述虚拟机管理平台发送请求消息之后还包括:
如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确,则所述物理主机启动所述HA集群管理服务;
如果所述物理主机收到响应消息,且所述响应消息用于指示所述物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确,则所述物理主机不启动所述HA集群管理服务;
如果所述物理主机在指定时间内未收到响应消息,则所述物理主机不启动所述HA集群管理服务。
8.如权利要求6或7所述的方法,其特征在于,所述物理主机向所述虚拟机管理平台发送请求消息的过程,进一步包括:
所述物理主机在向所述虚拟机管理平台发送请求消息之后,所述物理主机将当前请求消息发送次数加1;其中,请求消息发送次数的初始值为0;
如果所述物理主机在预设时间内未收到所述响应消息,则所述物理主机判断当前请求消息发送次数是否小于请求消息最大发送次数;
如果是,则所述物理主机继续向所述虚拟机管理平台发送请求消息,并将当前请求消息发送次数加1;以此类推;
如果否,则所述物理主机确认所述虚拟机管理平台发生故障,并在未收到来自所述虚拟机管理平台的响应消息的情况下,启动所述HA集群管理服务。
9.如权利要求8所述的方法,其特征在于,所述物理主机确认所述虚拟机管理平台发生故障之后,所述方法还包括:
所述物理主机启动虚拟机管理平台探测线程,所述虚拟机管理平台探测线程用于探测所述虚拟机管理平台的故障恢复情况;
当通过所述虚拟机管理平台探测线程确认所述虚拟机管理平台故障恢复时,所述物理主机停止所述虚拟机管理平台探测线程。
10.如权利要求9所述的方法,其特征在于,所述物理主机启动虚拟机管理平台探测线程的过程,具体包括:
所述物理主机在到达请求间隔时间之后,向所述虚拟机管理平台发送所述请求消息,并等待接收所述虚拟机管理平台返回的响应消息;如果收到所述虚拟机管理平台返回的响应消息,则所述物理主机确认所述虚拟机管理平台故障恢复;如果未收到所述虚拟机管理平台返回的响应消息,则所述物理主机在下一次到达请求间隔时间之后,继续向所述虚拟机管理平台发送所述请求消息,并等待接收所述虚拟机管理平台返回的响应消息,以此类推。
11.一种虚拟机管理平台,应用于包括所述虚拟机管理平台和多个物理主机的高可用性HA集群系统中,所述物理主机上运行有一个以上的虚拟机,其特征在于,所述虚拟机管理平台具体包括:
判断模块,用于当物理主机需要加入到由本虚拟机管理平台管理的HA集群时,判断所述物理主机上是否存在指定文件;其中,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;
处理模块,用于当判断结果为否时,将所述物理主机加入到所述HA集群,在所述物理主机上创建用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件,向所述物理主机下发所述HA集群对应的配置信息,由所述物理主机利用所述HA集群的配置信息启动HA集群管理服务;
当判断结果为是时,确定所述物理主机被其它虚拟机管理平台所管理,并提示所述物理主机被其它虚拟机管理平台所管理的告警信息。
12.如权利要求11所述的虚拟机管理平台,其特征在于,
所述处理模块,还用于在所述物理主机上当前已经启动了HA集群管理服务时,则停止所述物理主机上当前已经启动的HA集群管理服务,并清除所述物理主机上当前已经存在的其它HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息。
13.如权利要求11所述的虚拟机管理平台,其特征在于,
所述处理模块,还用于在向所述物理主机下发所述HA集群对应的配置信息之后,在所述HA集群的信息中记录所述物理主机的信息;所述HA集群的信息具体包括:所述HA集群的名称、所述HA集群内配置的物理主机的IP地址或主机名、所述HA集群的组播地址和端口信息。
14.如权利要求13所述的虚拟机管理平台,其特征在于,
所述判断模块,还用于在所述HA集群的信息中记录所述物理主机的信息之后,当物理主机需要退出HA集群时,判断所述物理主机上存在的指定文件中是否记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台;
所述处理模块,还用于当判断结果为否时,提示所述物理主机被其它虚拟机管理平台所管理的告警信息,并在所述HA集群的信息中清除所述物理主机的信息;当判断结果为是时,删除所述物理主机上存在的指定文件,在所述物理主机当前已经加入到所述HA集群时,停止所述物理主机上当前已经启动的HA集群管理服务,清除所述物理主机上当前已经存在的所述HA集群对应的配置信息,并清除所述物理主机上启动HA集群管理服务后运行的中间信息,并在所述HA集群的信息中清除所述物理主机的信息。
15.如权利要求11所述的虚拟机管理平台,其特征在于,还包括:
接收模块,用于接收来自所述物理主机的请求消息,所述请求消息中携带所述物理主机加入的HA集群的组播地址和端口信息;所述请求消息用于请求本虚拟机管理平台确认所述物理主机是否被本虚拟机管理平台所管理,且所述请求消息还用于请求本虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
发送模块,用于在确认所述物理主机被本虚拟机管理平台所管理,且所述物理主机加入的HA集群的组播地址和端口信息正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机被本虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确;
在确认所述物理主机没有被所述虚拟机管理平台所管理,和/或,所述物理主机加入的HA集群的组播地址和端口信息不正确时,向所述物理主机发送响应消息,所述响应消息用于指示所述物理主机没有被本虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确。
16.一种物理主机,应用于包括虚拟机管理平台和多个物理主机的高可用性HA集群系统中,所述物理主机上运行有一个以上的虚拟机,其特征在于,所述物理主机具体包括:
判断模块,用于在需要启动HA集群管理服务时,判断本地是否存在指定文件,所述指定文件用于记录管理所述物理主机的虚拟机管理平台的信息;且所述指定文件是由虚拟机管理平台在将该物理主机加入到由该虚拟机管理平台管理的HA集群时,在所述物理主机上创建的用于记录管理所述物理主机的虚拟机管理平台为本虚拟机管理平台的指定文件;
第一处理模块,用于当本地不存在所述指定文件时,不启动所述HA集群管理服务;
发送模块,用于当本地存在所述指定文件时,向所述虚拟机管理平台发送请求消息,所述请求消息用于请求所述虚拟机管理平台确认本物理主机是否被所述虚拟机管理平台所管理;
第二处理模块,用于当收到响应消息,且所述响应消息用于指示本物理主机被所述虚拟机管理平台所管理,则启动所述HA集群管理服务;
当收到响应消息,且所述响应消息用于指示本物理主机没有被所述虚拟机管理平台所管理,则不启动所述HA集群管理服务;
当在指定时间内未收到响应消息,则不启动所述HA集群管理服务。
17.如权利要求16所述的物理主机,其特征在于,
所述请求消息中还携带所述物理主机加入的HA集群的组播地址和端口信息,所述请求消息还用于请求所述虚拟机管理平台确认所述物理主机加入的所述HA集群的组播地址和端口信息是否正确;
所述第二处理模块,进一步用于当收到响应消息,且所述响应消息用于指示所述物理主机被所述虚拟机管理平台所管理,并指示所述物理主机加入的HA集群的组播地址和端口信息正确,则启动所述HA集群管理服务;
当收到响应消息,且所述响应消息用于指示本物理主机没有被所述虚拟机管理平台所管理,和/或,指示所述物理主机加入的HA集群的组播地址和端口信息不正确,则不启动所述HA集群管理服务;
当在指定时间内未收到响应消息,则不启动所述HA集群管理服务。
18.如权利要求16或17所述的物理主机,其特征在于,
所述发送模块,进一步用于在向所述虚拟机管理平台发送请求消息之后,将当前请求消息发送次数加1;其中,请求消息发送次数的初始值为0;如果在预设时间内未收到所述响应消息,则通知所述判断模块判断当前请求消息发送次数是否小于请求消息最大发送次数;如果是,则继续向所述虚拟机管理平台发送请求消息,并将当前请求消息发送次数加1;以此类推;如果否,则确认所述虚拟机管理平台发生故障,并在未收到来自所述虚拟机管理平台的响应消息的情况下,通知所述第二处理模块启动所述HA集群管理服务。
19.如权利要求18所述的物理主机,其特征在于,还包括:
第三处理模块,用于在确认所述虚拟机管理平台发生故障之后,启动虚拟机管理平台探测线程,所述虚拟机管理平台探测线程用于探测所述虚拟机管理平台的故障恢复情况;当通过所述虚拟机管理平台探测线程确认所述虚拟机管理平台故障恢复时,停止所述虚拟机管理平台探测线程。
20.如权利要求19所述的物理主机,其特征在于,
所述第三处理模块,进一步用于在到达请求间隔时间之后,通知所述发送模块向所述虚拟机管理平台发送所述请求消息,并由所述第三处理模块等待接收所述虚拟机管理平台返回的响应消息;如果收到所述虚拟机管理平台返回的响应消息,则确认所述虚拟机管理平台故障恢复;如果未收到所述虚拟机管理平台返回的响应消息,则在下一次到达请求间隔时间之后,通知所述发送模块继续向所述虚拟机管理平台发送所述请求消息,并由所述第三处理模块等待接收所述虚拟机管理平台返回的响应消息,以此类推。
CN201310389540.9A 2013-08-30 2013-08-30 一种ha的虚拟机集群的管理方法和设备 Active CN103457771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310389540.9A CN103457771B (zh) 2013-08-30 2013-08-30 一种ha的虚拟机集群的管理方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310389540.9A CN103457771B (zh) 2013-08-30 2013-08-30 一种ha的虚拟机集群的管理方法和设备

Publications (2)

Publication Number Publication Date
CN103457771A CN103457771A (zh) 2013-12-18
CN103457771B true CN103457771B (zh) 2016-12-28

Family

ID=49739758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310389540.9A Active CN103457771B (zh) 2013-08-30 2013-08-30 一种ha的虚拟机集群的管理方法和设备

Country Status (1)

Country Link
CN (1) CN103457771B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260377B (zh) * 2015-09-01 2019-02-12 浪潮(北京)电子信息产业有限公司 一种基于分级存储的升级方法和系统
CN106789291A (zh) * 2016-12-29 2017-05-31 郑州云海信息技术有限公司 一种集群成员控制方法和装置
CN107147540A (zh) * 2017-07-19 2017-09-08 郑州云海信息技术有限公司 高可用性系统中的故障处理方法和故障处理集群

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394774A (zh) * 2011-10-31 2012-03-28 广东电子工业研究院有限公司 云计算操作系统的控制器服务状态监控和故障恢复方法
CN102624919A (zh) * 2012-03-30 2012-08-01 电子科技大学 一种面向服务架构的分布式业务集成系统及其应用方法
CN102750602A (zh) * 2012-04-20 2012-10-24 广东电网公司信息中心 一种云平台异构一体化资源管理系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394774A (zh) * 2011-10-31 2012-03-28 广东电子工业研究院有限公司 云计算操作系统的控制器服务状态监控和故障恢复方法
CN102624919A (zh) * 2012-03-30 2012-08-01 电子科技大学 一种面向服务架构的分布式业务集成系统及其应用方法
CN102750602A (zh) * 2012-04-20 2012-10-24 广东电网公司信息中心 一种云平台异构一体化资源管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Deploying and Researching Hadoop in Virtual Machines;Guanghui Xu等;《2012 IEEE International Conference on Automation and Logistics》;20120817;395-399 *

Also Published As

Publication number Publication date
CN103457771A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
CN109495308B (zh) 一种基于管理信息系统的自动化运维系统
WO2021017279A1 (zh) 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN102231681B (zh) 一种高可用集群计算机系统及其故障处理方法
KR101408037B1 (ko) 클라우드 시스템에서의 가상 머신 통합 모니터링 장치 및 방법
CN103853627B (zh) 由与物理机器相关地分析虚拟机器性能问题原因的方法和系统
CN109714192A (zh) 一种监控云平台的监控方法及系统
CN103812699A (zh) 基于云计算的监控管理系统
CN103873279A (zh) 一种服务器管理方法,及装置
CN111752799A (zh) 一种业务链路跟踪方法、装置、设备及储存介质
CN106155844B (zh) 一种web服务器的自恢复方法和自恢复系统
US10129373B2 (en) Recovery of a network infrastructure to facilitate business continuity
US9152441B2 (en) Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster
CN109684038B (zh) Docker服务容器日志的处理方法、装置和电子设备
US20110099273A1 (en) Monitoring apparatus, monitoring method, and a computer-readable recording medium storing a monitoring program
CN103607296A (zh) 一种虚拟机故障处理方法和设备
CN103457771B (zh) 一种ha的虚拟机集群的管理方法和设备
CN104090824A (zh) 基于Tuxedo中间件的通讯调度方法、装置及系统
CN108039956A (zh) 应用监控方法、系统和计算机可读存储介质
CN105512000A (zh) 一种操作系统异常信息收集方法、装置及计算机
US10122602B1 (en) Distributed system infrastructure testing
CN107770030B (zh) 基于vpn技术的舞台设备控制系统、控制方法及控制装置
CN111966465B (zh) 一种实时修改宿主机配置参数的方法、系统、设备及介质
CN111930565B (zh) 分布式管理系统中组件的进程故障自愈方法、装置及设备
CN101677278A (zh) 网络信息系统可用性的监控方法及系统
CN114465741A (zh) 一种异常检测方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address