对虚拟机中的软件进行升级的方法和装置的制造方法_4

文档序号:8318973阅读:来源:国知局
拟机中的软件进行升级,本步骤中将获取满足升级要求的虚拟机上的软件对应的升级组件。
[0140]关于获取满足升级要求的虚拟机上的软件对应的升级组件的方式,本实施例不作具体的限定,由于服务器的tdb数据库中预先存储着,因此,包括但不限于从存储服务器上软件对应的升级组件的tdb数据库中获取。
[0141]需要说明的是,tdb数据库中存储的组件有Virtual PC、VMware Workstat1n、PVDriver等,由于对PV Driver组件的升级是对其他软件对应的升级组件进行升级的基础,在PV Driver组件升级后,其他软件对应的升级组件才能进行升级,因此,在获取软件对应的升级组件时,若有PV Driver组件存在,需要先获取PV Driver组件。
[0142]305:通过与满足升级要求的虚拟机之间预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中。
[0143]针对该步骤,由于上述步骤304服务器已经获取了软件对应的升级组件,且通过上述步骤303建立了与各个虚拟机之间的升级通道,因此,本步骤中服务器可以通过与满足升级要求的虚拟机之间预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中。
[0144]具体地,如果服务器所使用的操作系统为Iinux操作系统,虚拟机所使用的操作系统为Windows操作系统或Iinux操作系统,不同的操作系统下软件的配置是不同的,因此,服务器在通过与满足升级要求的虚拟机之间预先建立的升级通道向满足升级要求的虚拟机中发送获取到的升级组件时,需要先判断虚拟机所使用的操作系统。关于判断虚拟机所使用的操作系统的方式,包括但不限于通过设置/local/domain/vmid/control/uvp/windows_flag的值进行判断,具体设置时,可以将flag的值设为I代表是windows操作系统,将flag的值设为O代表Iinux操作系统,也可以将flag的值设为O代表是windows操作系统,将flag的值设为I代表Iinux操作系统,当然flag的值除了 O和I以外,当然,也可以设置为其他值,本实施例不对判断虚拟机所使用的操作系统的方式作具体限定。
[0145]在判断虚拟机所使用的操作系统后,为了向使用不同的操作系统的虚拟机发送不同操作系统下适用的升级组件,本实施例提供的方法在向使用不同的操作系统的虚拟机发送升级组件之前,需要先根据所发送升级组件的虚拟机修改/usr/bin/pvdrive;r_upgrade/目录下的配置文件。通过修改/usr/bin/pvdriver_upgrade/目录下的配置文件,从而使不同的操作系统的虚拟机可接收到不同操作系统下适用的升级组件。
[0146]进一步地,在向使用不同的操作系统的虚拟机发送不同操作系统下适用的升级组件后,服务器还将向虚拟机的control/upv/upgrade/mountiso键写入mount-tools-1so,触发虚拟机拷贝升级文件。当所有满足升级要求的虚拟机将升级组件拷贝完成后,将升级组件拷贝完成的虚拟机还将向服务器的/local/domain/vmid/control/uvp/upgrade/ftpfail写入tools-upgrade-ok,触发服务器将该升级组件进行卸载。
[0147]需要说明的是,由于升级PV Driver组件是对其他软件对应的升级组件进行升级的基础,上述步骤304中优先获取了 PV Driver组件,因此,本步骤通过与满足升级要求的虚拟机之间预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中时,也将优先发送PV Driver组件。
[0148]306:控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级。
[0149]针对该步骤,满足升级要求的虚拟机将升级组件拷贝完成后,本实施例提供的方法还将控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级。具体地,关于控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级,包括但不限于:
[0150]通过升级通道向满足升级要求的虚拟机发送升级指令,使满足升级要求的虚拟机接收到升级指令后,根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级。
[0151]具体地,服务器可向服务器与虚拟机之间共享的存储系统写入start^pgrade,共享的存储系统在接收到服务器发送的命令后,将通过升级通道将该指令发送给满足升级要求的对应的虚拟机,满足升级要求的虚拟机在接收到服务器发送的指令后,将根据该指令和升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级。
[0152]307:对进行组件升级的虚拟机进行重启操作。
[0153]针对该步骤,虽然上述步骤306中已使满足升级要求的虚拟机上的软件对应的组件进行升级,但后续还需对进行组件升级的虚拟机进行重启操作以完成软件对应的组件的升级工作。具体地,关于对进行组件升级的虚拟机进行重启操作的方式,本实施例不作具体的限定,包括但不限于服务器触发服务器与虚拟机之间共享的存储系统中的watch使虚拟机弹出提示框,提示用户进行重启操作的确认,并在收到确认指令后,对进行组件升级的虚拟机进行重启操作,以完成升级。
[0154]308:通过升级通道获取满足升级要求的虚拟机对满足升级要求的虚拟机上的软件对应的组件进行升级后的升级结果。
[0155]该步骤为优选步骤,为了便于系统的整体维护和升级,方便用户随时获知虚拟机中软件对应的组件的升级结果,本实施例提供的方法在对虚拟机中的软件对应的组件进行升级后,还将通过升级通道获取满足升级要求的虚拟机对满足升级要求的虚拟机上的软件对应的组件进行升级后的升级结果,并通过升级通道将获取到的满足升级要求的虚拟机对满足升级要求的虚拟机上的软件对应的组件进行升级后的升级结果写入到服务器和虚拟机之间共享的存储系统中。
[0156]进一步地,一段时间后,若用户想要获知虚拟机中软件对应的组件的升级结果,可通过向服务器写入gentresult.sh命令,进而从服务器和虚拟机之间共享的存储系统中获取升级结果。
[0157]本发明实施例提供的方法,通过判断在线的虚拟机是否满足升级要求,进而获取满足升级要求的虚机上的软件对应的升级组件,并通过预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中,从而控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级,而无需用户手动操作,因而升级方式更为便捷;且不需要在服务器上额外部署其他管理,从而进一步降低了升级的复杂度,并提升了升级效率。
[0158]实施例三
[0159]参见图4,本发明实施例提供了一种对虚拟机中的软件进行升级的装置,该装置包括:
[0160]确定模块401,用于确定在线虚拟机;
[0161]判断模块402,用于判断在线虚拟机中是否存在满足升级要求的虚拟机;
[0162]第一获取模块403,用于当存在满足升级要求的虚拟机时,获取满足升级要求的虚拟机上的软件对应的升级组件;
[0163]发送模块404,用于通过与满足升级要求的虚拟机之间预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中;
[0164]控制模块405,用于控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级。
[0165]参见图5,判断模块402,包括:
[0166]第一判断单元4021,用于判断在线虚拟机中是否存在满足第一升级条件的虚拟机;
[0167]第二判断单元4022,用于当存在满足第一升级条件的虚拟机时,判断满足第一升级条件的虚拟机是否满足第二升级条件;
[0168]第一确定单元4023,用于当存在满足第一升级条件且满足第二升级条件的虚拟机时,确定满足第一升级条件且满足第二升级条件的虚拟机是否具有升级标识;
[0169]第二确定单元4024,用于将满足第一升级条件、第二升级条件且具有升级标识的虚拟机确定为满足升级要求的虚拟机。
[0170]作为一种优选的实施例,第一判断单元4021,用于判断在线虚拟机中是否存在未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机;
[0171]当在线虚拟机中存在未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机时,将未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机作为满足第一升级条件的虚拟机。
[0172]作为一种优选的实施例,第二判断单元4022,用于判断满足第一升级条件的虚拟机上的软件对应的组件版本号与获取到的升级组件的版本号进行比较;
[0173]当满足第一升级条件的虚拟机上的软件对应的组件版本号与获取到的升级组件的版本号不一致时,判断满足第一升级条件的虚拟机满足第二升级条件。
[0174]作为一种优选的实施例,控制模块405,用于通过升级通道向满足升级要求的虚拟机发送升级指令,使满足升级要求的虚拟机接收到升级指令后,根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级。
[0175]作为一种优选的实施例,控制模块405,还用于对进行组件升级的虚拟机进行重启操作。
[0176]参见图6,该装置,还包括:
[0177]第二获取模块406,用于通过升级通道获取满足升级要求的虚拟机对满足升级要求的虚拟机上的软件对应的组件进行升级后的升级结果。
[0178]本发明实施例提供的装置,通过判断在线的虚拟机是否满足升级要求,进而获取满足升级要求的虚机上的软件对应的升级组件,并通过预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中,从而控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级,而无需用户手动操作,因而升级方式更为便捷,从而进一步降低了升级的复杂度,并提升了升级效率。
[0179]实施例四
[0180]图7为一个实施方式中服务器的结构示意图,该服务器包括处理器701、发射机702和接收机703 ;
[0181]其中,
[0182]处理器701,用于确定在线虚拟机,并判断在线虚拟机中是否存在满足升级要求的虚拟机;
[0183]处理器701,还用于当存在满足升级要求的虚拟机时,获取满足升级要求的虚拟机上的软件对应的升级组件;
[0184]发射机702,用于通过与满足升级要求的虚拟机之间预先建立
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1