CN104572179A - 一种基础设施即服务软件升级方法和装置 - Google Patents
一种基础设施即服务软件升级方法和装置 Download PDFInfo
- Publication number
- CN104572179A CN104572179A CN201410805090.1A CN201410805090A CN104572179A CN 104572179 A CN104572179 A CN 104572179A CN 201410805090 A CN201410805090 A CN 201410805090A CN 104572179 A CN104572179 A CN 104572179A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- mark
- host
- software upgrading
- list
- 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.)
- Granted
Links
Abstract
本发明实施例公开了一种基础设施即服务软件升级方法和装置。该方法包括:升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识;所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一Host进行软件升级。本发明能够实现自动化的IaaS软件升级,同时提高IaaS软件升级的效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基础设施即服务软件升级方法和装置。
背景技术
基础设施即服务(英文:Infrastructure as a Service,缩写:IaaS)中,用户可以从完善的计算机基础设施获得服务。其中,基础设施供应商购买硬件,并在硬件上安装IaaS软件,以向用户提供IaaS服务。用户向基础设施供应商购买IaaS服务后,在IaaS的宿主服务器(英文:Host Server,简称:Host)上申请虚拟机(英文:Virtual Machine,缩写:VM),并在VM上部署自己的应用程序。
在进行IaaS软件升级时,需要实现IaaS软件的无损升级,即保证用户的VM能够继续正常运行,以及用户正在运行的应用程序不被中断。为了实现IaaS软件的无损升级,需要基础设施管理员手工把Host分成多个批次滚动升级。首先,将一个批次的Host上面运行的VM通过热迁移的方式迁移到其他Host上。如图1,为IaaS软件升级过程中的VM热迁移示意图,其中,热迁移能够在VM1和VM2运行的过程中将该VM1和VM2从Host1迁移到Host2上,并保证VM1和VM2迁移前后能够不中断运行,业务无损。其次,对完成热迁移的批次的Host上的IaaS软件进行升级。当一个批次的Host上的IaaS软件升级完成后,再升级下一个批次的Host上的IaaS软件,直到把所有Host上的IaaS软件升级完成。
但是,由于通过VM热迁移的方式实现IaaS软件的升级需要基础设施管理员手工进行Host分批升级,所以不能实现自动化的IaaS软件升级。同时,仅仅依赖VM热迁移技术,会导致在基础设施空闲资源不足或VM使用了不支持热迁移的硬件特性时,无法进行热迁移,最终无法实现IaaS软件的升级。另外,由于VM热迁移的过程耗时长,所以上述方法也会降低整个IaaS软件升级的效率。
发明内容
本发明提供了一种基础设施即服务软件升级方法和装置,能够实现自动化的IaaS软件升级,同时提高IaaS软件升级的效率。
为此,本发明提供如下技术方案:
第一方面,本发明提供了一种基础设施即服务软件升级方法,所述方法包括:
升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识;
所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;
当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一Host进行软件升级。
在第一方面的第一种可能的实现方式中,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
在第一方面的第二种可能的实现方式中,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块在预设时间间隔后,
重新向返回所述禁止升级标识的VM发送软件升级请求,或者,
重新执行所述根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求的步骤。
在第一方面的第三种可能的实现方式中,当所述升级模块对至少两个Host进行软件升级时,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块获取第二Host的VM列表,所述VM列表包括所述第二Host上的所有VM的标识;根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第二Host进行软件升级。
第二方面,本发明提供了一种基础设施即服务软件升级方法,所述方法包括:
虚拟机VM接收第一宿主服务器Host的软件升级请求后,判断当前状态是否允许所述第一Host进行软件升级;
如果所述VM的当前状态允许所述第一Host进行软件升级,则所述VM发送包括允许升级标识的软件升级响应;
如果所述VM的当前状态不允许所述第一Host进行软件升级,则所述VM发送包括禁止升级标识的软件升级响应。
在第二方面的第一种可能的实现方式中,所述判断当前状态是否允许所述第一Host进行软件升级,包括:
判断与自身部署的支持主备冗余的业务应用互为主备的业务应用是否正在运行,和\或,
判断重启所述VM时,自身部署的业务应用是否支持暂停运行,和\或,
判断重启所述VM时,自身部署的支持负荷分担的业务应用是否支持暂停运行,和\或,
当自身分布式部署业务应用时,判断是否接收到来自管理中心的允许重启通知。
第三方面,本发明提供了一种基础设施即服务软件升级装置,所述装置包括:
获取单元,用于获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识;
第一发送单元,用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;
接收单元,用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;
升级单元,用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第一Host进行软件升级。
在第三方面的第一种可能的实现方式中,所述装置还包括:
第二发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
在第三方面的第二种可能的实现方式中,所述装置还包括:
第三发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,重新向返回所述禁止升级标识的VM发送软件升级请求;或者,
触发单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,触发所述第一发送单元。
在第三方面的第三种可能的实现方式中,所述装置用于对至少两个Host进行软件升级,
所述获取单元,还用于当所述列表上的至少一个VM返回所述禁止升级标识时,获取第二Host的VM列表,所述VM列表包括所述第二Host上的所有VM的标识;
所述第一发送单元,还用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;
所述接收单元,还用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;
所述升级单元,还用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第二Host进行软件升级。
第四方面,本发明提供了一种基础设施即服务软件升级装置,所述装置包括:
接收模块,用于接收第一宿主服务器Host的软件升级请求;
判断模块,用于判断当前状态是否允许所述第一Host进行软件升级;
第一发送模块,用于在所述判断模块的结果为是时,发送包括允许升级标识的软件升级响应;
第二发送模块,用于在所述判断模块的结果为否时,发送包括禁止升级标识的软件升级响应。
在第四方面的第一种可能的实现方式中,所述判断模块包括:
第一判断子模块,用于判断与自身部署的支持主备冗余的业务应用互为主备的业务应用是否正在运行,和\或,
第二判断子模块,用于判断重启所述VM时,自身部署的业务应用是否支持暂停运行,和\或,
第三判断子模块,用于判断重启所述VM时,自身部署的支持负荷分担的业务应用是否支持暂停运行,和\或,
第四判断子模块,用于当自身分布式部署业务应用时,判断是否接收到来自管理中心的允许重启通知。
本发明公开的基础设施即服务软件升级方法中,首先,升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述Host上的所有VM的标识。其次,所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级。当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一Host进行软件升级。利用本发明的基础设施即服务软件升级方法,能够实现自动化的IaaS软件升级,同时提高IaaS软件升级的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是现有技术提供的IaaS软件升级过程中的VM热迁移示意图;
图2是本发明实施例提供的基础设施即服务软件升级方法流程图;
图3是本发明实施例提供的另一种基础设施即服务软件升级方法流程图;
图4是本发明实施例提供的基础设施即服务软件升级方法交互图;
图5是本发明实施例提供的基础设施即服务软件升级装置结构示意图;
图6是本发明实施例提供的另一种基础设施即服务软件升级装置结构示意图;
图7是本发明实施例提供的另一种基础设施即服务软件升级装置结构示意图;
图8是本发明实施例提供的基础设施即服务软件升级装置构成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
参考图2,图2为本实施例提供的基础设施即服务软件升级方法流程图,该方法可以包括如下步骤:
S201:升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识。
本实施例中的升级模块可以为部署于IaaS中的服务器,也可以为在各个Host中搭建的升级框架,但不仅限于此。第一宿主服务器Host可以为部署于IaaS中的任意一台服务器。
本实施例中,升级模块首先获取第一Host的VM列表,以便确定所述第一Host上部署的VM。其中,所述VM列表包括所述第一Host上部署的所有VM的标识,所述标识用于唯一标识VM,可以为虚拟机的编号等。也就是说,通过所述VM列表可以确定所述Host上部署的所有VM。
S202:所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求。
由于Iaas的软件升级之前,首先需要确保不影响所述第一Host上的所有VM的业务应用正常运行。所以,本实施例的所述升级模块需要向所述第一Host上的所有VM发送软件升级请求,用于请求各个VM的当前状态是否允许软件升级。具体的,所述VM列表上包括VM的标识,可以依据所述标识确定VM,并向其发送软件升级请求。
S203:所述升级模块接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级。
本实施例中,各个VM在接收到来自升级模块的软件升级请求后,判断自身的当前状态是否允许所述第一Host进行软件升级。当VM确定自身的当前状态允许所述第一Host进行软件升级时,向所述升级模块返回的软件升级响应中包括允许升级标识;当VM确定自身的当前状态不允许所述第一Host进行软件升级时,向所述升级模块返回的软件升级响应中包括禁止升级标识。
实际应用中,VM需要根据所述VM上部署的业务应用的类型,判断自身的当前状态是否允许所述第一Host进行软件升级。也就是说,VM需要根据其上部署的业务应用的类型,向升级模块返回软件升级响应。
S204:当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一Host进行软件升级。
本实施例中,只有在所述第一Host的列表中的每个VM均向所述升级模块返回所述允许升级标识时,所述升级模块才能控制所述第一Host进行软件升级。从而在所述第一Host进行软件升级时,不影响所述第一Host上的VM部署的业务应用的正常运行。
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块不能控制所述第一Host进行软件升级。
一种优选地实施例中,当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。也就是说,当所述升级模块确定无法控制所述第一Host进行软件升级时,需要通知返回所述允许升级标识的VM。当返回所述允许升级标识的VM收到通知后,将其上部署的业务应用恢复正常运行。例如,将降备后的业务应用恢复为降备前的运行状态。
为了最终达到Iaas软件升级的目的,当所述列表上的至少一个VM返回所述禁止升级标识,所述升级模块确定无法控制所述第一Host进行软件升级时,在预设时间间隔后,所述升级模块重新向返回所述禁止升级标识的VM发送软件升级请求,以重新获取所述VM的软件升级响应。具体的,可以预先设置重发软件升级请求的次数,当重发所述次数后,仍收不到包括允许升级标识的软件升级响应时,停止发送所述软件升级请求。同时,向所述列表上返回所述允许升级标识的VM发送停止升级通知。
另外,当所述列表上的至少一个VM返回所述禁止升级标识,所述升级模块确定无法控制所述第一Host进行软件升级时,在预设时间间隔后,所述升级模块重新向所述VM列表上的每个VM发送软件升级请求,以重新获取每个VM的软件升级响应。如果重新获取的每个VM返回的软件升级响应均包括所述允许升级标识,则控制所述第一Host进行软件升级。
另一优选地实施例中,当所述列表上的至少一个VM返回所述禁止升级标识时,即所述升级模块确定所述第一Host不能进行软件升级时,所述升级模块获取第二Host的VM列表,所述第二Host为不同于所述第一Host。所述VM列表包括所述第二Host上的所有VM的标识;根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第二Host进行软件升级。依据上述方法,本实施例可以完成IaaS中所有Host的软件升级。
参考图3,为本发明实施例提供的另一种基础设施即服务软件升级方法流程图,所述方法从虚拟机的角度描述基础设施即服务软件升级方法,具体可以包括:
S301:虚拟机VM接收第一宿主服务器Host的软件升级请求后,判断当前状态是否允许第一Host进行软件升级。
本实施例中,基础设施即服务中的Host上部署若干VM,升级模块对任意一个Host进行软件升级时,需要向其上部署的VM分别发送软件升级请求。当VM接收到第一Host的软件升级请求时,需要根据自身的当前状态判断是否允许所述第一Host进行软件升级。
实际应用中,VM可以根据其上部署的业务应用的类型,判断自身的当前状态是否允许所述第一Host进行软件升级。具体的可以参照上述对几种VM部署业务应用类型的介绍,在此不再赘述。
S302:如果所述VM的当前状态允许所述第一Host进行软件升级,则所述VM发送包括允许升级标识的软件升级响应。
S303:如果所述VM的当前状态不允许所述第一Host进行软件升级,则所述VM发送包括禁止升级标识的软件升级响应。
本实施例中,当VM确定当前状态允许所述第一Host进行软件升级时,可以发送包括允许升级标识的软件升级响应,以通知升级模块自身状态允许升级。当VM确定当前状态不允许所述第一Host进行软件升级时,发送包括禁止升级标识的软件升级响应至所述升级模块,以通知所述升级模块自身状态不允许升级。
实际应用中,VM可以根据其上部署的业务应用的类型,向升级模块返回软件升级响应。以下是对几种VM部署业务应用类型的介绍,但不仅限于此。
第一:VM中部署的业务应用支持主备冗余。其中,互为主备的一对业务应用互称对端,如果对端故障或正在升级,则认为对端不存在;如果对端正常提供服务,且可以进行主备倒换,则认为对端存在。具体的,当所述VM接收到软件升级请求后,判断其上运行的业务应用的对端是否存在。如果对端存在,则将所述VM上部署的业务应用进行降备操作,即运行与所述业务应用互为主备的业务应用,并向升级模块返回包括允许升级标识的软件升级响应;如果对端不存在,则返回包括禁止升级标识的软件升级响应。
第二:VM中部署的业务应用支持直接复位。也就是说,在VM需要重新启动时,所述VM上部署的业务应用可以暂停运行,且不会受到影响。具体的,当所述VM接收到软件升级请求后,判断如果重新启动所述VM是否影响其上运行的业务应用的正常运行。当确定重新启动所述业务应用不影响所述业务应用的,向升级模块返回包括允许升级标识的软件升级响应;如果确定所述业务应用不支持直接复位,则返回包括禁止升级标识的软件升级响应。
第三:VM中部署的业务应用支持负荷分担。其中,负荷分担是通过比例控制所述VM是否支持复位。例如负荷分担的业务应用允许60%的业务进程暂停运行,则10个业务进程中,允许同时暂停运行6个。具体的,当所述VM接收到软件升级请求后,判断其上运行的业务应用是否支持暂停运行。如果是,则向升级模块返回包括允许升级标识的软件升级响应;否则返回包括禁止升级标识的软件升级响应。
第四:VM中部署的业务应用同时存在支持主备冗余的业务应用、支持负荷分担的业务应用和支持直接复位的业务应用中的至少两种。其中,所述VM需要根据其上部署的所有类型的业务应用的当前状态,判断自身是否允许所述第一Host进行软件升级。也就是说,只有当所述VM上部署的所有业务应用均允许所述第一Host进行软件升级,所述VM才会向升级模块返回包括允许升级标识的软件升级响应;换句话说,所述VM上部署的所有业务应用中只要存在一个业务应用的当前状态不允许所述第一Host进行软件升级,所述VM就会向升级模块返回包括禁止升级标识的软件升级响应。
第五:若干台VM上分布式部署同一业务应用,其中一台VM作为管理中心,用于确定其他VM在重启的情况下是否影响所述业务应用的运行。当所述管理中心确定其他VM是否允许所述第一Host进行软件升级后,将确定的是否允许重启的结果通知各个VM,当允许重启通知发送至所述VM时,所述VM将所述允许重启通知返回至所述升级模块。其中,当VM接收到所述允许重启通知时,所述VM向升级模块返回包括允许升级标识的软件升级响应;否则返回包括禁止升级标识的软件升级响应。
为了更形象的描述本发明实施例提供的基础设施即服务软件升级方法,参考图4,为本发明实施例提供的一种基础设施即服务软件升级方法交互图,其中,升级模块与第一Host上的任意一个虚拟机的交互均可以参照所述交互图进行理解。所述交互图具体可以包括如下步骤:
S401:升级模块获取第一宿主服务器Host的虚拟机VM列表。其中,所述VM列表包括所述第一Host上的所有VM的标识。
S402:所述升级模块向所述VM列表上的每个VM发送软件升级请求。
其中,软件升级请求用于请求所述VM的当前状态是否允许对所述第一Host进行软件升级。
S403:每个VM根据所述VM上部署的业务应用的类型,判断自身的当前状态是否允许所述第一Host进行软件升级,如果是,则执行S304,否则执行S405。也就是说,每个VM需要确定Host进行升级复位时是否会对其上的业务应用产生影响,并对所述升级模块进行反馈。
具体的,VM根据所述VM上部署的业务应用的类型,判断自身的当前状态是否允许所述第一Host进行软件升级的方法参照上述实施例中五种情况的描述,即第一至第五。
S404:当VM确定自身的当前状态允许所述第一Host进行软件升级时,向所述升级模块发送软件升级响应,其中所述软件升级响应中包括允许升级标识。
S405:当VM确定自身的当前状态不允许所述第一Host进行软件升级时,向所述升级模块发送软件升级响应,其中所述软件升级响应中包括禁止升级标识。
S406:所述升级模块判断所述第一Host的VM列表中的所有VM是否均返回包括允许升级标识的软件升级响应。
其中,所述升级模块在向所述列表中的所有VM发出所述软件升级请求后,实时判断所述第一Host的VM列表中的所有VM是否均返回包括允许升级标识的软件升级响应。
S407:所述升级模块确定所述第一Host的VM列表中的所有VM均返回包括允许升级标识的软件升级响应后,控制所述第一Host进行软件升级。
当所述第一Host的VM列表中的至少一个VM返回包括禁止升级标识的软件升级响应时,所述升级模块可以通知返回包括允许升级标识的软件升级响应,暂时不对所述第一Host进行软件升级。
另外,当所述升级模块需要对至少两个Host进行软件升级时,可以逐台的判断Host是否能够进行软件升级,最终实现IaaS中所有Host的软件升级。
本发明实施例公开的基础设施即服务软件升级方法中,首先,升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述Host上的所有VM的标识。其次,所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级。当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一Host进行软件升级。利用本发明实施例的基础设施即服务软件升级方法,能够实现自动化的IaaS软件升级,同时提高IaaS软件升级的效率。
参考图5,为本发明实施例提供的基础设施即服务软件升级装置结构图,所述装置可以包括如下单元:
获取单元501,用于获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述Host上的所有VM的标识。
第一发送单元502,用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求。
接收单元503,用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级。
升级单元504,用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第一Host进行软件升级。
由于所述升级单元只有在所述列表上的每个VM均返回所述允许升级标识时,才会控制所述第一Host进行软件升级。所以,对于所述列表上的至少一个VM返回所述禁止升级标识的情况,所述装置还需要对其进行处理。
参考图6,为本发明实施例提供的另一种基础设施即服务软件升级装置结构图,所述装置除了包括图5中的各个单元,还可以包括如下单元:
具体的,所述装置还包括第二发送单元601,所述第二发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
所述装置还可以包括第三发送单元602或者触发单元603,所述第三发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,重新向返回所述禁止升级标识的VM发送软件升级请求;
所述触发单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,触发所述第一发送单元602。
另外,在一种实际应用场景中,当所述装置用于对至少两个Host进行软件升级时,具体的,
所述获取单元,还用于当所述列表上的至少一个VM返回所述禁止升级标识时,获取第二Host的VM列表,所述VM列表包括所述第二Host上的所有VM的标识。
所述第一发送单元,还用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求。
所述接收单元,还用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级。
所述升级单元,还用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第二Host进行软件升级。
可以理解的是,本发明实施例提供的基础设施即服务软件升级装置可以对Host逐台判断是否能够进行软件升级。当所述升级装置确定前一个Host能够升级或者不能够升级后,所述装置可以选择其他未完成升级的Host进行软件升级,直到所有Host均完成软件升级。
参考图7,为本发明实施例提供的另一种基础设施即服务软件升级装置结构示意图,所述装置包括:
接收模块701,用于接收第一宿主服务器Host的软件升级请求。
判断模块702,用于判断当前状态是否允许所述第一Host进行软件升级。
第一发送模块703,用于在所述判断模块的结果为是时,发送包括允许升级标识的软件升级响应。
第二发送模块704,用于在所述判断模块的结果为否时,发送包括禁止升级标识的软件升级响应。
其中,VM可以根据自身部署的业务应用的类型确定当前状态是否允许所述第一Host进行软件升级,具体的,所述判断模块至少包括以下任意一个判断子模块,即第一判断子模块、第二判断子模块、第三判断子模块和第四判断子模块:
具体的,所述第一判断子模块,用于判断与自身部署的支持主备冗余的业务应用互为主备的业务应用是否正在运行。
所述第二判断子模块,用于判断重启所述VM时,自身部署的业务应用是否支持暂停运行。
所述第三判断子模块,用于判断重启所述VM时,自身部署的支持负荷分担的业务应用是否支持暂停运行。
所述第四判断子模块,用于当自身分布式部署业务应用时,判断是否接收到来自管理中心的允许重启通知。
本实施例中,当VM确定当前状态允许所述第一Host进行软件升级时,可以发送包括允许升级标识的软件升级响应,以通知升级模块自身状态允许升级。当VM确定当前状态不允许所述第一Host进行软件升级时,发送包括禁止升级标识的软件升级响应至所述升级模块,以通知所述升级模块自身状态不允许升级。
本发明装置实施例公开的基础设施即服务软件升级装置中,获取单元,用于获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述Host上的所有VM的标识;第一发送单元,用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;接收单元,用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;升级单元,用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第一Host进行软件升级。利用本发明装置实施例提供的基础设施即服务软件升级装置,能够实现自动化的IaaS软件升级,同时提高IaaS软件升级的效率。
进一步的,本发明实施例还提供了基础设施即服务软件升级装置的构成。基础设施即服务软件升级装置可以为服务器。所述基础设施即服务软件升级装置可包括至少一个处理器801,例如中央处理器(英文:central processing unit,缩写:CPU),第一网络接口802,第二网络接口803,存储器804。处理器801,第一网络接口802,第二网络接口803和存储器804之间通过总线相互连接。第一网络接口602和第二网络接口603可以为以太网(英文:Ethernet)网络接口控制器(英文:network interface controller,缩写:NIC)。存储器804可为易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);也可为非易失性存储器(英文:non-volatile memory,缩写:NVM),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器804还可以包括上述种类的存储器的组合。通过第一网络接口802,第二网络接口803实现该基础设施即服务软件升级装置的通信连接,可以使用局域网、存储区域网络等。第一网络接口802、第二网络接口803连接到Host。Host可以为一个也可以为多个。Host为多个的情况下,多个Host分别连接到多个第一网络接口802和第二网络接口803。
存储器804用于存储程序代码,并将该程序代码传输给该处理器801。
处理器801根据程序代码的指令,执行以下步骤。
所述处理器801通过第一网络接口802获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述Host上的所有VM的标识;
所述处理器801根据所述VM列表上的每个VM的标识,通过所述第二网络接口803向每个VM发送软件升级请求,并通过所述第二网络接口803接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;
当所述列表上的每个VM均返回所述允许升级标识时,所述处理器801控制所述第一Host进行软件升级。
进一步的,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述处理器801通过所述第二网络接口803向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
进一步的,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述处理器801在预设时间间隔后,通过所述第二网络接口803,
重新向返回所述禁止升级标识的VM发送软件升级请求,或者,
通过所述第一网络接口802,重新根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求。
更近一步的,当所述处理器801对至少两个Host进行软件升级时,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述处理器801获取第二Host的VM列表,所述VM列表包括所述第二Host上的所有VM的标识;所述处理器801根据所述VM列表上的每个VM的标识,通过所述第二网络接口803所述向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;当所述列表上的每个VM均返回所述允许升级标识时,所述处理器801控制所述第二Host进行软件升级。
另外,也可以在分布式计算环境中实践本发明方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种基础设施即服务软件升级方法,其特征在于,所述方法包括:
升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识;
所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;
当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一Host进行软件升级。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块在预设时间间隔后,
重新向返回所述禁止升级标识的VM发送软件升级请求,或者,
重新执行所述根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求的步骤。
4.根据权利要求1所述的方法,其特征在于,当所述升级模块对至少两个Host进行软件升级时,所述方法还包括:
当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块获取第二Host的VM列表,所述VM列表包括所述第二Host上的所有VM的标识;根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第二Host进行软件升级。
5.一种基础设施即服务软件升级方法,其特征在于,所述方法包括:
虚拟机VM接收第一宿主服务器Host的软件升级请求后,判断当前状态是否允许所述第一Host进行软件升级;
如果所述VM的当前状态允许所述第一Host进行软件升级,则所述VM发送包括允许升级标识的软件升级响应;
如果所述VM的当前状态不允许所述第一Host进行软件升级,则所述VM发送包括禁止升级标识的软件升级响应。
6.根据权利要求5所述的方法,其特征在于,所述判断当前状态是否允许所述第一Host进行软件升级,包括:
判断与自身部署的支持主备冗余的业务应用互为主备的业务应用是否正在运行,和\或,
判断重启所述VM时,自身部署的业务应用是否支持暂停运行,和\或,
判断重启所述VM时,自身部署的支持负荷分担的业务应用是否支持暂停运行,和\或,
当自身分布式部署业务应用时,判断是否接收到来自管理中心的允许重启通知。
7.一种基础设施即服务软件升级装置,其特征在于,所述装置包括:
获取单元,用于获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识;
第一发送单元,用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;
接收单元,用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一Host进行软件升级;
升级单元,用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第一Host进行软件升级。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,重新向返回所述禁止升级标识的VM发送软件升级请求;或者,
触发单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,触发所述第一发送单元。
10.根据权利要求7所述的装置,其特征在于,所述装置用于对至少两个Host进行软件升级,
所述获取单元,还用于当所述列表上的至少一个VM返回所述禁止升级标识时,获取第二Host的VM列表,所述VM列表包括所述第二Host上的所有VM的标识;
所述第一发送单元,还用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;
所述接收单元,还用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;
所述升级单元,还用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第二Host进行软件升级。
11.一种基础设施即服务软件升级装置,其特征在于,所述装置包括:
接收模块,用于接收第一宿主服务器Host的软件升级请求;
判断模块,用于判断当前状态是否允许所述第一Host进行软件升级;
第一发送模块,用于在所述判断模块的结果为是时,发送包括允许升级标识的软件升级响应;
第二发送模块,用于在所述判断模块的结果为否时,发送包括禁止升级标识的软件升级响应。
12.根据权利要求11所述的装置,其特征在于,所述判断模块包括:
第一判断子模块,用于判断与自身部署的支持主备冗余的业务应用互为主备的业务应用是否正在运行,和\或,
第二判断子模块,用于判断重启所述VM时,自身部署的业务应用是否支持暂停运行,和\或,
第三判断子模块,用于判断重启所述VM时,自身部署的支持负荷分担的业务应用是否支持暂停运行,和\或,
第四判断子模块,用于当自身分布式部署业务应用时,判断是否接收到来自管理中心的允许重启通知。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410805090.1A CN104572179B (zh) | 2014-12-19 | 2014-12-19 | 一种基础设施即服务软件升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410805090.1A CN104572179B (zh) | 2014-12-19 | 2014-12-19 | 一种基础设施即服务软件升级方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572179A true CN104572179A (zh) | 2015-04-29 |
CN104572179B CN104572179B (zh) | 2018-02-23 |
Family
ID=53088337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410805090.1A Active CN104572179B (zh) | 2014-12-19 | 2014-12-19 | 一种基础设施即服务软件升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572179B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354531A (zh) * | 2016-08-25 | 2017-01-25 | 杭州华为数字技术有限公司 | 物理节点升级方法及装置 |
CN108108177A (zh) * | 2018-01-02 | 2018-06-01 | 联想(北京)有限公司 | 物理主机的固件升级方法、物理主机及虚拟机 |
CN108874411A (zh) * | 2017-05-12 | 2018-11-23 | 华为技术有限公司 | 一种基础设施软件升级的方法和相关系统 |
CN114650319A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种资源迁移的方法、装置、服务器及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11886917B2 (en) | 2018-08-06 | 2024-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Automation of management of cloud upgrades |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710288A (zh) * | 2009-11-27 | 2010-05-19 | 成都市华为赛门铁克科技有限公司 | 升级处理方法和系统、升级服务器以及升级设备 |
US20100306769A1 (en) * | 2009-05-29 | 2010-12-02 | Schneider James P | Method and an apparatus to migrate functionalities across systems |
CN102868744A (zh) * | 2012-09-10 | 2013-01-09 | 北京用友政务软件有限公司 | 一种实现SaaS与IaaS自动化集成管理的方法 |
CN102880482A (zh) * | 2012-08-06 | 2013-01-16 | 厦门市美亚柏科信息股份有限公司 | 一种主机批量控制虚拟机中软件自动升级的系统及技术方法 |
US20130047160A1 (en) * | 2011-08-18 | 2013-02-21 | Matthew Conover | Systems and methods for modifying an operating system for a virtual machine |
US20130297672A1 (en) * | 2012-05-01 | 2013-11-07 | Red Hat, Inc. | Mechanism for tracking and utilizing facts about a node of a multi-tenant cloud hosting environment |
-
2014
- 2014-12-19 CN CN201410805090.1A patent/CN104572179B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306769A1 (en) * | 2009-05-29 | 2010-12-02 | Schneider James P | Method and an apparatus to migrate functionalities across systems |
CN101710288A (zh) * | 2009-11-27 | 2010-05-19 | 成都市华为赛门铁克科技有限公司 | 升级处理方法和系统、升级服务器以及升级设备 |
US20130047160A1 (en) * | 2011-08-18 | 2013-02-21 | Matthew Conover | Systems and methods for modifying an operating system for a virtual machine |
US20130297672A1 (en) * | 2012-05-01 | 2013-11-07 | Red Hat, Inc. | Mechanism for tracking and utilizing facts about a node of a multi-tenant cloud hosting environment |
CN102880482A (zh) * | 2012-08-06 | 2013-01-16 | 厦门市美亚柏科信息股份有限公司 | 一种主机批量控制虚拟机中软件自动升级的系统及技术方法 |
CN102868744A (zh) * | 2012-09-10 | 2013-01-09 | 北京用友政务软件有限公司 | 一种实现SaaS与IaaS自动化集成管理的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354531A (zh) * | 2016-08-25 | 2017-01-25 | 杭州华为数字技术有限公司 | 物理节点升级方法及装置 |
CN106354531B (zh) * | 2016-08-25 | 2020-03-27 | 杭州华为数字技术有限公司 | 物理节点升级方法及装置 |
CN108874411A (zh) * | 2017-05-12 | 2018-11-23 | 华为技术有限公司 | 一种基础设施软件升级的方法和相关系统 |
CN108108177A (zh) * | 2018-01-02 | 2018-06-01 | 联想(北京)有限公司 | 物理主机的固件升级方法、物理主机及虚拟机 |
CN108108177B (zh) * | 2018-01-02 | 2020-10-27 | 联想(北京)有限公司 | 物理主机的固件升级方法、物理主机及虚拟机 |
CN114650319A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种资源迁移的方法、装置、服务器及存储介质 |
CN114650319B (zh) * | 2020-12-17 | 2023-11-03 | 中移(苏州)软件技术有限公司 | 一种资源迁移的方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104572179B (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9030947B2 (en) | Methods for zero loss and nonstop packet processing during system software upgrades | |
CN107526659B (zh) | 用于失效备援的方法和设备 | |
US10999139B2 (en) | Online upgrade method, apparatus, and system | |
JP6528784B2 (ja) | ネットワーク機能仮想化管理およびオーケストレーション装置とシステムと管理方法とプログラム | |
CN104572179A (zh) | 一种基础设施即服务软件升级方法和装置 | |
CN105103132A (zh) | 在升级期间修复云服务 | |
JP6431197B2 (ja) | スナップショット処理方法および関係付けられたデバイス | |
CN104980297A (zh) | 虚拟机资源的变更方法、装置及虚拟网络功能设备 | |
CN104350466A (zh) | 虚拟机映像写租赁 | |
CN108319492B (zh) | 复位物理机的方法、装置与系统 | |
CN110716787A (zh) | 容器地址设置方法、设备和计算机可读存储介质 | |
JP2018525948A (ja) | ネットワークサービス記述子をオンボードするための方法及び装置 | |
CN105577408A (zh) | 一种vnfm容灾保护的方法、装置和nfvo | |
CN105471994A (zh) | 一种控制方法及装置 | |
CN109254876A (zh) | 云计算系统中数据库的管理方法和装置 | |
CN109450701A (zh) | 一种虚拟交换机切换方法、装置、宿主机及存储介质 | |
US10216593B2 (en) | Distributed processing system for use in application migration | |
US10637748B2 (en) | Method and apparatus for establishing interface between VNFMS, and system | |
CN107168774B (zh) | 一种基于本地存储的虚拟机迁移方法及系统 | |
CN111857303B (zh) | 一种fpga复位方法、装置、系统和电子设备 | |
EP3316518A1 (en) | Method and device for upgrading virtual network element, and computer storage medium | |
CN104572255A (zh) | 一种多层应用托管方法、装置及系统 | |
CN107612719B (zh) | 物联网接入点的数据备份方法及装置 | |
US20180219971A1 (en) | Service Processing Method and Device | |
CN104657240A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220223 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |