数据清零方法及装置、云系统、电子设备、存储介质与流程

文档序号:32911906发布日期:2023-01-13 04:31阅读:42来源:国知局
数据清零方法及装置、云系统、电子设备、存储介质与流程

1.本发明是关于数据处理领域,特别是关于一种虚拟机数据盘的数据清零方法及装置、云系统、电子设备、存储介质。


背景技术:

2.在云系统中虚拟机删除后,通常会保留该删除的虚拟机上挂载的数据盘,该保留的数据盘可挂载给其他虚拟机继续使用。
3.然而,该保留的数据盘中的历史数据,存在被恢复软件恢复的风险,可能导致用户数据的泄露。
4.因此,针对上述技术问题,有必要提供一种虚拟机数据盘的数据清零方法及装置。


技术实现要素:

5.本发明的目的在于提供一种虚拟机数据盘的数据清零方法及装置、云系统、电子设备、存储介质,其能够在删除虚拟机的过程中,对保留的数据盘执行清零操作,以降低保留的数据盘中的历史数据被恢复软件恢复的风险。
6.为实现上述目的,本发明提供的技术方案如下:
7.第一方面,本发明提供了一种虚拟机数据盘的数据清零方法,其包括:
8.卸载用户虚拟机上挂载的数据盘;将所述数据盘挂载到清零虚拟机上,其中,所述清零虚拟机上部署有清零服务;调用所述清零服务对所述数据盘执行数据清零操作。
9.在一个或多个实施方式中,所述虚拟机数据盘的数据清零方法还包括:在云系统的计算节点中部署清零虚拟机,其中,每个所述计算节点中仅部署一台清零虚拟机。
10.在一个或多个实施方式中,各所述计算节点中的所述清零虚拟机之间具有反亲和性。
11.在一个或多个实施方式中,所述虚拟机数据盘的数据清零方法还包括:云系统响应于用户发起的删除用户虚拟机的删除请求,校验是否满足清零条件;其中,所述清零条件包括环境具有清零配置、用户虚拟机具有数据盘、用户虚拟机无快照、存储方式为san存储、用户虚拟机所在计算节点中的清零虚拟机为空闲状态。
12.在一个或多个实施方式中,所述卸载用户虚拟机上挂载的数据盘,包括:当所述删除请求满足所述预设条件时,卸载所述用户虚拟机上挂载的数据盘。
13.在一个或多个实施方式中,所述虚拟机数据盘的数据清零方法还包括:轮询所述数据盘的数据清零结果,以确定所述数据盘是否清零成功;当所述数据盘清零成功,将所述数据盘从所述清零虚拟机上卸载,并删除所述用户虚拟机。
14.在一个或多个实施方式中,所述虚拟机数据盘的数据清零方法还包括:当所述数据盘清零失败,将所述数据盘从所述清零虚拟机上卸载,并将所述数据盘挂载到所述用户虚拟机上。
15.第二方面,本发明提供了一种虚拟机数据盘的数据清零装置,其包括:卸载模块、
挂载模块、清零模块;卸载模块用于卸载用户虚拟机上挂载的数据盘;挂载模块用于将所述数据盘挂载到清零虚拟机上,所述清零虚拟机上部署有清零服务;清零模块用于调用所述清零服务对所述数据盘执行数据清零操作。
16.第三方面,本发明提供了一种云系统,其包括:计算节点、卸载模块、挂载模块和清零模块;计算节点所述计算节点包括用户虚拟机和清零虚拟机,所述清零虚拟机上部署有清零服务;卸载模块用于卸载用户虚拟机上挂载的数据盘;挂载模块用于将所述数据盘挂载到清零虚拟机上,所述清零虚拟机上部署有清零服务;清零模块用于调用所述清零服务对所述数据盘执行数据清零操作。
17.第四方面,本发明提供了一种电子设备,包括存储器、处理器、以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前所述的虚拟机数据盘的数据清零方法。
18.第五方面,本发明提供了一种计算机存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前所述的虚拟机数据盘的数据清零方法。
19.与现有技术相比,本发明提供的虚拟机数据盘的数据清零方法及装置,可在用户删除用户虚拟机时,通过清零虚拟机对用户虚拟机的数据盘进行数据清零,完成数据清零后的数据盘可避免使用数据恢复软件恢复用户的历史数据,能够给用户数据提供更安全可靠的保护。
附图说明
20.图1是本发明一实施方式中虚拟机数据盘的数据清零方法的流程图;
21.图2是本发明一实施方式中虚拟机数据盘的数据清零装置的结构框图;
22.图3是本发明一实施方式中云系统的结构示意图;
23.图4是本发明一实施方式中电子设备的结构示意图。
具体实施方式
24.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
25.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
26.为了方便理解本技术的技术方案,下面首先对本发明中可能出现的技术术语进行详细解释。
27.虚拟机(virtual machine,vm):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的cmos、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
28.清零服务:能够实现数据写零的清零操作,可将数据盘中的数据全部写零,以彻底
清除数据盘中的数据。
29.计算节点:指运行有例如kvm、xen等虚拟化管理软件的物理服务器,其通过运行一个或多个虚拟机实例提供弹性的计算资源。每个计算节点中可部署多个虚拟机。
30.高可用性(highly available,ha):是一种让服务中断尽可能少的技术,其将多台主机组建成一个故障转移集群(cluster),以使运行在集群上的服务或虚拟机不会因为单台主机的故障而停止。
31.在云服务场景中,云系统的计算节点中运行很多承载业务系统的虚拟机,有时用户会根据需要进行虚拟机删除操作,虚拟机删除后释放出来的数据盘等资源,可提供给其他虚拟机使用。本发明提供的虚拟机数据盘的数据清零方法,可对虚拟机删除后释放出来的数据盘进行清零操作,降低用户数据被恢复软件恢复的风险,为给用户数据提供更安全可靠的保护。
32.请参照图1所示,本发明一实施方式中的虚拟机数据盘的数据清零方法,其包括以下步骤:
33.s101:在云系统的计算节点中部署清零虚拟机。
34.具体地,每个所述计算节点中仅部署一台清零虚拟机,并且各所述计算节点中的所述清零虚拟机之间具有反亲和性。清零虚拟机之间采用反亲和策略,可使清零虚拟机部署在不同的计算节点中,以避免某计算节点或某计算节点中的清零虚拟机发生故障时,根据集群高可用性策略将宕机的清零虚拟机在其他可用的计算节点上重启,导致一个计算节点中出现多台清零虚拟机。
35.例如,一云系统中包括计算节点a和计算节点b,计算节点a中部署有清零虚拟机a,计算节点b中部署有清零虚拟机b。如果清零虚拟机a和清零虚拟机b之间未采用反亲和策略,那么在计算节点a发生故障宕机时,根据集群高可用性策略,计算节点a中的清零虚拟机a会在清零虚拟机b上重启,这将导致计算节点b中出现两台清零虚拟机,从而影响后续数据盘的清零操作。
36.而清零虚拟机之间采用反亲和策略后,在计算节点a宕机时,清零虚拟机a不会在计算节点b上重启,以避免同一计算节点内出现多台清零虚拟机。即,每个计算节点中始终只有一台清零虚拟机,在某个计算节点发生故障时,仅影响该发生故障的计算节点所对应的一台清零虚拟机,而不会影响其他计算节点对应的清零虚拟机。
37.具体地,在清零虚拟机上部署有清零服务,该清零服务可负责数据盘的数据清零操作,并提供rest(resource representational state transfer)api接口。其中,通过rest api接口可实现云管理平台对清零虚拟机的调用。
38.在本实施方式中,通过将清零服务部署在清零虚拟机上,由清零虚拟机来执行其所在计算节点内用户虚拟机(客户所使用的虚拟机)的数据盘数据清零操作,以避免在用户虚拟机上部署清零服务部,可提高用户的数据安全体验。
39.s102:云系统响应于用户发起的删除用户虚拟机的删除请求,校验是否满足清零条件。
40.具体地,所述清零条件包括环境具有清零配置、用户虚拟机具有数据盘、用户虚拟机无快照、存储方式为san存储、用户虚拟机所在计算节点中的清零虚拟机为空闲状态。
41.需要说明的是,环境具有清零配置是指,待删除的用户虚拟机所在的计算节点中,
具有清零虚拟机,且清零虚拟机上部署有清零服务。如果环境缺少相关的清零配置,将无法正常执行后续数据清零操作。
42.由于本实施方式中,后续数据清零操作的对象为用户虚拟机的数据盘中的数据,因此用户虚拟机必须具有数据盘,否则将无法正常执行后续数据清零操作。
43.由于本实施方式中,后续的数据清零操作的目的,是为了避免恢复用户虚拟机数据盘中的历史数据,而根据快照能够进行数据备份与恢复。因此,执行后续数据清零操作前需确保用户虚拟机无快照。
44.由于本实施方式中,清零虚拟机的配置方式为每个计算节点配置一台清零虚拟机,每个计算节点中的清零虚拟机只能挂载该计算节点中的数据盘,而无法挂载其他计算节点的数据盘,因此存储方式需采用san(storage area network,存储区域网络)存储。
45.当待删除的用户虚拟机所在计算节点中的清零虚拟机为非空闲状态(清零状态)时,说明清零虚拟机正在执行对其他虚拟机数据盘的数据清零操作,此时无法执行对用户虚拟机数据盘的数据清零操作。因此,需要等待清零虚拟机完成当前的数据清零任务,进入空闲状态后,才可进一步执行对用户虚拟机数据盘的数据清零操作。
46.在本实施方式中,删除用户虚拟机的删除请求可以是批量删除用户虚拟机,也可以是非批量删除用户虚拟机。当删除请求为批量删除用户虚拟机时,需按顺序逐一对各个用户虚拟机的数据盘执行后续的数据清零操作。
47.s103:卸载用户虚拟机上挂载的数据盘。
48.需要说明的是,由于后续的数据清零操作是通过清零虚拟机来实现的,在经过步骤s102中的删除请求校验后,当所述删除请求满足所述预设条件时,首先需要将用户虚拟机上挂载的数据盘卸载,以便后续将卸载的数据盘挂载到清零虚拟机上。
49.具体地,卸载用户虚拟机上挂载的数据盘的方式包括:首先关闭用户虚拟机,再将用户虚拟机及用户虚拟机上挂载的数据盘的状态均修改为清零中,然后卸载用户虚拟机上挂载的数据盘。
50.s104:将所述数据盘挂载到清零虚拟机上。
51.在步骤s103中卸载用户虚拟机上的数据盘,均挂载到该用户虚拟机所在计算节点中的清零虚拟机上。
52.s105:调用所述清零服务对所述数据盘执行数据清零操作。
53.需要说明的是,清零虚拟机对挂载于其上的数据盘所执行数据清零操作,是指对数据盘中的数据进行写零,从而可擦除数据盘中的历史数据。当然,为有效擦除数据盘中的历史数据,可在数据清零操作过程中,对数据盘进行多次写零,以进一步降低数据恢复软件恢复数据盘中的历史数据的风险。
54.一示例性的实施例中,在数据盘的数据清零过程中,可轮询所述数据盘的数据清零结果,以确定所述数据盘是否清零成功。具体的轮询规则可根据实际需要进行设定,例如,可以每隔30秒询问一次数据清零结果,也可以每隔1分钟询问一次数据清零结果。
55.具体地,当所述数据盘清零成功,将所述数据盘从所述清零虚拟机上卸载,并删除所述用户虚拟机。即,完成对用户虚拟机数据盘的清零和对用户虚拟机的删除,完成清零的数据盘可挂载到其他虚拟机上继续使用。
56.具体地,当所述数据盘清零失败,将所述数据盘从所述清零虚拟机上卸载,并将所
述数据盘挂载到所述用户虚拟机上。当数据盘清零失败时,可将数据盘重新挂载到其对应的用户虚拟机上,并将用户虚拟机和数据盘的清零状态重新修改为初始状态,即虚拟机由清零状态修改为关机状态,数据盘由清零状态修改为挂载状态,以等待下一次清零。
57.本实施方式提供的虚拟机数据盘的数据清零方法,可在用户删除用户虚拟机时,通过清零虚拟机对用户虚拟机的数据盘进行数据清零,完成数据清零后的数据盘可避免使用数据恢复软件恢复用户的历史数据,能够给用户数据提供更安全可靠的保护。
58.请参照图2所示,基于与前述虚拟机数据盘的数据清零方法相同的发明构思,本发明一实施方式中提供了一种虚拟机数据盘的数据清零装置200,该数据清零装置200包括卸载模块201、挂载模块202和清零模块203。
59.卸载模块201用于卸载用户虚拟机上挂载的数据盘。挂载模块202用于将所述数据盘挂载到清零虚拟机上,其中,清零虚拟机上部署有清零服务。清零模块203用于调用所述清零服务对所述数据盘执行数据清零操作。
60.具体地,虚拟机数据盘的数据清零装置200还包括校验模块204,校验模块204用于响应于用户发起的删除用户虚拟机的删除请求,校验是否满足清零条件。其中,所述清零条件包括环境具有清零配置、用户虚拟机具有数据盘、用户虚拟机无快照、存储方式为san存储、用户虚拟机所在计算节点中的清零虚拟机为空闲状态。
61.请参照图3所示,本发明一实施方式中提供了一种云系统300,其可用于实现本发明的虚拟机数据盘的数据清零方法。该云系统300包括云管理平台310和多个计算节点320。
62.其中,每个计算节点320中可部署多台用户虚拟机321,且每个计算节点320中仅部署一台清零虚拟机322,并且各计算节点320中的清零虚拟机322之间具有反亲和性。
63.每个计算节点320中的清零虚拟机322上均部署有清零服务,该清零服务可负责数据盘的数据清零操作,并提供rest(resource representational state transfer)api接口。其中,通过rest api接口可实现云管理平台310对清零虚拟机322的调用。
64.云管理平台310包括卸载模块、挂载模块、清零模块和校验模块。卸载模块用于卸载用户虚拟机321上挂载的数据盘。挂载模块312用于将所述数据盘挂载到清零虚拟机322上。清零模块用于调用清零虚拟机322上的清零服务对所述数据盘执行数据清零操作。校验模块用于响应于用户发起的删除用户虚拟机321的删除请求,校验是否满足清零条件。其中,所述清零条件包括环境具有清零配置、用户虚拟机具有数据盘、用户虚拟机无快照、存储方式为san存储、用户虚拟机所在计算节点中的清零虚拟机为空闲状态。
65.下面结合图3所示的云系统300,对本发明提供的虚拟机数据盘的数据清零方法作进一步说明。
66.云系统300的云管理平台310接收用户发起的删除用户虚拟机321的删除请求后,校验模块校验该是否满足清零条件。当满足清零条件时,关闭待删除的用户虚拟机321,将用户虚拟机321及用户虚拟机321上挂载的数据盘的状态均修改为清零中,再通过卸载模块卸载用户虚拟机321上挂载的数据盘,然后通过挂载模块将数据盘挂载到清零虚拟机322上。完成数据盘的挂机后,通过清零模块调用清零虚拟机322上的清零服务对所述数据盘执行数据清零操作。
67.在数据清零过程中,轮询数据清零结果。当数据清零成功后,删除用户虚拟机321,并通过卸载模块将清零虚拟机322上完成数据清零的数据盘卸载。当数据清零失败时,通过
卸载模块将清零虚拟机322上的数据盘卸载,并通过挂载模块重新将数据盘挂载到用户虚拟机321上,并将用户虚拟机321修改为关机状态,将数据盘修改为挂载状态,以等待下一次清零。
68.请参照图4所示,本发明实施例还提供了一种电子设备400,该电子设备400包括至少一个处理器401、存储器402(例如非易失性存储器)、内存403和通信接口404,并且至少一个处理器401、存储器402、内存403和通信接口404经由总线405连接在一起。至少一个处理器401用于调用在存储器402中存储或编码的至少一个程序指令,以使得至少一个处理器401执行本说明书的各个实施方式中所描述的容器创建方法的各种操作和功能。
69.在本说明书的实施例中,电子设备400可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
70.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机执行指令,所述计算机执行指令被处理器执行时,用于实现本说明书的各个实施例中所描述的容器创建方法的各种操作和功能。
71.所述计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd)等。
72.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
73.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
74.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1