掌桥专利:专业的专利平台
掌桥专利
首页

多云异构管理平台虚拟机统一回收方法及系统

文献发布时间:2023-06-19 19:30:30


多云异构管理平台虚拟机统一回收方法及系统

技术领域

本发明涉及云计算技术领域,尤其是涉及一种多云异构管理平台虚拟机统一回收方法及系统。

背景技术

随着云计算技术在我国的广泛应用,越来越多的企业采用可以纳管多个云平台的云管理平台来运行自己的应用。同时,由于当前我国国产化趋势以及企业利旧的需要,作为云计算基础的物理资源池往往是由不同架构的物理硬件组成,一般包含X86架构、ARM架构或MIPS架构中的两种或三种。运维人员在这种云管理平台上对虚拟机删除时,很容易出现虚拟机误删的情况,特别是在多租户多用户下切换以及待删除虚拟机名称相近时,需在各个云平台对应的资源池之间来回进行切换,不利于提高用户体验。

故而亟需提出多云异构管理平台虚拟机统一回收方法来解决上述问题。

发明内容

基于此,有必要针对现有技术的不足,提供一种多云异构管理平台虚拟机统一回收方法及系统,能够在基于底层不同架构的物理资源以及纳管多个云平台的基础上提供统一的虚拟机回收站功能,利用同一个回收站对所有纳管的云平台服务端上的待删除虚拟机进行统一管理,无需在各个资源池之间进行切换,方便运维,使用户及时了解各个云平台服务端上的虚拟机状态,有效提高用户体验。

为解决上述技术问题,本发明采用以下技术方案:

本发明提供了多云异构管理平台虚拟机统一回收方法,其包括如下步骤:

步骤S100、接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;

步骤S200、给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;

步骤S300、根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;

步骤S400、设置回收站的预设清除时间;

步骤S500、判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动删除虚拟机及该虚拟机所绑定的资源。

第二方面,本发明提供了一种多云异构管理平台虚拟机统一回收系统,其包括:

删除模块,用于接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;

标识模块,用于给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;

回收模块,用于根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;

预设清除模块,用于设置回收站的预设清除时间;

判断模块,用于判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动控制删除模块删除虚拟机及该虚拟机所绑定的资源。

综上所述,本发明提供的多云异构管理平台虚拟机统一回收方法及系统在基于底层不同架构的物理资源以及纳管多个云平台的基础上提供统一的虚拟机回收站功能,利用同一个回收站对所有纳管的云平台服务端上的待删除虚拟机进行统一管理,无需在各个资源池之间进行切换,方便运维,使用户及时了解各个云平台服务端上的待删除虚拟机状态,有效提高用户体验。

附图说明

图1为本发明实施例提供的第一种多云异构管理平台虚拟机统一回收方法的流程示意图;

图2为本发明实施例提供的第二种多云异构管理平台虚拟机统一回收方法的流程示意图;

图3为本发明实施例提供的第三种多云异构管理平台虚拟机统一回收方法的流程示意图;

图4为本发明实施例提供的第四种多云异构管理平台虚拟机统一回收方法的流程示意图;

图5为本发明实施例提供的第五种多云异构管理平台虚拟机统一回收方法的流程示意图;

图6为本发明实施例提供的第六种多云异构管理平台虚拟机统一回收方法的流程示意图;

图7为本发明实施例提供的第七种多云异构管理平台虚拟机统一回收方法的流程示意图;

图8为本发明实施例提供的第八种多云异构管理平台虚拟机统一回收方法的流程示意图;

图9为本发明实施例提供的第一种多云异构管理平台虚拟机统一回收系统的结构框图;

图10为本发明实施例提供的第二种多云异构管理平台虚拟机统一回收系统的结构框图;

图11为本发明实施例提供的第三种多云异构管理平台虚拟机统一回收系统的结构框图;

图12为本发明实施例提供的第四种多云异构管理平台虚拟机统一回收系统的结构框图;

图13为本发明实施例提供的一种计算机设备的结构框图;

图14为本发明实施例提供的从多云异构管理平台上发起删除操作到底层异构物理资源池的整个框架示意图。

具体实施方式

为能进一步了解本发明的特征、技术手段以及所达到的具体目的、功能,下面结合附图与具体实施方式对本发明作进一步详细描述。

本发明多云异构管理平台虚拟机统一回收方法由用户在多云异构管理平台的虚拟机管理的可视化操作界面中发起,可视化操作界面中嵌布形成供管理员或者用户执行对虚拟机执行回收操作的可视化操作视窗,管理员或者用户可在可视化操作视窗中发起对一种云平台的一个或者多个虚拟机或者几种云平台的一个或者多个虚拟机执行删除回收操作。

其中,如图14所示,多云异构管理平台底层的物理资源可以是分布式的不同架构或不同指令集的硬件资源,当多云异构管理平台底层的物理资源是分布式的不同架构时,多云异构管理平台底层的物理资源为X86架构、ARM架构或MIPS架构中的两种或三种;具体地,基于openstack的云平台,多云异构管理平台底层的物理资源在分布式(不同地域)的不同架构的物理资源上进行部署,同一云平台服务端可以部署在不同或者相同架构的物理资源上,该部署方式可以基于容器(Docker)技术或者Kubernetes开源容器集群管理系统实现。

在一个实施例中,如图14所示,对于同一云平台,该云平台底层的不同架构的物理资源通过虚拟化技术可供上层云平台调用,在云平台中通过修改nova.conf中的node_availability_zone字段设置不同的可用域(Availability Zone,AZ),以帮助用户在云平台中选择基于不同架构的物理资源创建不同架构的虚拟机。

本实施例中,云平台指代为不包括云平台前端的云平台服务端,云平台的前端被多云异构管理平台的前端即虚拟机管理的可视化操作界面所替代,用户可通过多云异构管理平台的虚拟机管理的可视化操作界面对各个云平台的资源进行管理。

图1是本发明实施例提供的第一种多云异构管理平台虚拟机统一回收方法的流程示意图,如图1所示,该多云异构管理平台虚拟机统一回收方法,包括步骤S100~步骤S500,具体如下:

步骤S100、接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;所述虚拟机删除指令在多云异构管理平台的可视化操作界面中被接收,用户可以在统一的虚拟机列表中删除一个云平台或者批量删除多个云平台上的虚拟机,其中,所述虚拟机列表为多云异构管理平台的资源列表中的其中一种列表模式。

在多云异构管理平台的统一虚拟机管理的可视化界面中执行虚拟机删除或者批量删除操作时,首先会根据该虚拟机所在资源池的API地址,调用对应云平台虚拟机的删除接口,该删除接口会对待删除虚拟机的状态进行判断,其中,所述删除接口包括软删除接口及强制删除出接口,只有状态为关机状态或开机状态的虚拟机通过调用软删除(soft_delete)接口进行删除操作后进入回收站,对于异常状态或失败状态的待删除虚拟机则会通过调用彻底删除(force_delete)接口执行彻底删除操作,执行彻底删除操作的待删除虚拟机不会进入回收站。

在一个实施例中,所述回收站为多云异构管理平台中各个云平台服务端共有的同一个回收站,所述回收站用于纳管不同云平台服务端资源池对应的待删除虚拟机;当用户在多云异构管理平台的虚拟机列表中同时对一个或者多个云平台上一台或者多台虚拟机执行软删除操作后,执行软删除操作的虚拟机均统一进入该回收站,用户可通过该回收站实现对一个或多个云平台上待删除虚拟机的立即释放和恢复操作。同一多云异构管理平台用户可以实现对所有被纳管云平台服务端的管理,该多云异构管理平台对云平台服务端进行纳管操作通常基于openstack实现。

步骤S200、给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;给执行软删除操作的待删除虚拟机添加删除标识,从而使得待删除虚拟机所绑定的各种虚拟资源均添加有删除标识,通过在多云异构管理平台上的资源列表对所有纳管的云平台服务端对应的虚拟机进行统一管理,无需在各个云平台服务端对应的资源池之间进行切换,使用户对各个云平台服务端对应的虚拟机状态清晰明了,显著地提高了用户对虚拟机的运维效率以及用户体验。

具体地,所述步骤S200的方法,具体操作为:

给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,并同步修改被纳管云平台服务端数据库,记录执行待删除虚拟机信息,多云异构管理平台各个资源列表在获取各个云平台服务端的虚拟机资源信息时,自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;其中,所述执行待删除虚拟机信息包括虚拟机ID,多个虚拟磁盘ID,浮动IP等,通过在多云异构管理平台上的资源列表对所有纳管的云平台服务端对应的虚拟机进行统一管理,无需在各个云平台服务端对应的资源池之间进行切换,使用户对各个云平台服务端对应的虚拟机状态清晰明了,显著地提高了用户对虚拟机的运维效率以及用户体验。

如图14所示,当待删除虚拟机所绑定的虚拟资源为虚拟磁盘,且虚拟磁盘为基于异构物理资源池的多存储后端创建的数据盘或系统盘时,所述步骤S200的方法,具体操作包括:

步骤S210、在云平台服务端设置不同的卷类型来区分底层不同的物理存储类型,同步记录云平台服务端数据库cinder的volume_type表以及volumes表,不同的卷类型对应不同的虚拟磁盘类型;在volumes表内,以ID为主键,形成表记录,一条表记录包括ID、created_at、updated_at、deleted_at、deleted、name、manage_name等字段,其中,所述ID为卷类型的唯一标识,created_at为卷类型的创建时间,updated_at为卷类型的更新时间,deleted_at为卷类型删除时间,deleted为软删除标识,volume_type为云平台卷类型,对应底层多后端存储类型,manage_name为多云异构管理平台上的虚拟存储类型;

步骤S220、在openstack底层nova数据库中读取/更新虚拟机、虚拟资源状态、删除标识,并同步修改被纳管云平台服务端存储数据库,记录执行待删除虚拟机信息,如虚拟机ID、多个虚拟磁盘ID、浮动IP等执行待删除虚拟机信息;

步骤S230、在对虚拟机执行软删除操作时,根据虚拟磁盘类型对应的volume_type以及被删除虚拟机的ID运用update cinder.volumes set deleted=1where id=”删除虚拟机的ID”修改openstack底层cinder数据库,给该被删除虚拟机所绑定的虚拟磁盘一个删除标识;

步骤S240、多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;其中,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见,所述多云异构管理平台的资源列表包括虚拟机列表、虚拟磁盘列表、虚拟机浮动IP列表、虚拟机私有网络IP列表、虚拟机MAC地址列表、虚拟机安全组列表以及虚拟机秘钥对列表等,虚拟机列表、虚拟磁盘列表、虚拟机浮动IP列表、虚拟机私有网络IP列表、虚拟机MAC地址列表、虚拟机安全组列表以及虚拟机秘钥对列表等均可在虚拟机管理可视化界面中进行展现,对于执行过删除的虚拟机,其所有绑定的虚拟资源在虚拟机列表中是对用户不可见的,且不能再执行任何操作,进而提高用户使用体验以及避免用户产生错误判断而在虚拟机列表中对执行过删除操作的虚拟机重复进行删除操作。

在本实施例中,以待删除虚拟机所绑定的虚拟磁盘为例,当资源列表为虚拟磁盘列表时,对于基于异构物理资源池的多存储后端创建的数据盘或系统盘,即一台虚拟机可以挂载一种或者几种磁盘类型,如基于X86架构或ARM架构的hdd机械云盘、nvme固态云盘等,通过在云平台服务端设置不同的卷类型来区分底层不同的物理存储类型,并同步记录云平台服务端数据库cinder的volume_type表以及volumes表,不同的卷类型对应不同的虚拟磁盘类型。如下方volumes表所示,以ID为主键,形成表记录,一条表记录包括ID(主键)、created_at、updated_at、deleted_at、deleted、name、manage_name等字段,所述ID为卷类型的唯一标识,created_at为卷类型的创建时间,updated_at为卷类型的更新时间,deleted_at为卷类型删除时间,deleted为软删除标识,当deleted=1表示被执行软删除,当deleted=0表示未被执行软删除,volume_type为云平台卷类型,对应底层多后端存储类型,一般包括X86或者ARM架构的hdd机械云盘、nvme固态云盘等,manage_name为多云异构管理平台上的虚拟存储类型。

volumes表

/>

在对虚拟机执行软删除操作时,根据虚拟磁盘类型对应的volume_type以及被删除虚拟机的ID运用update cinder.volumes set deleted=1where id=”删除虚拟机的ID”修改openstack底层cinder数据库,给该待删除虚拟机所绑定的虚拟磁盘一个删除标识,多云异构管理平台的虚拟磁盘列表在获取各个云平台服务端的虚拟磁盘资源时则会自动过滤带有删除标识的虚拟磁盘,这样基于异构物理资源池的多存储后端创建的数据盘或系统盘在上层多云异构管理平台不可见,视为彻底删除,不会引起资源使用混乱,也不影响存储资源的恢复。

同理,通过修改openstack底层cinder数据库给该待删除虚拟机所绑定的其他虚拟资源一个删除标识,多云异构管理平台的资源列表在获取各个云平台服务端的资源时则会自动过滤带有删除标识的虚拟资源,这样多云异构管理平台的其他资源列表对应的虚拟资源在上层多云异构管理平台不可见,视为彻底删除,不会引起资源使用混乱,也不影响存储资源的恢复。

步骤S300、根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端被执行软删除操作的虚拟机的回收站列表;通过在多云异构管理平台上对所有纳管的云平台服务端对应的虚拟机进行统一管理,利用同一个回收站对所有纳管的云平台服务端上的待删除虚拟机进行统一管理,无需在各个云平台服务端对应的资源池之间进行切换,解决了现有多云平台上虚拟机回收需要在不同可用区或者不同被纳管云平台之间来回切换的问题,使用户对各个云平台服务端对应的虚拟机状态清晰明了,显著地提高了用户对虚拟机的运维效率以及用户体验。

所述步骤S300的方法,具体操作为:

基于多云异构管理平台的平台管理设置的各个被纳管云平台服务端的API地址、账号、密码,在完成Keystone组件认证之后,循环调用对应云平台服务端的List Servers接口并根据删除标识筛选,返回所有执行软删除操作的虚拟机,从而在回收站内形成所有纳管云平台服务端被软删除虚拟机的回收站列表;通过在多云异构管理平台上同一个回收站对所有纳管的云平台服务端上的待删除虚拟机进行统一管理,无需在各个云平台服务端对应的资源池之间进行切换,解决了现有多云平台上虚拟机回收需要在不同可用区或者不同被纳管云平台之间来回切换的问题,使用户对各个云平台服务端对应的待删除虚拟机状态清晰明了,显著地提高了用户对虚拟机的运维效率以及用户体验。

在其中一个实施例中,所述步骤S100的方法,具体包括如下步骤:

步骤S110、接收虚拟机删除指令;

步骤S120、判断虚拟机状态是否为可回收状态;其中,可回收状态包括关机状态及开机状态,若是,则执行步骤S130,若否,则执行步骤S140;

步骤S130、对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,其中,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;当执行软删除操作的待删除虚拟机处于开机状态时,将处于开机状态的虚拟机进行关机,同时对处于开机状态的虚拟机添加删除标识,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系;具体地,当执行软删除操作的待删除虚拟机处于开机状态时,调用被纳管云平台的底层软删除接口并将该虚拟机在对应云平台服务端进行关机,同时对该虚拟机添加删除标识,不解除对放入回收站中的虚拟机与其虚拟资源的绑定关系。

步骤S140、对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;其中,执行彻底删除操作的待删除的虚拟机不会进入回收站,而且,该执行彻底删除操作的待删除的虚拟机会自动解除与其虚拟资源的绑定关系,与该执行彻底删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见。

在本实施例中,虚拟机与虚拟资源的绑定关系包括虚拟机与浮动IP、私有网络IP、MAC地址、安全组、秘钥对以及虚拟磁盘中的一种或几种资源之间所建立的绑定关系;其中,软删除操作不解除虚拟机与其虚拟资源的绑定关系,当对软删除操作的虚拟机执行恢复操作后,该虚拟机能恢复到被删除前的状态,其绑定资源包括IP地址(浮动IP和/或私有网络IP)、虚拟磁盘内容、MAC地址等都没有变化,当发生虚拟机误删时能够及时地恢复虚拟机、保障虚拟机数据安全,也不影响该虚拟机的上层业务使用。

如图2所示,在一个实施例中,所述步骤S100之前,还包括

步骤S100-1、基于openstack的云平台,对待纳管的云平台服务端进行部署,在多云异构管理平台中添加云平台服务端的API地址、账号及密码,从而完成多云异构管理平台对API地址对应的云平台服务端的纳管操作;具体地,所述多云异构管理平台为可以同时纳管多个云平台服务端的混合云管理平台,在多云异构管理平台中添加云平台服务端的API地址、账号及密码,并将各个云平台服务端分别标记为一个资源池,即一个资源池对应一个被纳管的云平台服务端,其中,被纳管的云平台服务端可以是分布式的云平台服务端。

如图3所示,在一个实施例中,所述步骤S100-1之后,还包括

步骤S100-2、openstack云平台的Keystone组件对添加的各个云平台服务端的API地址、账号以及密码完成认证,多云异构管理平台循环调用对应云平台服务端的ListServers接口,把所有纳管的云平台服务端对应的虚拟机统一展示在一个虚拟机列表中,实现对所有纳管的云平台服务端对应的虚拟机进行统一管理;其中,虚拟机列表中的虚拟机信息包含虚拟机的规格大小、IP地址、存储类型及大小、可用域等基本信息,通过在多云异构管理平台上对所有纳管的云平台服务端对应的虚拟机进行统一管理,无需在各个云平台服务端对应的资源池之间进行切换,使用户对各个云平台服务端对应的虚拟机状态清晰明了,显著地提高了用户对虚拟机的运维效率以及用户体验。

如图4所示,在一个实施例中,所述步骤S100之前,还包括

步骤S100-3、将多云异构管理平台的用户帐号同步到待纳管的云平台服务端中,以实现用户同步,进而确保同一用户帐号可实现对所有云平台服务端的管理。

步骤S400、设置回收站的预设清除时间(reclaim_instance_interval值),以确保多云异构管理平台上对待删除虚拟机执行软删除操作;通过在云平台服务端将虚拟机关机,在预设清除时间内不解除虚机与其虚拟资源的绑定关系,同时,对基于不同架构不同存储后端的虚拟磁盘,通过设置不同的卷类型,结合卷类型添加删除标识,设置预设清除时间的方式能有效解决现有云平台中虚拟机恢复后绑定资源变更影响上层业务使用,以及虚拟机删除后,其基于多存储后端的虚拟磁盘无法删除的问题,且大大提升了虚拟机的回收效率。

具体地,预设清除时间为在云平台服务端所有物理节点openstack组件nova的/etc/kolla/nova-compute/nova.conf中配置的reclaim_instance_interval值,一般预设置为15天,如需修改,需要docker restart nova_compute重启服务后生效。

当云平台服务端在物理节点部署完成且被多云异构管理平台纳管后,修改所有物理节点openstack组件nova的nova.conf配置,通过设置reclaim_instance_interval值,以确保多云异构管理平台上对处于开机状态或关机状态的待删除虚拟机执行软删除操作。

在其他实施例中,为方便操作,可以将预设的reclaim_instance_interval值配置在部署容器中,云平台服务端在物理节点部署完成且被多云异构管理平台纳管后,reclaim_instance_interval值则自动修改为预设值,以确保多云异构管理平台上对虚拟机的删除为软删除机制。

本实施例中,所述步骤S400可根据需要描述成位于步骤S100-1之后。

步骤S500、判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动删除虚拟机及该虚拟机所绑定的资源。

具体地,对于执行软删除操作进入回收站的虚拟机,其可被恢复的时间由预设reclaim_instance_interval值决定,当虚拟机处于回收站的时间达到预设清除时间时,各个被纳管云平台服务端的API地址、账号及密码完成Keystone组件认证,多云异构管理平台循环对各个云平台服务端对应的虚拟机及虚拟机所绑定的资源自动删除。

本实施例中,在多云异构管理平台上设置定时任务task.clean,每小时执行一次,定期根据虚拟机ID去查询执行软删除的虚拟机是否超过预设清除时间,如果没有返回查询虚拟机的数据,表示虚拟机已经到期,则查询与其关联的数据盘或者系统盘,先调用sdkVolumeClient.forcedetach将磁盘与虚拟机强制分离,再调用云平台的磁盘删除接口sdkVolumeClient.delete将磁盘彻底删除,处于回收站的各个云平台服务端对应的虚拟机及其绑定资源就会自动彻底删除。

如图5所示,在一个实施例中,所述步骤S400之后,还包括

步骤S600、在预设清除时间未达到预设值时,用户通过手动方式对回收站内的虚拟机执行恢复操作或释放操作。

具体地,对于误删除需要恢复的虚拟机,用户在预设清除时间之前到回收站中执行恢复操作,使得虚拟机恢复到删除前状态,与其绑定的资源恢复到多云异构云平台对应的资源列表中,从而在发生虚拟机误删时,能够及时地进行恢复,进而保障数据安全。

本实施例中,多云异构管理平台用户在预设清除时间之前,手动选择在回收站的可视化操作界面上对纳管的一个或多个云平台下的一台或者多台虚拟机执行单个或批量恢复操作,虚拟机进行恢复操作时,多云异构管理平台根据平台管理设置的各个被纳管云平台服务端的API地址、账号及密码,在完成Keystone组件认证之后,循环调用对应云平台服务端的restore接口,将处于关机状态的被删除虚拟机进行开机,并根据虚拟机的ID清除nova和cinder数据库中设置的虚拟机及其绑定资源的删除标识,虚拟机恢复到原统一的虚拟机列表中,与其绑定的被删除的资源回到多云异构管理平台各资源列表中,且虚拟机与这些虚拟资源仍然是绑定关系,虚拟机整体较删除之前无任何变化。

具体地,对于预设清除时间还未到且确定要删除并释放资源的虚拟机,用户在预设清除时间之前到回收站中执行释放操作,完全删除虚拟机及其绑定的资源。

本实施例中,对于在多云异构管理平台的虚拟机列表执行完软删除操作,但是仍然需要彻底释放资源的虚拟机,需要在预设清除时间reclaim_instance_interval还未到之前手动在回收站中对一个或多个云平台下的一台或者多台虚拟机执行单个或批量的释放操作,释放时多云异构管理平台根据平台管理设置的各个被纳管云平台的API地址、账号及密码,在完成Keystone组件认证之后,循环调用对应云平台的force_delete接口,将虚拟机彻底删除,同时根据虚拟机ID及删除标识将与其绑定的虚拟机资源一并释放,包括基于不同卷类型的数据盘、系统盘、IP地址、MAC地址资源等。

如图6所示,在一个实施例中,所述步骤S400之后,还包括

步骤S700、在第i统计周期内检测虚拟机执行恢复操作的次数N

在本实施例中,以初始统计周期设置为15天为例,在15天内,如果检测到多云异构管理平台上用户执行虚拟机恢复的次数N

当在初始统计周期内,如果检测到多云异构管理平台上用户执行虚拟机恢复的次数不够20次,则每减少5次,预设清除时间减少一天,记为初始统计值

本发明步骤S700的方法同时考虑了用户执行虚拟机恢复操作的次数以及当前统计周期内虚拟机恢复操作距离执行软删除操作的最大时间间隔,这两个参数反应了用户使用统一回收站的频率以及回收站对用户的实际价值,更反应了用户使用习惯,基于这两个参数来自动调整预设清除时间可以有效减少回收站资源占用,并真正帮助用户在误删时能在预设清除时间内恢复虚拟机。

如图7所示,在一个实施例中,所述步骤S500之前,还包括

步骤S800、在对处于回收站的时间达到预设清除时间的虚拟机进行清理之前,对用户进行远程通知,告知回收站内的虚拟机将被自动进行彻底删除;其中,对用户进行远程通知可通过短信或邮件等方式实现,当远程通知为邮件方式时,该邮件基于外网邮件服务器转发实现,本实施例中,基于阿里邮件服务器转发实现,开始发送邮件的时间基于预设清除时间设置,可根据实际情况自行设置,一般设置为预设清除时间到期前三天,发送邮件的内容、频率均可以通过邮件服务器设置,在此不必赘述。

本发明多云异构管理平台虚拟机统一回收方法能够在基于底层不同架构的物理资源以及纳管多个云平台的基础上提供统一的虚拟机回收站功能,利用同一个回收站对所有纳管的云平台服务端上的虚拟机进行统一管理,无需在各个资源池之间进行切换,方便运维,使用户及时了解各个云平台服务端上的虚拟机状态,有效提高用户体验;其次,通过在云平台服务端将虚拟机关机,在预设清除时间内不解除虚机与其虚拟资源的绑定关系,同时,对基于不同架构不同存储后端的虚拟磁盘,通过设置不同的卷类型,结合卷类型添加删除标识,设置预设清除时间的方式能有效解决现有云平台中虚拟机恢复后绑定资源变更影响上层业务使用,以及虚拟机删除后,其基于多存储后端的虚拟磁盘无法删除的问题,且大大提升了虚拟机的回收效率;另外,根据本周期内用户执行虚拟机恢复操作的次数以及本周期内虚拟机恢复操作距离执行软删除操作的最大时间间隔来自动动态调整下一周期的预设清除时间,既能有效解决固定的预设清除时间过长而导致的虚拟机资源占用问题,又能适应用户习惯,解决预设清除时间过短而不方便用户恢复误删的虚拟机的问题。

如图8所示,为了更加清晰本发明的技术方案,下面再阐述优选实施例。

步骤S100-1、基于openstack的云平台,对待纳管的云平台服务端进行部署,在多云异构管理平台中添加云平台服务端的API地址、账号及密码,完成多云异构管理平台对API地址对应的云平台服务端的纳管操作;其中,所述多云异构管理平台为同时纳管多个云平台服务端的混合云管理平台,在多云异构管理平台中添加云平台服务端的API地址、账号及密码,并将各个云平台服务端分别标记为一个资源池,被纳管的云平台服务端是分布式的云平台服务端;

步骤S100-2、完成对添加的各个云平台服务端的API地址、账号以及密码的openstack云平台的Keystone组件认证,多云异构管理平台循环调用对应云平台服务端的List Servers接口,把所有纳管的云平台服务端对应的虚拟机统一展示在一个虚拟机列表中;

步骤S100-3、将多云异构管理平台的用户帐号同步到待纳管的云平台服务端中;

步骤S100、接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;

步骤S200、给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;

步骤S300、根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;

步骤S400、设置回收站的预设清除时间;

步骤S700、在第i统计周期内检测虚拟机执行恢复操作的次数N

步骤S800、在对处于回收站的时间达到预设清除时间的虚拟机进行清理之前,对用户进行远程通知,告知回收站内的虚拟机将被自动进行彻底删除;

步骤S500、判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动删除虚拟机及该虚拟机所绑定的资源;

步骤S600、当预设清除时间未达到预设值时,用户通过手动方式对回收站内的虚拟机执行恢复操作或释放操作。

图9是本发明实施例提供的第一种多云异构管理平台虚拟机统一回收系统的结构框图,如图9所示,对应于上述多云异构管理平台虚拟机统一回收方法,本发明还提供一种多云异构管理平台虚拟机统一回收系统,该多云异构管理平台虚拟机统一回收系统包括用于执行上述多云异构管理平台虚拟机统一回收方法的模块,该系统可以被配置于计算机设备,本发明提供多云异构管理平台虚拟机统一回收系统,在基于底层不同架构的物理资源以及纳管多个云平台的基础上提供统一的虚拟机回收站功能,利用同一个回收站对所有纳管的云平台服务端上的待删除虚拟机进行统一管理,无需在各个资源池之间进行切换,方便运维,使用户及时了解各个云平台服务端上的待删除虚拟机状态,有效提高用户体验。

如图9所示,该多云异构管理平台虚拟机统一回收系统包括删除模块10、标识模块20、回收模块30、预设清除模块40及判断模块50。

删除模块10,用于接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;

标识模块20,用于给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;

回收模块30,用于根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;

预设清除模块40,用于设置回收站的预设清除时间;

判断模块50,用于判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动控制删除模块10删除虚拟机及该虚拟机所绑定的资源。

图10是本发明实施例提供的第二种多云异构管理平台虚拟机统一回收系统的结构框图。如图10所示,本实施例提供的多云异构管理平台虚拟机统一回收系统是在上述多云异构管理平台虚拟机统一回收系统的基础上增加了手动操作模块60,所述手动操作模块60用于当预设清除时间未达到预设值时,用户通过手动方式对回收站内的虚拟机执行恢复操作或释放操作。

图11是本发明实施例提供的第三种多云异构管理平台虚拟机统一回收系统的结构框图。如图11所示,本实施例提供的多云异构管理平台虚拟机统一回收系统是在上述多云异构管理平台虚拟机统一回收系统的基础上增加了预设清除时间调整模块70,所述预设清除时间调整模块70用于在第i统计周期内检测虚拟机执行恢复操作的次数N

图12是本发明实施例提供的第四种多云异构管理平台虚拟机统一回收系统的结构框图。如图12所示,本实施例提供的多云异构管理平台虚拟机统一回收系统是在上述多云异构管理平台虚拟机统一回收系统的基础上增加了远程通知模块80,所述远程通知模块80用于在对处于回收站的时间达到预设清除时间的虚拟机进行清理之前,对用户进行远程通知,告知回收站内的虚拟机将被自动进行彻底删除。

在一个实施例中,所述标志模块给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见,具体用于执行如下步骤:

给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,并同步修改被纳管云平台服务端数据库,记录执行待删除虚拟机信息,多云异构管理平台各个资源列表在获取各个云平台服务端的虚拟机资源信息时,自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见。

在一个实施例中,所述删除模块接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作,具体用于执行如下步骤:

步骤S110、接收虚拟机删除指令;

步骤S120、判断虚拟机状态是否为可回收状态;其中,可回收状态包括关机状态及开机状态,若是,则执行步骤S130,若否,则执行步骤S140;

步骤S130、对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,其中,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;当执行软删除操作的待删除虚拟机处于开机状态时,将处于开机状态的虚拟机进行关机,同时对处于开机状态的虚拟机添加删除标识,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系;

步骤S140、对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述多云异构管理平台虚拟机统一回收系统和各模块的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

图13是本发明实施例提供的一种计算机设备的内部结构框图,如图13所示,本发明提供的计算机设备包括通过系统总线连接的通过系统总线连接的存储器、处理器及网络接口;所述存储器上存储有计算机程序,所述处理器用于提供计算和控制能力,以支撑整个计算机设备的运行,所述处理器执行所述计算机程序时实现上述的一种混合云管理平台虚拟机回收方法。

存储器可以包括非易失性存储介质和内存储器,该非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现一种混合云管理平台虚拟机回收方法。

该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种混合云管理平台虚拟机回收方法。该网络接口用于与其它设备进行网络通信。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其他的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的一种混合云管理平台虚拟机回收方法可实现为一种计算机程序的方式,计算机程序可以在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该多云异构管理平台虚拟机统一回收系统的各个程序模块,比如,图9所示的删除模块10、标识模块20、回收模块30、预设清除模块40及判断模块50。各个程序模块构成的计算机程序使得处理器执行本说明中描述的本申请各个实施例的多云异构管理平台虚拟机统一回收系统的步骤。例如,图13所示的计算机设备可以通过如图9所示的多云异构管理平台虚拟机统一回收系统中的删除模块10接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;标识模块20给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;回收模块30根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;预设清除模块40设置回收站的预设清除时间;判断模块50判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动控制删除模块10删除虚拟机及该虚拟机所绑定的资源。

在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:步骤S100、接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;步骤S200、给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;步骤S300、根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;步骤S400、设置回收站的预设清除时间;步骤S500、判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动删除虚拟机及该虚拟机所绑定的资源。

在一个实施例中,所述处理器在实现给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见时,具体实现如下步骤:给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,并同步修改被纳管云平台服务端数据库,记录执行待删除虚拟机信息,多云异构管理平台各个资源列表在获取各个云平台服务端的虚拟机资源信息时,自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见。

在一个实施例中,所述处理器在实现接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作时,具体实现如下步骤:步骤S110、接收虚拟机删除指令;步骤S120、判断虚拟机状态是否为可回收状态;其中,可回收状态包括关机状态及开机状态,若是,则执行步骤S130,若否,则执行步骤S140;步骤S130、对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,其中,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;当执行软删除操作的待删除虚拟机处于开机状态时,将处于开机状态的虚拟机进行关机,同时对处于开机状态的虚拟机添加删除标识,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系;步骤S140、对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作。

应当理解,在本申请实施例中,处理器可以是中央处理单元(Central ProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:步骤S100、接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作;步骤S200、给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;步骤S300、根据删除标识对执行软删除操作的虚拟机进行筛选,返回所有执行软删除操作的虚拟机资源信息,在回收站内形成所有纳管云平台服务端执行软删除操作的虚拟机的回收站列表;步骤S400、设置回收站的预设清除时间;步骤S500、判断预设清除时间是否达到预设值,在预设清除时间达到预设值后,自动删除虚拟机及该虚拟机所绑定的资源。

在一个实施例中,所述处理器在执行所述程序指令执行给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,多云异构管理平台各个资源列表自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见的步骤时,具体实现如下步骤:给执行软删除操作的待删除虚拟机所绑定的各个虚拟资源添加删除标识,并同步修改被纳管云平台服务端数据库,记录执行待删除虚拟机信息,多云异构管理平台各个资源列表在获取各个云平台服务端的虚拟机资源信息时,自动过滤添加有删除标识的虚拟机资源,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见。

在一个实施例中,所述处理器在执行所述程序指令执行接收虚拟机删除指令,对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作的步骤时,具体实现如下步骤:步骤S110、接收虚拟机删除指令;步骤S120、判断虚拟机状态是否为可回收状态;其中,可回收状态包括关机状态及开机状态,若是,则执行步骤S130,若否,则执行步骤S140;步骤S130、对处于开机状态或关机状态的虚拟机执行软删除操作并放入回收站,其中,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系,与该执行软删除操作的待删除虚拟机绑定的虚拟资源在多云异构管理平台的资源列表中不可见;当执行软删除操作的待删除虚拟机处于开机状态时,将处于开机状态的虚拟机进行关机,同时对处于开机状态的虚拟机添加删除标识,执行软删除操作的待删除虚拟机不解除与其虚拟资源的绑定关系;步骤S140、对处于异常状态或失败状态的待删除虚拟机进行彻底删除操作。

所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

综上所述,本发明多云异构管理平台虚拟机统一回收方法及系统在基于底层不同架构的物理资源以及纳管多个云平台的基础上提供统一的虚拟机回收站功能,利用同一个回收站对所有纳管的云平台服务端上的待删除虚拟机进行统一管理,无需在各个资源池之间进行切换,方便运维,使用户及时了解各个云平台服务端上的待删除虚拟机状态,有效提高用户体验;其次,通过在云平台服务端将虚拟机关机,在预设清除时间内不解除虚机与其虚拟资源的绑定关系,同时,对基于不同架构不同存储后端的虚拟磁盘,通过设置不同的卷类型,结合卷类型添加删除标识,设置预设清除时间的方式能有效解决现有云平台中虚拟机恢复后绑定资源变更影响上层业务使用,以及虚拟机删除后,其基于多存储后端的虚拟磁盘无法删除的问题,且大大提升了虚拟机的回收效率;另外,根据本周期内用户执行虚拟机恢复操作的次数以及本周期内虚拟机恢复操作距离执行软删除操作的最大时间间隔来自动动态调整下一周期的预设清除时间,既能有效解决固定的预设清除时间过长而导致的虚拟机资源占用问题,又能适应用户习惯,解决预设清除时间过短而不方便用户恢复误删的虚拟机的问题。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。

技术分类

06120115935722