物理主机故障检测方法、装置及虚机管理方法、系统的制作方法

文档序号:9471262阅读:1390来源:国知局
物理主机故障检测方法、装置及虚机管理方法、系统的制作方法
【技术领域】
[0001]本发明涉及通信领域,具体涉及一种物理主机故障检测方法、装置及虚机管理方法、系统。
【背景技术】
[0002]虚机高可用即在物理主机发生故障时,能随时将发生故障的物理主机上的虚机在集群的其他正常运行的物理主机上重启机,也即当物理主机故障后,将该物理主机上的虚拟转移到其他正常运行的物理主机上的过程。对于虚拟化管理中心来说一个重要问题即是怎样采用有效可靠的方法去检测到发生非预期故障的物理主机;现有检测物理主机是否故障的方式是简单的通过判断该物理主机的心跳消息是否正常来实现,如判定心跳消息不正常,则直接判定该物理主机发生故障,然后将该物理主机上的虚机进行迁移。但简单的通过心跳消息判定物理主机是否故障的准确率本身就比较低,往往出现物理主机未故障但被根据心跳消息是否正常而被判定为故障的情况,因此即使此时该物理主机未故障也会对该物理主机上的虚机进行迁移,从而导致同一个虚机在多个物理主机上同时启动。

【发明内容】

[0003]本发明要解决的主要技术问题是,提供一种物理主机故障检测方法、装置及虚机管理方法、系统,解决现有物理主机故障检测准确率低的问题。
[0004]为解决上述技术问题,本发明提供一种物理主机故障检测方法,包括:
[0005]向物理主机下发智能型平台管理接口检测指令对所述物理主机进行检测,根据检测结果判断所述物理主机是否正常。
[0006]在本发明的一种实施例中,在向所述物理主机下发智能型平台管理接口检测指令之前,还包括;
[0007]监测所述物理主机心跳消息的上报是否正常;如否,触发向所述物理主机下发智能型平台管理接口检测指令;
[0008]和/ 或,
[0009]设置定时模块,在该定时模块计时达到预设时间值时,触发向所述物理主机下发智能型平台管理接口检测指令。
[0010]在本发明的一种实施例中,当所述方法包括监测所述物理主机心跳消息的上报是否正常时,该过程包括:
[0011]判断是否连续N次未监测到所述物理主机通过管理网上报的心跳消息,如是,则判定所述物理主机心跳消息的上报不正常;所述N大于等于I。
[0012]在本发明的一种实施例中,根据所述检测结果判断所述物理主机不正常后,还包括:
[0013]通过存储网判断所述物理主机的唯一标识码是否正常上报,如否,判定所述物理主机故障。
[0014]为了解决上述问题,本发明还提供了一种虚机管理方法,包括:通过如上所述的物理主机故障检测方法判定所述物理主机故障后,将所述物理主机上的虚机转移到其他正常运行的物理主机上。
[0015]为了解决上述问题,本发明还提供了一种物理主机故障检测装置,包括:智能型平台管理接口检测模块,用于向所述物理主机下发智能型平台管理接口检测指令对所述物理主机进行检测,根据检测结果判断所述物理主机是否正常。
[0016]在本发明的一种实施例中,还包括心跳检测模块,用于在所述智能型平台管理接口检测模块向所述物理主机下发智能型平台管理接口检测指令之前,监测所述物理主机心跳消息的上报是否正常;如否,触发所述智能型平台管理接口检测模块向所述物理主机下发智能型平台管理接口检测指令;
[0017]和/ 或,
[0018]还包括定时模块,用于在所述智能型平台管理接口检测模块向所述物理主机下发智能型平台管理接口检测指令之前开始计时,并在计时达到预设时间值时,触发所述智能型平台管理接口检测模块向所述物理主机下发智能型平台管理接口检测指令。
[0019]在本发明的一种实施例中,当包括所述心跳检测模块时,所述心跳检测模块包括监测子模块和判断子模块;所述判断子模块用于判断所述监测子模块是否连续N次未监测到所述物理主机通过管理网上报的心跳消息,如是,判定所述物理主机心跳消息的上报不正常;所述N大于等于I。
[0020]在本发明的一种实施例中,还包括标识判断模块,用于在所述智能型平台管理接口检测模块根据所述检测结果判断所述物理主机不正常后,通过存储网判断所述物理主机的唯一标识码是否正常上报,如否,判定所述物理主机故障。
[0021]为了解决上述问题,本发明还提供了一种虚机管理系统,包括虚机转移装置和如上所述的物理主机故障检测装置;所述虚机转移装置用于在所述物理主机故障检测装置检测出物理主机故障后,将所述物理主机上的虚机转移到其他正常运行的物理主机上。
[0022]本发明的有益效果是:
[0023]本发明提供的物理主机故障检测方法、装置及虚机管理方法、系统,通过向物理主机下发智能型平台管理接口检测指令对物理主机进行检测,根据检测结果判断物理主机是否正常;并非简单的根据物理主机的心跳消息是否正常来判定物理主机是否故障。可以在较大程度上提高物理主机故障检测的准确率,进而避免由于物理主机故障的误检测导致同一虚机在多个物理主机上启动的情况发生。
【附图说明】
[0024]图1为本发明实施例一提供的物理主机故障检测流程示意图;
[0025]图2为本发明实施例二提供的虚机管理系统与物理主机的连接示意图;
[0026]图3为本发明实施例三提供的物理主机故障检测装置的结构示意图。
【具体实施方式】
[0027]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0028]实施例一:
[0029]本实施例提供的物理主机故障检测方法,并非现有仅简单根据心跳消息是否正常来判定物理主机是否故障。本实施例中判定物理主机是否故障的过程包括向物理主机下发智能型平台管理接口(IPMI intelligent Platform Management Interface)检测指令对物理主机进行检测(例如检测物理主机上电状态是否正常等等),进而根据检测结果判断该物理主机是否正常。因为IPMI是专门通过单独的CPU通过硬件检测刀片服务器状态,例如可以用来检查刀片服务器的上下电状态,得到的检测结果比较准确;但心跳消息是通过管理网络传送的,在例如管理网络网线被拔时心跳消息也会丢失,但此时刀片服务器可以是正常上电运转并没有任何问题;因此此时若仅根据心跳消息来判定的话就会出现误判,而根据IPMI检测结果则不会出现误判。因此采用IPMI检测可以在较大程度上提高物理主机故障检测的准确率,进而避免由于物理主机故障的误检测导致同一虚机在多个物理主机上启动的情况发生。本实施例中,可通过在生产环境中单独部署的IPMI网络向物理主机下发相应的IPMI指令。
[0030]一般来说,当监测到物理主机的心跳消息的上报正常时,该物理主机一般也都运行正常。在此情况下,向该物理主机下发IPMI检测指令的必要性就不是太大,因为即使此时向物理主机下发IPMI检测指令,获取的检测结果也基本都是运行正常。因此,为了尽可能减少系统不必要的额外开销,提高资源利用率,本实施例中可以设置仅在检测到物理主机上报的心跳消息不正常时,才向该物理主机下发IPMI检测指令。此时,则在向物理主机下发IPMI检测指令之前,还包括;
[0031]监测物理主机心跳消息的上报是否正常;如不正常,触发向该物理主机下发IPMI检测指令;如正常,则不触发该操作。
[0032]本实施例中可以通过判断是否连续N次未监测到物理主机通过管理网上报的心跳消息来判断该物理主机的心跳消息是否正常;如连续N次都未监测到,则判定该物理主机心跳消息的上报不正常;本实施例中的N的取值理论上可以取大于等于I的任何整数值;具体取值则可根据当前网络环境、用户需求等因素具体设置,例如可设置为3或5等等。
[0033]当然,触发向物理主机下发IPMI检测指令的条件除了物理主机心跳不正常外,还可采用定时触发的方式实现。此时,在则在向物理主机下发IPMI检测指令之前,还包括;
[0034]设置定时模块,在该定时模块计时达到预设时间值(例如每间隔I秒或5秒等下发一次)时,触发向物理主机下发智能型平台管理接口检测指令的操作。这种触发方式相对根据心跳消息的状态触发的方式,其占用的资源会相对更多一些。但这也是一种相对灵活且有效的触发方式。当然,在本实施例中,还可同时结合这两种方式实现触发,也即只有当着两种触发条件都满足后,才触发下发IPMI检测指令的操作。
[0035]在通过IPMI检测指令监测到物理主机不正常时,在绝大部分情况下都可判定物理主机发生故障,需要对其上的虚机进行迁移处理。但是,为了确保不是由于物理主机卡死等异常原因导致的IPMI检测结果失效,在本实施例中,根据检测结果判断物理主机不正常后,还可进一步包括:
[0036]通过存储网判断该物理主机的唯一标识码是否正常上报,如否,判定该物理主机故障。
[0037]各个物理主机通过单独的存储网络可访问某块共享存储,基于此,每个物理主机定时向该共享存储写入带有唯一标识码(例如UUID Universally Unique Identifier,通用唯一识别码)物理主机标记,因此可以通过检测物理主机是否通过存储网正常定时上报该唯一标识码进一步检测该物理主机是否故障,如在该共享存储中未检测到该物理主机的唯一标识码,则代表该物理主机未正常上报其唯一标识码,确定该主机故障;否则,则表明该物理主机未故障或不一定故障。
[0038]可见,本实施例提供的物理主机检测方法,可以单独通过IPMI检测指令实现对物理主机故障的检测,也可结合物理主机的心跳消息和IPMI检测指令实现;为了进一步提高检测准确率,甚至还可结合物理主机的心跳消息、IPMI检测指令和物理主机通过存储网上报唯一标识码的情况实现。在通过上述方式检测到物理主机故障后,即可将该物理主机上的虚机转移到其他正常运
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1