虚拟机删除方法及装置与流程

文档序号:17488694发布日期:2019-04-23 20:13阅读:525来源:国知局
本发明涉及通信领域,具体而言,涉及一种虚拟机删除方法及装置。
背景技术
::iecs虚拟化平台(integratedelasticcomputingsystem)由管理、计算、存储节点三部分组成。在集中式存储(san)场景下计算节点常通过iscsi或fc方式访问存储设备。图1是根据相关技术中的访问流程的示意图,如图1所示,计算节点主机采用的kvm虚拟化、虚拟机以qcow2、raw格式文件存放在共享存储设备上。计算节点主机安装操作系统,存储设备将创建好的lun设备映射给主机使用。图2是根据相关技术中linux操作系统硬盘结构的示意图,如图2所示,应用在使用前会先对这些lun设备进行格式化,磁盘被格式化的过程中,linux操作系统自动将硬盘分成两个区域:一个是数据区,存放文件数据;另一个就是inode区,存放inode所包含的信息。启动块是服务器开机启动使用的,即使这个分区不是启动分区也保留。超级块存储了文件系统的相关信息。包括文件系统的类型,inode的数目,数据块的数目。inodes块是存储文件的inode信息,每个文件对应一个inode。包括文件的字节数,文件拥有者的userid,文件的组groupid,文件的读、写、执行权限,文件的时间戳,链接数,文件数据block的位置。当查看某个目录或文件时,会先从inodetable中查出文件属性及数据存放点,再从数据块中读取数据。数据块:存放目录和文件数据。系统管理员在资源管理门户上删除关闭状态的虚拟机,删除过程会由虚拟化管理节点下发相关删除指令到某台计算节点主机上将虚拟机从共享存储设备上进行删除。但实际上虚拟机磁盘文件并没有在存储设备的磁盘扇区上消失,删除掉的是虚拟机磁盘对应的inode信息。存储设备上删除的虚拟机所占用的磁盘空间在被新的数据覆盖写入之前,原始数据都是可以被某些第三方恢复软件还原的。为了避免删除虚机磁盘文件被轻易地恢复,常用的擦除数据方法是向删除数据所占用的磁盘空间上反复写入新的数据,数据可以是一些随机数或者全部为0。linux提供的常用删除数据的命令:shred命令,shred命令使用随机生成的数据来持续覆写文件,因此很难恢复被销毁的数据。运行如下命令,其中-n表示写入随机数的次数,-z表示写入零1次。shred-n3-z-v/dev/sdbbadblocks命令。badblocks命令原本是用来检查磁盘坏道的程序,但因为它有读写检查的功能,因此也可以用来擦除磁盘数据。运行如下命令,其中-w表示写,-p表示次数,-t表示测试模式。badblocks-v-w-p9-trandom/dev/sdbdd命令,dd命令起初用于磁盘克隆,将一个分区或者一个磁盘复制到另一个分区或者磁盘上。因此也可以用于擦除磁盘数据。运行如下命令,其中bs表示每次写的块的大小,/dev/zero使用数据0、/dev/urandom使用随机数来重写当前的磁盘数据。ddbs=64kif=/dev/zeroof=/dev/sdbddif=/dev/urandomof=/dev/sdb上述擦除数据的方法,对于虚拟机拥有较大容量的数据盘来说,将整个磁盘重写一遍,执行起来将会耗费大量的时间。针对相关技术中为了避免删除虚机磁盘文件被轻易地恢复,将虚拟机较大容量的整个磁盘重写一遍,将会耗费大量时间的问题,尚未提出解决方案。技术实现要素:本发明实施例提供了一种虚拟机删除方法及装置,以至少解决相关技术中为了避免删除虚机磁盘文件被轻易地恢复,将虚拟机较大容量的整个磁盘重写一遍,将会耗费大量时间的问题。根据本发明的一个实施例,提供了一种虚拟机删除方法,包括:接收删除虚拟机的删除请求;获取虚拟机的磁盘文件在共享存储设备上的存储路径;根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从所述共享存储设备上进行删除。可选地,根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据包括:接收正向擦写或反向擦写的选择指令;根据所述选择指令在所述计算节点上不连续的反复向所述虚拟机的磁盘上写入数据。可选地,在接收删除虚拟机的删除请求之前,所述方法还包括:接收设置删除虚拟机等级的设置指令,其中,不同的删除虚拟机等级包括不同的删除策略;根据所述设置指令设置所述删除虚拟机等级。可选地,所述删除策略包括以下至少之一:擦写密度、擦写间隔、擦写长度、擦写方向、擦写方式、擦写次数。可选地,所述数据为数据块大小不等的相同数、字符或随机数。根据本发明的又一个实施例,还提供了一种虚拟机删除装置,包括:第一接收模块,用于接收删除虚拟机的删除请求;获取模块,用于获取虚拟机的磁盘文件在共享存储设备上的存储路径;写入模块,用于根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;下发模块,用于根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从所述共享存储设备上进行删除。可选地,所述写入模块,还用于接收正向擦写或反向擦写的选择指令;根据所述选择指令在所述计算节点上不连续的反复向所述虚拟机的磁盘上写入数据。可选地,所述装置还包括:第二接收模块,用于接收设置删除虚拟机等级的设置指令,其中,不同的删除虚拟机等级包括不同的删除策略;设置模块,用于根据所述设置指令设置所述删除虚拟机等级。根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。通过本发明,接收删除虚拟机的删除请求;获取虚拟机的磁盘文件在共享存储设备上的存储路径;根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从共享存储设备上进行删除,通过不连续的反复擦写虚拟机磁盘中的数据,解决了相关技术中为了避免删除虚机磁盘文件被轻易地恢复,将虚拟机较大容量的整个磁盘重写一遍,将会耗费大量时间的问题,为了避免删除虚机磁盘文件被轻易地恢复的过程中,缩短了擦写的时间,提高了用户体验。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据相关技术中的访问流程的示意图;图2是根据相关技术中linux操作系统硬盘结构的示意图;图3是本发明实施例的虚拟机删除方法的移动终端的硬件结构框图;图4是根据本发明实施例的虚拟机删除方法的流程图;图5是根据本发明实施例的虚拟机删除装置的框图。具体实施方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。实施例1本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图3是本发明实施例的虚拟机删除方法的移动终端的硬件结构框图,如图3所示,移动终端10可以包括一个或两个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据传输方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者两个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。基于上述的移动终端,本发明实施例,提供了一种虚拟机删除方法,图4是根据本发明实施例的虚拟机删除方法的流程图,如图4所示,包括:步骤s402,接收删除虚拟机的删除请求;步骤s404,获取虚拟机的磁盘文件在共享存储设备上的存储路径;步骤s406,根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;步骤s408,根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从所述共享存储设备上进行删除。通过上述步骤,通过不连续的反复擦写虚拟机磁盘中的数据,解决了相关技术中为了避免删除虚机磁盘文件被轻易地恢复,将虚拟机较大容量的整个磁盘重写一遍,将会耗费大量时间的问题,为了避免删除虚机磁盘文件被轻易地恢复的过程中,缩短了擦写的时间,提高了用户体验。根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据的方式不只一种,可以正向擦写,也可以反向擦写,具体可以包括:接收正向擦写或反向擦写的选择指令;根据所述选择指令在所述计算节点上不连续的反复向所述虚拟机的磁盘上写入数据。可选地,在接收删除虚拟机的删除请求之前,接收设置删除虚拟机等级的设置指令,其中,不同的删除虚拟机等级包括不同的删除策略;根据所述设置指令设置所述删除虚拟机等级。所述删除策略包括以下至少之一:擦写密度、擦写间隔、擦写长度、擦写方向、擦写方式、擦写次数。可选地,所述数据为数据块大小不等的相同数、字符或随机数。本发明实施例在虚拟化管理节点向计算节点下发删除虚机指令前,先获取虚拟机磁盘文件在共享存储设备上的存储路径,然后在计算节点上不连续、跳跃式的反复向该虚机磁盘上写入数据块大小不等的全零、或随机数、字符串,并选择正向写、反向写。最后再将虚拟机磁盘文件从共享存储设备上进行删除。虚拟化平台安全删除虚拟机业务流程具体包括以下步骤:步骤1:使用系统管理员账号、密码登录资源管理门户,打开虚拟化基础配置菜单,配置是否安全删除虚拟机、并选择安全删除虚拟机等级:高、中、低。不同等级表示计算节点上程序向虚拟机磁盘文件跳跃式写数据时,覆盖写的间隔密度不同、数据块大小不同、次数不同。优先级越高覆盖写的间隔密度越小、数据块越大、次数越多。高等级的安全删除虚拟机优点是数据销毁的更彻底、数据恢复的成功率极低。缺点是操作消耗的时间相对长。步骤2:打开虚拟化资源管理菜单,在资源视图中选择关闭状态的虚拟机,右键菜单中点击“删除”。资源管理门户向vmc虚拟化管理中心(virtualmanagementcenter)发起删除虚拟机的请求。步骤3:vmc在收到前台门户发起的删除虚拟机请求后,根据配置选择安全删除虚拟机。首先在数据库中查询出待删除的虚拟机包含有哪些磁盘、磁盘大小,以及磁盘所在存储库的存放路径。步骤4:在计算节点(虚拟机中的存储)上不连续、跳跃式的反复向该虚机磁盘上写入数据块大小不等的全零、或随机数,并选择正向、反向擦写。擦写虚拟机磁盘数据的策略包括:擦写密度:根据虚拟机磁盘大小的不同,可以设置不同的擦写密度。例如10gb大小的磁盘选取10个擦写点,100gb大小的磁盘选取100个擦写点。擦写间隔:采用多种方法设置擦写间隔。在虚拟机磁盘上选取的擦写点,点与点之间等距间隔,按质数序列间隔,按随机数序列间隔。擦写长度:设置每次擦写时使用的数据块大小。如512kb、1mb、2mb。擦写方向:正向擦写,反向擦写。擦写方式:采用全零、八位字符、或者随机数进行覆盖写。擦写次数:优先级越高次数越多。优先级:高、中、低。将不同的策略进行排列组合。例如,将待删除虚拟机的磁盘大小以xgb为单位分隔成若干区域,区域长度等间距。区域1(0~xgb)、区域2(x~2xgb)、区域3(2x~3xgb)...区域n,以此类推。vmc虚拟化管理中心向某个计算节点主机下发badblock命令,采用长度256kb的随机数模式破坏擦写虚拟机磁盘原始数据。badblocks-w-b256kb-p重复次数-trandom虚拟机磁盘全路径开始block结block。开始、结束block在区域n范围内。对于虚拟机拥有较大容量的数据盘来说,通过此方法进行擦写销毁数据,比起单纯将整个磁盘重写一遍,节约了50%~80%的时间。而且极大的增加了第三方恢复软件的数据恢复难度。即便使用昂贵的硬件探测器也很难将数据完整的恢复。步骤5:完成擦写虚拟机磁盘文件后,vmc虚拟化管理中心再向计算节点主机下发删除虚拟机的相关指令。计算节点将虚拟机的磁盘文件从共享存储设备上删除。至此完成了安全删除虚拟机的全部过程。实施例2根据本发明的又一个实施例,还提供了一种虚拟机删除装置,图5是根据本发明实施例的虚拟机删除装置的框图,如图5所示,包括:第一接收模块52,用于接收删除虚拟机的删除请求;获取模块54,用于获取虚拟机的磁盘文件在共享存储设备上的存储路径;写入模块56,用于根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;下发模块58,用于根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从所述共享存储设备上进行删除。可选地,所述写入模块56,还用于接收正向擦写或反向擦写的选择指令;根据所述选择指令在所述计算节点上不连续的反复向所述虚拟机的磁盘上写入数据。可选地,所述装置还包括:第二接收模块,用于接收设置删除虚拟机等级的设置指令,其中,不同的删除虚拟机等级包括不同的删除策略;设置模块,用于根据所述设置指令设置所述删除虚拟机等级。实施例3本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:s11,接收删除虚拟机的删除请求;s12,获取虚拟机的磁盘文件在共享存储设备上的存储路径;s13,根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;s14,根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从所述共享存储设备上进行删除。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。实施例4本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。可选地,在本实施例中,上述程序用于执行以下步骤:s21,接收删除虚拟机的删除请求;s22,获取虚拟机的磁盘文件在共享存储设备上的存储路径;s23,根据预先设置的删除虚拟机等级在计算节点上不连续的反复向所述虚拟机的磁盘上写入数据;s24,根据所述删除请求向所述计算节点下发删除虚拟机的删除指令,其中,所述删除指令用于所述计算节点将所述虚拟机的磁盘文件从所述共享存储设备上进行删除。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在两个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的两个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1