CN109117251B - 一种虚拟机回收站的实现方法、装置和可读存储介质 - Google Patents

一种虚拟机回收站的实现方法、装置和可读存储介质 Download PDF

Info

Publication number
CN109117251B
CN109117251B CN201810904748.2A CN201810904748A CN109117251B CN 109117251 B CN109117251 B CN 109117251B CN 201810904748 A CN201810904748 A CN 201810904748A CN 109117251 B CN109117251 B CN 109117251B
Authority
CN
China
Prior art keywords
virtual machine
state
recycle bin
deleting
disk
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.)
Active
Application number
CN201810904748.2A
Other languages
English (en)
Other versions
CN109117251A (zh
Inventor
郭春庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810904748.2A priority Critical patent/CN109117251B/zh
Publication of CN109117251A publication Critical patent/CN109117251A/zh
Application granted granted Critical
Publication of CN109117251B publication Critical patent/CN109117251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种虚拟机回收站的实现方法、装置和可读存储介质。能够通过回收站保存被删除的虚拟机,当用户需要恢复时,进行及时恢复。所述方法包括:接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机。采用本发明实施例,通过将用户有意或者无意删除的虚拟机放到回收站,不仅可以快速恢复,并且不会占用过多资源,为用户提供了一个方便、快捷的防误删除的方法。

Description

一种虚拟机回收站的实现方法、装置和可读存储介质
技术领域
本发明涉及计算机技术,尤指一种虚拟机回收站的实现方法、装置和可读存储介质。
背景技术
基于OpenStack的云平台越来越多的被用户采用,已经成为云计算的事实标准,而且落地的云平台的规模也越来越大,平台内的虚拟机数量更是随之增大。云平台的用户尤其是管理员,在面对大量的虚拟机操作时,很容易出现误删除的情况,尤其是虚拟机名称相近或者没有明确实际意义时。这就需要一个虚拟机回收站,来暂时保存这些被删除的虚拟机,可以让用户后悔时,进行及时恢复。
openstack本身没有回收站机制,有些是直接全部删除,有些只是简单的关机,然后标记一下虚拟机的状态为已删除。这些处理虚拟机删除的方式使用起来查看不方便,关机状态占用计算节点的资源配额,恢复起来不仅慢而且不灵活,尤其是虚拟机的数据盘较多时。所以,当误删除了关键业务虚拟机时,短时间内不易恢复。
发明内容
为了解决上述技术问题,本发明提供了一种虚拟机回收站的实现方法、装置和可读存储介质,能够通过回收站保存被删除的虚拟机,当用户需要恢复时,进行及时恢复。
为了达到本发明目的,本发明提供了一种虚拟机回收站的实现方法,其特征在于,所述方法包括:
接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;
当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;
当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机。
进一步地,所述执行将所述虚拟机放入回收站的操作,包括:将所述虚拟机暂停在内存中,保持系统盘和数据盘不变;
所述恢复所述虚拟机,包括:将暂停在内存中的虚拟机开机;
所述执行将所述虚拟机放入回收站的操作,还包括:将所述虚拟机的系统盘和数据盘转换为镜像保存;
所述恢复所述虚拟机,还包括:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。
进一步地,所述根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,包括:将所述虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:所述虚拟机标识,以及所述虚拟机处于第一回收站状态;
所述方法还包括:当所述虚拟机处于第一回收站状态的时间大于第一预设阈值时,将所述虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:所述虚拟机标识,所述虚拟机处于第二回收站状态以及所述虚拟机的镜像信息。
进一步地,所述恢复所述虚拟机,包括:
当所述虚拟机当前状态为第一回收站状态时,采用以下方式恢复所述虚拟机:将暂停在内存中的虚拟机开机;
当所述虚拟机当前状态为第二回收站状态时,采用以下方式恢复所述虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。
进一步地,所述完全删除所述虚拟机,包括:删除所述虚拟机的系统盘和数据盘。
为了达到本发明目的,本发明还提供了一种虚拟机回收站的实现装置,其特征在于,所述装置包括删除模块、恢复模块和完全删除模块,其中:
所述删除模块,用于:接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;
所述恢复模块,用于:当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;
所述完全删除模块,用于:当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机。
进一步地,所述删除模块执行将所述虚拟机放入回收站的操作,包括:所述删除模块将所述虚拟机暂停在内存中,保持系统盘和数据盘不变;
所述恢复模块恢复所述虚拟机,包括:所述恢复模块将暂停在内存中的虚拟机开机;
所述删除模块执行将所述虚拟机放入回收站的操作,还包括:所述删除模块将所述虚拟机的系统盘和数据盘转换为镜像保存;
所述恢复模块恢复所述虚拟机,还包括:所述恢复模块通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。
进一步地,所述删除模块根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,包括:所述删除模块将所述虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:所述虚拟机标识,以及所述虚拟机处于第一回收站状态;
所述装置还包括判断模块:所述判断模块用于当判断出所述虚拟机处于第一回收站状态的时间大于第一预设阈值时,将所述虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:所述虚拟机标识,所述虚拟机处于第二回收站状态以及所述虚拟机的镜像信息。
进一步地,所述恢复模块恢复所述虚拟机,包括:
当所述虚拟机当前状态为第一回收站状态时,所述恢复模块采用以下方式恢复所述虚拟机:将暂停在内存中的虚拟机开机;
当所述虚拟机当前状态为第二回收站状态时,所述恢复模块采用以下方式恢复所述虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。
为了达到本发明目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
与现有技术相比,本发明包括接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机。通过设置了虚拟机回收站,来暂时保存这些被删除的虚拟机,可以让用户后悔时,进行及时恢复。
进一步地,所述恢复所述虚拟机,包括:当所述虚拟机当前状态为第一回收站状态时,采用以下方式恢复所述虚拟机:将暂停在内存中的虚拟机开机;当所述虚拟机当前状态为第二回收站状态时,采用以下方式恢复所述虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上,删除后的虚拟机分为两个阶段,第一阶段在内存,便于快速恢复;第二阶段在镜像存储池中,把虚拟机的系统盘和数据盘转换成镜像,不会占用计算节点的配额,同时记录数据盘和虚拟机的盘符关系,便于后期一键恢复使用。
所述根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,包括:将所述虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:所述虚拟机标识,以及所述虚拟机处于第一回收站状态;
进一步地,当所述虚拟机处于第一回收站状态的时间大于第一预设阈值时,将所述虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:所述虚拟机标识,所述虚拟机处于第二回收站状态以及所述虚拟机的镜像信息;所述恢复所述虚拟机,包括:当所述虚拟机当前状态为第一回收站状态时,采用以下方式恢复所述虚拟机:将暂停在内存中的虚拟机开机;当所述虚拟机当前状态为第二回收站状态时,采用以下方式恢复所述虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。采用本发明实施例,被删除的虚拟机查看方便,节省计算机节点的资源配额,恢复起来不仅快而且灵活,尤其是虚拟机的数据盘较多时。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例一的虚拟机回收站的实现方法的流程图;
图2为本发明实施例四的虚拟机回收站的实现装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
本实施例提供了一种虚拟机回收站的实现方法,如图1所示,该方法包括S11-S13:
S11、接收删除虚拟机的指令,根据删除虚拟机的指令执行将虚拟机放入回收站的操作,并设置虚拟机的状态为删除状态;
S12、当接收到恢复虚拟机的指令时,恢复虚拟机,修改虚拟机的状态为正常状态;
S13、当虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除虚拟机。
本发明实施例中,设置了虚拟机回收站。相比常规的虚拟机直接删除,当用户需要恢复时,能够进行及时恢复。
所述删除指令可以是删除到回收站的指令(有别于彻底删除指令),或者是收到删除指令后默认执行将虚拟机放入回收站的操作。
在一个可选实施例中,所述执行将虚拟机放入回收站的操作,包括:将虚拟机暂停在内存中,保持系统盘和数据盘不变;
所述恢复虚拟机,包括:将暂停在内存中的虚拟机开机;
所述执行将虚拟机放入回收站的操作,还包括:将虚拟机的系统盘和数据盘转换为镜像保存;
所述恢复虚拟机,还包括:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将数据盘挂载到虚拟机上。
在一个可选实施例中,所述根据删除虚拟机的指令执行将虚拟机放入回收站的操作,包括:将虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:虚拟机标识,以及虚拟机处于第一回收站状态;
所述方法还包括:当虚拟机处于第一回收站状态的时间大于第一预设阈值时,将虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:虚拟机标识,虚拟机处于第二回收站状态以及虚拟机的镜像信息。
所述记录还包括镜像标识、盘符。
在一个可选实施例中,所述恢复虚拟机,包括:当虚拟机当前状态为第一回收站状态时,采用以下方式恢复虚拟机:将暂停在内存中的虚拟机开机;
当虚拟机当前状态为第二回收站状态时,采用以下方式恢复虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将数据盘挂载到虚拟机上。
所述方法还包括,当虚拟机处于第二回收站状态的时间大于第二预设阈值时,删除虚拟机相关的记录信息。
在一个可选实施例中,所述完全删除虚拟机,包括:删除虚拟机的系统盘和数据盘。
本发明实施例中,接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机。可以在用户有意或者无意删除虚拟机情况下,把虚拟机放到回收站,可以快速恢复,并且不会占用过多资源。同时,可以有效管理数据盘和虚拟机之间的关联关系,不必要复杂的操作,为用户提供了一个方便、快捷的防误删除的方法。
实施例二
本实施例对上述实施例方法进行具体描述。
虚拟机的删除指的是释放虚拟机占用的资源,包括CPU、内存、系统盘和数据盘。本发明中虚拟机被删除后,进入回收站。本实施例中虚拟机在回收站的状态有两种,状态一是暂停状态,此时的虚拟机占用内存、系统盘和数据盘;状态二是占用保存镜像的存储空间。处于上述两种状态的虚拟机可以恢复。
openstack云平台下虚拟机回收站的实现方法包括以下步骤:
(1)接收到删除虚拟机的指令,在内存中暂停虚拟机;
暂停虚拟机,此时,系统盘和数据盘都不变,只是不占用CPU,然后把虚拟机的删除状态置为是,将虚拟机标识,以及所述虚拟机处于第一回收站状态记录到回收站数据表中;
处于状态一的虚拟机需要被恢复时,直接启即可。
(2)当虚拟机在状态一停留一段时间后,由状态一进入状态二;
状态一的停留时间可以根据需要配置。由状态一进入状态二是指虚拟机由暂停状态进入关机状态,然后把虚拟机的系统盘和数据盘都转换为镜像,保存到镜像存储中。
具体做法为:系统盘做快照,数据盘上传为镜像,将镜像信息的id、像以及数据盘镜像在系统中的盘符记录到回收站的数据表中;
处于状态二的虚拟机需要被恢复时,通过启动镜像创建虚拟机,数据盘镜像创建卷,然后,把数据盘挂载到虚拟机上,完成虚拟机的恢复,清空回收站里的该条虚拟机的记录。
(3)当虚拟机在状态二停留一段时间后,把虚拟机在回收站中的信息彻底删除;
此时,彻底删除是指,删除回收站中的系统盘和数据盘数据信息,这样就不会占用计算节点的资源配额,不影响后续虚拟机在该节点的创建;
其中,状态二的停留时间可以根据需要配置;
另外,可以选择手动批量彻底删除处于状态一和状态二的虚拟机,此时,相应的虚拟机资源会彻底释放,回收站中的系统盘和数据盘数据信息也会被删除;
当在回收站数据表中记录数据时,不同的虚拟机按顺序进行编号,当需要批量回复虚拟机时,根据回收站中虚拟机对应数据的编号依次恢复。
本发明实施例中提出了一种openstack云平台下虚拟机回收站的实现方法,可以提高用户的使用体验,查看方便,恢复及时,自动管理数据盘,能够一键批量恢复需要的虚拟机。能够根据虚拟机进入回收站的时间长短,进行分类,进行不同状态的保存,既满足快速恢复重要业务虚拟机的同时,也不会占用过多的计算资源。
实施例三
本实施例对上述实施例方法进行具体描述。
本实施例回收站数据表包括用于记录信息的状态维护表表1和表2;其中,表1用于记录删除虚拟机的信息,表2用于记录与删除虚拟机关联的数据盘的信息。
表1
id vm_id image_id vm_state
表2
id image_id device_map vm_id
其中,vm_id为虚拟机id;vm_state为状态标识,当vm_state为1时,表示该虚拟机的状态为状态一;当vm_state为2时,表示该虚拟机的状态为状态二;image_id为虚拟机为状态二时,数据盘生成的镜像id;device_map为该数据盘在虚拟机的盘符,比如/dev/vd。
openstack云平台下虚拟机回收站的实现方法具体包括以下步骤:
(1)当虚拟机刚被删除时,暂停虚拟机,回收站状态置为状态一;
通过扩展出一个openstack删除虚拟机到回收站的接口api1;暂停虚拟机,并把虚拟机状态改为deleted,同时,在表1中插入一条记录,填充vm_id为虚拟机id,vm_state为1,id为自动填充,image_id为null,id是数字,比如从1开始,为了对进入回收站的虚拟机进行展示时候的先后顺序依据;
此时,与表1相对应的表2中不需要增加相关记录。
(2)当虚拟机在状态一停留一段时间后,由状态一进入状态二;
实现一个接口api2,把存在回收站的虚拟机由状态一改为状态二,内部实现为:把虚拟机关机,制作快照,把数据盘生成的镜像id保存到表1的image_id,vm_state置为2;同时把其数据盘上传到镜像,把数据盘生成的镜像信息保存到表2中,image_id为镜像的id,device_map为该数据盘在虚拟机的盘符,比如/dev/vdb,vm_id为该虚拟机的id。当处于状态一的虚拟机经过一段时间后,该时间段可配置,调用该接口,把虚拟机状态一改为状态二。
(3)当虚拟机在状态二停留一段时间后,把虚拟机回收站的信息删除,此时虚拟机彻底被删除;
用户也可以定期清空回收站中处于状态二的虚拟机,保证不会有镜像存储资源被长期占用。
虚拟机的恢复,包括:查询回收站的表一,当处于状态一时,通过扩展一个openstack恢复回收站中状态二的虚拟机的接口api3,内部实现为:把虚拟机状态改为normal,然后把虚拟机由暂停改为开机状态,同时,删除表1该虚拟机的记录。
当处于状态二时,实现一个恢复状态二虚拟机的接口api4,把处于状态二的虚拟机恢复成正常状态,内部具体实现为:通过系统盘的镜像创建一个虚拟机,通过数据盘镜像创建卷,按照device_map挂载到虚拟机上,然后把系统盘镜像和数据盘镜像删除掉,同时把表1的虚拟机记录删除,同时删除表2中所有这个虚拟机相关的卷的记录。
本发明实施例中,删除后的虚拟机分为两个阶段,第一阶段在内存,便于快速恢复;第二阶段在镜像存储池中,把虚拟机的系统盘和数据盘转换成镜像,不会占用计算节点的配额,同时记录数据盘和虚拟机的盘符关系,便于后期一键恢复使用。
实施例四
本实施例提供了一种虚拟机回收站的实现装置,上述方法实施例中描述也适用于本实施例中,如图2所示,该装置包括删除模块21、恢复模块22和完全删除模块23,其中:
删除模块21,用于:接收删除虚拟机的指令,根据删除虚拟机的指令执行将虚拟机放入回收站的操作,并设置虚拟机的状态为删除状态;
恢复模块22,用于:当接收到恢复虚拟机的指令时,恢复虚拟机,修改虚拟机的状态为正常状态;
完全删除模块23,用于:当虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除虚拟机。
在一个可选实施例中,所述删除模块21执行将虚拟机放入回收站的操作,包括:删除模块21将虚拟机暂停在内存中,保持系统盘和数据盘不变;
所述恢复模块22恢复虚拟机,包括:恢复模块22将暂停在内存中的虚拟机开机;
所述删除模块21执行将虚拟机放入回收站的操作,还包括:删除模块21将虚拟机的系统盘和数据盘转换为镜像保存;
所述恢复模块22恢复虚拟机,还包括:恢复模块22通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将数据盘挂载到虚拟机上。
在一个可选实施例中,所述删除模块21根据删除虚拟机的指令执行将虚拟机放入回收站的操作,包括:删除模块21将虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:虚拟机标识,以及虚拟机处于第一回收站状态;
所述装置还包括判断模块24:判断模块24用于当判断出虚拟机处于第一回收站状态的时间大于第一预设阈值时,将虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:虚拟机标识,虚拟机处于第二回收站状态以及虚拟机的镜像信息。
装置还包括删除记录信息模块,删除记录信息模块用于当虚拟机处于第二回收站状态的时间大于第二预设阈值时,删除虚拟机相关的记录信息。
在一个可选实施例中,所述恢复模块22恢复虚拟机,包括:
当虚拟机当前状态为第一回收站状态时,所述恢复模块22采用以下方式恢复虚拟机:将暂停在内存中的虚拟机开机;
当虚拟机当前状态为第二回收站状态时,所述恢复模块22采用以下方式恢复虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将数据盘挂载到虚拟机上。
为了达到本发明目的,本发明还提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,能够实现前述实施例提供的虚拟机回收站的实现方法,例如,执行如图1所示方法。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种虚拟机回收站的实现方法,其特征在于,所述方法包括:
接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;
当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;
当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机,
所述根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,包括:将所述虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:所述虚拟机标识,以及所述虚拟机处于第一回收站状态;
所述方法还包括:当所述虚拟机处于第一回收站状态的时间大于第一预设阈值时,将所述虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:所述虚拟机标识,所述虚拟机处于第二回收站状态以及所述虚拟机的镜像信息,
所述恢复所述虚拟机,包括:
当所述虚拟机当前状态为第一回收站状态时,采用以下方式恢复所述虚拟机:将暂停在内存中的虚拟机开机;
当所述虚拟机当前状态为第二回收站状态时,采用以下方式恢复所述虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括,当虚拟机处于第二回收站状态的时间大于第二预设阈值时,删除虚拟机相关的记录信息。
3.根据权利要求1所述的方法,其特征在于,
所述方法用于openstack云平台。
4.根据权利要求1所述的方法,其特征在于,
所述方法还包括:选择手动批量彻底删除处于第一回收站状态和第二回收站状态的虚拟机,此时,相应的虚拟机资源会彻底释放,回收站中的系统盘和数据盘数据信息也会被删除。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述完全删除所述虚拟机,包括:删除所述虚拟机的系统盘和数据盘。
6.一种虚拟机回收站的实现装置,其特征在于,所述装置包括删除模块、恢复模块和完全删除模块,其中:
所述删除模块,用于:接收删除虚拟机的指令,根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,并设置所述虚拟机的状态为删除状态;
所述恢复模块,用于:当接收到恢复所述虚拟机的指令时,恢复所述虚拟机,修改所述虚拟机的状态为正常状态;
所述完全删除模块,用于:当所述虚拟机处于删除状态的时间达到预设清除时间阈值时,完全删除所述虚拟机,
所述删除模块根据所述删除虚拟机的指令执行将所述虚拟机放入回收站的操作,包括:所述删除模块将所述虚拟机暂停在内存中,保持系统盘和数据盘不变,记录以下信息:所述虚拟机标识,以及所述虚拟机处于第一回收站状态;
所述装置还包括判断模块:所述判断模块用于当判断出所述虚拟机处于第一回收站状态的时间大于第一预设阈值时,将所述虚拟机的系统盘和数据盘转换为镜像保存,记录以下信息:所述虚拟机标识,所述虚拟机处于第二回收站状态以及所述虚拟机的镜像信息,
所述恢复模块恢复所述虚拟机,包括:
当所述虚拟机当前状态为第一回收站状态时,所述恢复模块采用以下方式恢复所述虚拟机:将暂停在内存中的虚拟机开机;
当所述虚拟机当前状态为第二回收站状态时,所述恢复模块采用以下方式恢复所述虚拟机:通过系统盘的镜像创建虚拟机,通过数据盘镜像创建卷,启动镜像创建虚拟机,数据盘镜像创建卷,将所述数据盘挂载到所述虚拟机上。
7.根据权利要求6所述的装置,其特征在于,
装置还包括删除记录信息模块,删除记录信息模块用于当虚拟机处于第二回收站状态的时间大于第二预设阈值时,删除虚拟机相关的记录信息。
8.根据权利要求6所述的装置,其特征在于,
所述装置用于openstack云平台。
9.根据权利要求8所述的装置,其特征在于,
所述装置还用于:选择手动批量彻底删除处于第一回收站状态和第二回收站状态的虚拟机,此时,相应的虚拟机资源会彻底释放,回收站中的系统盘和数据盘数据信息也会被删除。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
CN201810904748.2A 2018-08-09 2018-08-09 一种虚拟机回收站的实现方法、装置和可读存储介质 Active CN109117251B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810904748.2A CN109117251B (zh) 2018-08-09 2018-08-09 一种虚拟机回收站的实现方法、装置和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810904748.2A CN109117251B (zh) 2018-08-09 2018-08-09 一种虚拟机回收站的实现方法、装置和可读存储介质

Publications (2)

Publication Number Publication Date
CN109117251A CN109117251A (zh) 2019-01-01
CN109117251B true CN109117251B (zh) 2020-10-30

Family

ID=64852210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810904748.2A Active CN109117251B (zh) 2018-08-09 2018-08-09 一种虚拟机回收站的实现方法、装置和可读存储介质

Country Status (1)

Country Link
CN (1) CN109117251B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119386B (zh) * 2019-05-17 2021-08-31 杭州朗和科技有限公司 数据处理方法、数据处理装置、介质和计算设备
CN111399775A (zh) * 2020-03-12 2020-07-10 山东汇贸电子口岸有限公司 一种基于OpenStack环境的资源清理方法和系统
CN112732406B (zh) * 2021-01-12 2021-12-24 华云数据控股集团有限公司 一种云平台虚拟机回收方法及计算机设备
CN113032351B (zh) * 2021-03-31 2023-01-13 中国建设银行股份有限公司 网络文件系统的回收方法及装置
CN113296956A (zh) * 2021-06-17 2021-08-24 银清科技有限公司 云计算平台中资源回收装置及方法
CN113467940B (zh) * 2021-06-25 2024-02-13 济南浪潮数据技术有限公司 一种资源管理方法、装置、设备及计算机可读存储介质
CN114661240A (zh) * 2022-03-30 2022-06-24 阿里巴巴(中国)有限公司 一种数据处理方法和存储系统
CN114816776B (zh) * 2022-07-01 2022-09-23 锐盈云科技(天津)有限公司 企业智能云资产管理系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015051641A1 (zh) * 2013-10-12 2015-04-16 华为技术有限公司 一种磁盘镜像空间回收的方法及装置
CN105868056A (zh) * 2016-04-07 2016-08-17 北京北信源软件股份有限公司 获取Windows虚拟机中已删除文件的方法、装置及安全虚拟机

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789162B2 (en) * 2011-08-15 2014-07-22 Bank Of America Corporation Method and apparatus for making token-based access decisions
CN103473296A (zh) * 2013-09-04 2013-12-25 国云科技股份有限公司 一种适用于云计算的回收站机制及其系统
CN103473065A (zh) * 2013-09-18 2013-12-25 国云科技股份有限公司 一种可快速还原系统盘的虚拟机创建方法
CN104375877A (zh) * 2014-10-15 2015-02-25 国云科技股份有限公司 一种虚拟机在线快照生成与删除方法
CN107395429A (zh) * 2017-08-15 2017-11-24 郑州云海信息技术有限公司 云数据中心中管理虚拟机的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015051641A1 (zh) * 2013-10-12 2015-04-16 华为技术有限公司 一种磁盘镜像空间回收的方法及装置
CN105868056A (zh) * 2016-04-07 2016-08-17 北京北信源软件股份有限公司 获取Windows虚拟机中已删除文件的方法、装置及安全虚拟机

Also Published As

Publication number Publication date
CN109117251A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
CN109117251B (zh) 一种虚拟机回收站的实现方法、装置和可读存储介质
US20210011817A1 (en) Virtual Machine Recovery Method and Virtual Machine Management Device
WO2020140634A1 (zh) 存储空间优化方法、装置、计算机设备及存储介质
CN105868122A (zh) 快闪存储设备的数据处理方法及装置
JP2010514013A (ja) 集約した装置利用データを用いたユーザ・エクスペリエンスの向上
CN105786547A (zh) 一种实现操作系统重启的方法和装置
CN107800730B (zh) 一种虚拟磁盘的扩容方法以及装置
CN112612417A (zh) 数据迁移方法、装置、设备及存储介质
WO2020015751A1 (zh) 容器服务快照的管理方法和装置
US8990528B2 (en) Method for fast format of a fully allocated volume when copied from a space efficient volume
CN103677893B (zh) 开机的映像文件的大小缩减方法及运算装置
CN111026331A (zh) 请求响应方法、装置、设备及计算机可读存储介质
CN112559127B (zh) 虚拟机创建方法、装置、主机及存储介质
US20150156628A1 (en) Network upgrading-adaptive telephone number upgrading method and device for wireless terminal
CN107632792A (zh) 云数据系统中管理虚拟磁盘的方法和装置
CN113986471A (zh) 虚拟机镜像文件安全删除方法、装置、设备及存储介质
CN109753342A (zh) 虚拟机在线扩容方法、装置、设备及存储介质
CN112162701B (zh) 一种存储空间回收方法、装置、设备及计算机存储介质
CN110795334B (zh) 一种测试装置和方法
KR101552580B1 (ko) 모바일 기기를 포함하는 시스템 복원 및 멀티 운영체제를 지원하는 백업 방법
CN109460258B (zh) 一种启动电子设备的方法及装置
CN103593263A (zh) 基于备份知识库和文件属性的hyper-v虚拟机备份方法
CN114035897A (zh) 虚拟机镜像文件安全删除方法、装置及存储介质
CN112286625B (zh) 一种基于云平台多用户的镜像缓存状态管理方法及系统
WO2022156099A1 (zh) 主机升级方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant