一种基础设施即服务软件升级方法和装置的制造方法

文档序号:8258059阅读:318来源:国知局
一种基础设施即服务软件升级方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种基础设施即服务软件升级方法和装置。
【背景技术】
[0002]基础设施即服务(英文:Infrastructure as a Service,缩写:IaaS)中,用户可以从完善的计算机基础设施获得服务。其中,基础设施供应商购买硬件,并在硬件上安装IaaS软件,以向用户提供IaaS服务。用户向基础设施供应商购买IaaS服务后,在IaaS的宿主服务器(英文:Host Server,简称-Host)上申请虚拟机(英文-Virtual Machine,缩写:VM),并在VM上部署自己的应用程序。
[0003]在进行IaaS软件升级时,需要实现IaaS软件的无损升级,即保证用户的VM能够继续正常运行,以及用户正在运行的应用程序不被中断。为了实现IaaS软件的无损升级,需要基础设施管理员手工把Host分成多个批次滚动升级。首先,将一个批次的Host上面运行的VM通过热迀移的方式迀移到其他Host上。如图1,为IaaS软件升级过程中的VM热迀移示意图,其中,热迀移能够在VMl和VM2运行的过程中将该VMl和VM2从Hostl迀移到Host2上,并保证VMl和VM2迀移前后能够不中断运行,业务无损。其次,对完成热迀移的批次的Host上的IaaS软件进行升级。当一个批次的Host上的IaaS软件升级完成后,再升级下一个批次的Host上的IaaS软件,直到把所有Host上的IaaS软件升级完成。
[0004]但是,由于通过VM热迀移的方式实现IaaS软件的升级需要基础设施管理员手工进行Host分批升级,所以不能实现自动化的IaaS软件升级。同时,仅仅依赖VM热迀移技术,会导致在基础设施空闲资源不足或VM使用了不支持热迀移的硬件特性时,无法进行热迀移,最终无法实现IaaS软件的升级。另外,由于VM热迀移的过程耗时长,所以上述方法也会降低整个IaaS软件升级的效率。

【发明内容】

[0005]本发明提供了一种基础设施即服务软件升级方法和装置,能够实现自动化的IaaS软件升级,同时提高IaaS软件升级的效率。
[0006]为此,本发明提供如下技术方案:
[0007]第一方面,本发明提供了一种基础设施即服务软件升级方法,所述方法包括:
[0008]升级模块获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一Host上的所有VM的标识;
[0009]所述升级模块根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一 Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一 Host进行软件升级;
[0010]当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第一 Host进行软件升级。
[0011]在第一方面的第一种可能的实现方式中,所述方法还包括:
[0012]当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
[0013]在第一方面的第二种可能的实现方式中,所述方法还包括:
[0014]当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块在预设时间间隔后,
[0015]重新向返回所述禁止升级标识的VM发送软件升级请求,或者,
[0016]重新执行所述根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求的步骤。
[0017]在第一方面的第三种可能的实现方式中,当所述升级模块对至少两个Host进行软件升级时,所述方法还包括:
[0018]当所述列表上的至少一个VM返回所述禁止升级标识时,所述升级模块获取第二Host的VM列表,所述VM列表包括所述第二 Host上的所有VM的标识;根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求,并接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二 Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二Host进行软件升级;当所述列表上的每个VM均返回所述允许升级标识时,所述升级模块控制所述第二 Host进行软件升级。
[0019]第二方面,本发明提供了一种基础设施即服务软件升级方法,所述方法包括:
[0020]虚拟机VM接收第一宿主服务器Host的软件升级请求后,判断当前状态是否允许所述第一 Host进行软件升级;
[0021]如果所述VM的当前状态允许所述第一 Host进行软件升级,则所述VM发送包括允许升级标识的软件升级响应;
[0022]如果所述VM的当前状态不允许所述第一 Host进行软件升级,则所述VM发送包括禁止升级标识的软件升级响应。
[0023]在第二方面的第一种可能的实现方式中,所述判断当前状态是否允许所述第一Host进行软件升级,包括:
[0024]判断与自身部署的支持主备冗余的业务应用互为主备的业务应用是否正在运行,和\或,
[0025]判断重启所述VM时,自身部署的业务应用是否支持暂停运行,和\或,
[0026]判断重启所述VM时,自身部署的支持负荷分担的业务应用是否支持暂停运行,和\或,
[0027]当自身分布式部署业务应用时,判断是否接收到来自管理中心的允许重启通知。
[0028]第三方面,本发明提供了一种基础设施即服务软件升级装置,所述装置包括:
[0029]获取单元,用于获取第一宿主服务器Host的虚拟机VM列表,所述VM列表包括所述第一 Host上的所有VM的标识;
[0030]第一发送单元,用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;
[0031]接收单元,用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第一 Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第一 Host进行软件升级;
[0032]升级单元,用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第一 Host进行软件升级。
[0033]在第三方面的第一种可能的实现方式中,所述装置还包括:
[0034]第二发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,向所述列表上返回所述允许升级标识的VM发送停止升级通知,所述停止升级通知用于表示所述升级模块停止进行软件升级。
[0035]在第三方面的第二种可能的实现方式中,所述装置还包括:
[0036]第三发送单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,重新向返回所述禁止升级标识的VM发送软件升级请求;或者,
[0037]触发单元,用于当所述列表上的至少一个VM返回所述禁止升级标识时,在预设时间间隔后,触发所述第一发送单元。
[0038]在第三方面的第三种可能的实现方式中,所述装置用于对至少两个Host进行软件升级,
[0039]所述获取单元,还用于当所述列表上的至少一个VM返回所述禁止升级标识时,获取第二 Host的VM列表,所述VM列表包括所述第二 Host上的所有VM的标识;
[0040]所述第一发送单元,还用于根据所述VM列表上的每个VM的标识,向每个VM发送软件升级请求;
[0041]所述接收单元,还用于接收来自每个VM的软件升级响应,所述软件升级响应包括允许升级标识或禁止升级标识,所述允许升级标识用于表示VM的当前状态允许所述第二Host进行软件升级;所述禁止升级标识用于表示VM的当前状态禁止所述第二 Host进行软件升级;
[0042]所述升级单元,还用于当所述列表上的每个VM均返回所述允许升级标识时,控制所述第二 Host进行软件升级。
[0043]第四方面,本发明提供了一种基础设施即服务软件升级装置,所述装置包括:
[0044]接收模块,用于接收第一宿主服务器Host的软件升级请求;
[0045]判断模块,用于判断当前状态是否允许所述第一 Host进行软件升级;
[0046]第一发送模块,用于在所述判断模块的结果为是时,发送包括允许升级标识的软件升级响应;
[0047]第二发
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1