一种生成虚拟机的逻辑磁盘的方法,及装置制造方法

文档序号:6624891阅读:289来源:国知局
一种生成虚拟机的逻辑磁盘的方法,及装置制造方法
【专利摘要】本发明实施例公开了一种生成虚拟机的逻辑磁盘的方法,及装置,以方法的实现为例包括:根据虚拟机创建请求,获取n个存储块,所述n为大于1的自然数,所述存储块由物理磁盘分块得到;将所述n个存储块进行随机排序,并按照随机排序的结果,将所述n个存储块组成虚拟机的逻辑磁盘。通过获取n个存储块,并对n个存储块进行随机排序,使n个存储块的顺序混乱;并按照随机排序的而结果,将n个存储块组成虚拟机的磁盘■’从而降低两次生成的逻辑磁盘相同的可能性,保证用户数据的安全性。
【专利说明】一种生成虚拟机的逻辑磁盘的方法,及装置

【技术领域】
[0001] 本发明涉及存储【技术领域】,特别涉及一种生成虚拟机的逻辑磁盘的方法,及装置。

【背景技术】
[0002] 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在 个完全隔尚环境中的完整计算机系统。
[0003] 通过虚拟机软件,可以在一台物理计算机上模拟出另一台或多台虚拟的计算机 (也可以模拟其他任意实体设备,简称为虚拟机),这些虚拟机完全就像真正的计算机那样 进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。对于用户而言,虚拟 机只是运行在物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言, 它就是一台真正计算机。因此,在虚拟机中进行软件评测时,可能系统一样会崩溃;但是, 崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的 "Undo"(恢复)功能,可以马上恢复虚拟机到安装软件之前的状态。
[0004] 虚拟机在很多领域得到了广泛的应用,例如在FusionSphere (华为云操作系统) 虚拟化项目中就有广泛应用。在实体设备中会有被划分给虚拟机使用的物理存储空间,划 分给虚拟机使用的物理存储空间就是虚拟机的逻辑磁盘。在虚拟机被创建以后,可能需要 删除并释放其逻辑磁盘的存储空间,被释放的存储空间可能被再次创建为虚拟机的逻辑磁 盘。
[0005] 目前为了保证用户数据的安全性,在用户删除虚拟机的同时需要全盘格式化磁盘 (安全删除),或者格式化磁盘的前10M空间(普通删除),防止下一次使用磁盘创建虚拟机 时看到前面用户数据。然而,格式化磁盘会降低磁盘寿命、数据处理量大,并且数据处理时 间长。


【发明内容】

[0006] 本发明实施例提供了一种生成虚拟机的逻辑磁盘的方法,及装置,用于提供另一 种保证用户数据安全性的方案。
[0007] -方面本发明实施例提供了一种生成虚拟机的逻辑磁盘的方法,包括:
[0008] 根据虚拟机创建请求,获取η个存储块,所述η为大于1的自然数,所述存储块由 物理磁盘分块得到;
[0009] 将所述η个存储块进行随机排序,并按照随机排序的结果,将所述η个存储块组成 虚拟机的逻辑磁盘。
[0010] 结合一方面的实现方式,在第一种可能的实现方式中,在将所述η个存储块进行 随机排序之前还包括:
[0011] 获得所述η个存储块的η个序列号,每个存储块的序列号代表其在所述物理磁盘 的地址顺序;
[0012] 所述将所述η个存储块进行随机排序,并按照随机排序的结果,将所述η个存储块 组成虚拟机的逻辑磁盘包括:
[0013] 将所述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序列;
[0014] 根据所述逻辑磁盘序列所指示的顺序,将所述η个存储块组成虚拟机的逻辑磁 盘。
[0015] 结合一方面的第一种可能实现方式,在第二种可能的实现方式中,所述方法,还包 括:
[0016] 记录所述逻辑磁盘序列与虚拟机的对应关系;
[0017] 在接收到删除所述虚拟机的指令后,删除所述虚拟机,并释放所述η个存储块。
[0018] 结合一方面的第二种可能实现方式,在第三种可能的实现方式中,在释放所述η 个存储块之后还包括:
[0019] 在接收到恢复所述虚拟机的恢复指令后,根据记录的所述逻辑磁盘序列恢复所述 虚拟机的逻辑磁盘。
[0020] 结合一方面的第二种可能实现方式,在第三种可能的实现方式中,所述根据记录 的所述逻辑磁盘序列恢复所述虚拟机的逻辑磁盘包括:
[0021] 根据记录的逻辑磁盘序列与虚拟机的对应关系,确定所述恢复指令指定的所述虚 拟机对应的所述逻辑磁盘序列;
[0022] 按照所述逻辑磁盘序列指示的所述η个存储块的顺序,将所述η个存储块重新组 合成所述虚拟机的逻辑磁盘。
[0023] 结合一方面的第一种可能实现方式,在第四种可能的实现方式中,所述将所述η 个存储块的η个序列号进行随机排序,生成逻辑磁盘序列,包括:
[0024] 根据预定的随机算法对所述序列号进行排序,生成所述逻辑磁盘序列;所述逻辑 磁盘序列对应的所述η个存储块的顺序,与所述η个存储块在所述物理磁盘中的顺序不同。
[0025] 结合一方面的第一种可能实现方式,在第五种可能的实现方式中,在所述从逻辑 存储单元中获取η个存储块之前还包括:
[0026] 将所述物理磁盘划分为m个存储块,所述m为大于或等于所述η的自然数;
[0027] 所述获得所述η个存储块的η个序列号包括:
[0028] 获得所述η个存储块的地址信息。
[0029] 二方面本发明实施例还提供了一种生成虚拟机的逻辑磁盘的装置,包括:
[0030] 存储块获取单元,用于根据虚拟机创建请求,获取η个存储块,所述η为大于1的 自然数,所述存储块由物理磁盘分块得到;
[0031] 排序单元,用于将所述存储块获取单元获取的所述η个存储块进行随机排序;
[0032] 磁盘生成单元,用于按照所述排序单元随机排序的结果,将所述η个存储块组成 虚拟机的逻辑磁盘。
[0033] 结合二方面的实现方式,在第一种可能的实现方式中,所述装置还包括:
[0034] 序列号获取单元,用于在所述排序单元将所述η个存储块进行随机排序之前,获 得所述η个存储块的η个序列号,每个存储块的序列号代表其在所述物理磁盘的地址顺 序;
[0035] 所述排序单元,用于将所述η个存储块的η个序列号进行随机排序,生成逻辑磁盘 序列;
[0036] 所述磁盘生成单元,用于根据所述排序单元生成的所述逻辑磁盘序列所指示的顺 序,将所述η个存储块组成虚拟机的逻辑磁盘。
[0037] 结合二方面的第一种可能实现方式,在第二种可能的实现方式中,所述装置还包 括:
[0038] 记录单元,用于记录所述逻辑磁盘序列与虚拟机的对应关系;
[0039] 回收控制单元,用于在接收到删除所述虚拟机的指令后,删除所述虚拟机,并释放 所述η个存储块。
[0040] 结合二方面的第二种可能实现方式,在第三种可能的实现方式中,所述磁盘生成 单元,还用于在所述回收控制单元释放所述η个存储块之后,在接收到恢复所述虚拟机的 恢复指令后,根据所述记录单元记录的所述逻辑磁盘序列恢复所述虚拟机的逻辑磁盘。
[0041] 结合二方面的第二种可能实现方式,在第三种可能的实现方式中,所述磁盘生成 单元,用于根据所述记录单元记录的逻辑磁盘序列与虚拟机的对应关系,确定所述恢复指 令指定的所述虚拟机对应的所述逻辑磁盘序列;按照所述逻辑磁盘序列指示的所述η个存 储块的顺序,将所述η个存储块重新组合成所述虚拟机的逻辑磁盘。
[0042] 结合二方面的第一种可能实现方式,在第四种可能的实现方式中,所述排序单元, 用于根据预定的随机算法对所述序列号进行排序,生成所述逻辑磁盘序列;所述逻辑磁盘 序列对应的所述η个存储块的顺序,与所述η个存储块在所述物理磁盘中的顺序不同。 [0043] 结合二方面的第一种可能实现方式,在第五种可能的实现方式中,所述装置还包 括:
[0044] 磁盘划分单元,用于在所述存储块获取单元从逻辑存储单元中获取η个存储块之 前,将所述物理磁盘划分为m个存储块,所述m为大于或等于所述η的自然数;
[0045] 所述序列号获取单元,用于获得所述η个存储块的地址信息。
[0046] 三方面本发明实施例还提供了一种生成虚拟机的逻辑磁盘的装置,包括:接收器、 发射器、处理器以及存储器;
[0047] 所述处理器,用于根据虚拟机创建请求,获取η个存储块,上述η为大于1的自然 数,上述存储块由物理磁盘分块得到;将上述η个存储块进行随机排序,并按照随机排序的 结果,将上述η个存储块组成虚拟机的逻辑磁盘。
[0048] 从以上技术方案可以看出,本发明实施例具有以下优点:通过获取η个存储块,并 对η个存储块进行随机排序,使η个存储块的顺序混乱;并按照随机排序的而结果,将η个 存储块组成虚拟机的磁盘;从而降低两次生成的逻辑磁盘相同的可能性,保证用户数据的 安全性。

【专利附图】

【附图说明】
[0049] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0050] 图1为本发明实施例方法流程示意图;
[0051] 图2为本发明实施例逻辑磁盘分配结构示意图;
[0052] 图3为本发明实施例逻辑磁盘序列结构示意图;
[0053] 图4为本发明实施例逻辑磁盘与实际磁盘的映射关系结构示意图;
[0054] 图5为本发明实施例用户盘与物理磁盘对应关系结构示意图;
[0055] 图6为本发明实施例装置结构示意图;
[0056] 图7为本发明实施例装置结构示意图;
[0057] 图8为本发明实施例装置结构示意图;
[0058] 图9为本发明实施例装置结构示意图;
[0059] 图10为本发明实施例装置结构示意图。

【具体实施方式】
[0060] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0061] 本发明实施例提供了一种生成虚拟机的逻辑磁盘的方法,如图1所示,包括:
[0062] 101 :根据虚拟机创建请求,获取η个存储块,上述η为大于1的自然数,上述存储 块由物理磁盘分块得到;
[0063] 在本发明实施例中虚拟机创建请求是生成虚拟机的逻辑磁盘的触发条件,在虚拟 机创建请求中可以包含有虚拟机创建的需求性信息,例如虚拟机的逻辑磁盘的大小需求, 这将决定需要获取的存储块的数量,即η的取值。另外,为了保证不出现数据冲突的情况, 在本实施例中,获取的η个存储块应均为空闲的存储块。
[0064] 102 :将上述η个存储块进行随机排序,并按照随机排序的结果,将上述η个存储块 组成虚拟机的逻辑磁盘。
[0065] 在本实施例中,对η个存储块进行随机排序的方式,可以参考任意的随机排序算 法实现;在随机排序以后,将会有一个随机排序的结果,即:随机排序以后η个存储块在逻 辑磁盘中的顺序。
[0066] 本实施例,通过获取η个存储块,并对η个存储块进行随机排序,使η个存储块的 顺序混乱;并按照随机排序的而结果,将η个存储块组成虚拟机的磁盘;从而降低两次生成 的逻辑磁盘相同的可能性,保证用户数据的安全性。另外,本发明实施例保证用户数据的安 全性,不通过对磁盘进行格式化实现,因此可以避免因需要格式磁盘化带来的磁盘寿命低、 数据处理量大、并且数据处理时间长的问题。
[0067] 进一步地,本发明实施例还提供了进行随机排序的具体实现方式,如下:在将上述 η个存储块进行随机排序之前还包括:
[0068] 获得上述η个存储块的η个序列号,每个存储块的序列号代表其在上述物理磁盘 的地址顺序;
[0069] 上述将上述η个存储块进行随机排序,并按照随机排序的结果,将上述η个存储块 组成虚拟机的逻辑磁盘包括:
[0070] 将上述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序列;
[0071] 根据上述逻辑磁盘序列所指示的顺序,将上述η个存储块组成虚拟机的逻辑磁 盘。
[0072] 另外,本发明实施例还提供了存储块的管理方案,主要包含两个方案,一方面是存 储块的释放控制,另一方面是虚拟机的恢复控制,具体如下:
[0073] 其中,存储块的释放控制可以如下:记录上述逻辑磁盘序列与虚拟机的对应关系; 在接收到删除上述虚拟机的指令后,删除上述虚拟机,并释放上述η个存储块。
[0074] 在本发明实施例中,记录上述逻辑磁盘序列与虚拟机的对应关系可以直接采用记 录存储块序列号的方式来记录,即逻辑磁盘序列所指示的存储块的序列号的排序,记录存 储块序列号的方式可以是任意的能够持久保存的方式,例如将存储块序列号保存到文件系 统中,或者硬盘的指定存储区域等。在本发明实施例中,逻辑磁盘可以具有很多个存储块, 存储块的数量按照每个存储块的空间大小以及逻辑磁盘的空间需求来确定,存储块的数量 上限本发明实施例不作限定。存储块序列号标识逻辑磁盘中各存储块的顺序的可选实现方 案是比较多的,例如:每个存储块有一个识别标识,存储块序列号按照各存储块的顺序排列 识别标识;或者,按照各存储块的顺序将识别标识存放到链表中,或者,记录各存储块的起 止地址,然后按照各存储块在逻辑磁盘中的顺序记录这些起止地址;具体如何用存储块序 列号来标识逻辑磁盘中各存储块的顺序本发明实施例在此不作唯一性限定。
[0075] 虚拟机的恢复控制方案,具体如下:在释放上述η个存储块之后还包括:在接收 到恢复上述虚拟机的恢复指令后,根据记录的上述逻辑磁盘序列恢复上述虚拟机的逻辑磁 盘。
[0076] 更具体地,上述根据记录的上述逻辑磁盘序列恢复上述虚拟机的逻辑磁盘包括: 根据记录的逻辑磁盘序列与虚拟机的对应关系,确定上述恢复指令指定的上述虚拟机对应 的上述逻辑磁盘序列;
[0077] 按照上述逻辑磁盘序列指示的上述η个存储块的顺序,将上述η个存储块重新组 合成上述虚拟机的逻辑磁盘。
[0078] 另外,可以理解的是,如果上述逻辑磁盘对应的存储块在被释放以后,分配给了其 他虚拟机使用,那么即使记录了存储块序列号,恢复逻辑磁盘仍然会失败,因为存储块序列 号对应的存储块已经被其他虚拟机使用,存储块内的数据则极可能已经被覆盖,而无法恢 复。在本发明实施例执行恢复逻辑磁盘之前,还可以确定上述η个存储块的序列号对应的 存储块是否被分配给其他虚拟机,若没有分配给其他虚拟机,则根据记录的上述逻辑磁盘 序列恢复上述虚拟机的逻辑磁盘;否则,响应恢复失败的信息。可以理解的是,即使分配给 其他虚拟机使用,也并不一定就发生了数据覆盖的情况,所以仍然可以恢复逻辑磁盘,至于 能否将逻辑磁盘内的数据完整恢复出来,则取决存储块是否发生过完全格式化或者数据覆 盖等情况。
[0079] 由于在组成逻辑磁盘的过程中,选择存储块有可能会选择到之前使用过的存储 块,如果本次组成逻辑磁盘正好需要的存储块与之前释放的存储块数量相同,那么是可能 将之前释放的存储块正好分配给本次创建的逻辑磁盘,那么这样就会存在一定的安全性风 险(新创建的逻辑磁盘可以恢复出删掉的逻辑磁盘的数据),针对此种情况,本发明实施例 提供了如下解决方案:进一步地,在记录虚拟机的逻辑磁盘的存储块序列号之前,上述方法 还包括:
[0080] 在创建上述虚拟机的过程中,获取η个存储块,然后将η个存储块组成虚拟机的逻 辑磁盘;其中,上述逻辑磁盘的存储块的序列号从空闲的存储块中随机获取。
[0081] 以上方案,由于逻辑磁盘的存储块的序列号是随机获取的,对应的存储块的顺序 也是随机的,这样即使本次创建的逻辑磁盘就是之前释放的某一逻辑磁盘的全部存储块, 那么也会因存储块的顺序被打乱而无法恢复出数据;因此可以提高数据的安全性。
[0082] 以上实施例中,导致"η个存储块的顺序混乱"这一结果的方式,至少可以有三种, 一种是随机选择空闲的存储块进行排列组合,另一种是选择存储块以后对选择的存储块进 行随机排列组合,还可以是随机选择空闲的存储块以后,再对选择的存储块进行随机排列 组合;因此,本发明实施例还提供了使"η个存储块的顺序混乱"的具体实现方案,如下:上 述将上述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序列,包括:根据预定的随 机算法对上述序列号进行排序,生成上述逻辑磁盘序列;上述逻辑磁盘序列对应的上述η 个存储块的顺序,与上述η个存储块在上述物理磁盘中的顺序不同。
[0083] 在本发明实施例中,存储块可以有识别号,这个识别号可以是编号也可以是地址 识别号,通常可以是在对物理存储空间进行分块时分配的,在整个物理存储空间范围内,存 储块的识别号具有唯一性;那么针对此种情况存储块序列号可以采用识别号排序的方式来 标识存储块在逻辑磁盘中的位置,并且存储块序列号还标识了逻辑磁盘有那些存储块。其 中,采用地址信息作为序列号的方案可以如下:在上述从逻辑存储单元中获取η个存储块 之前还包括:将上述物理磁盘划分为m个存储块,上述m为大于或等于上述η的自然数;上 述获得上述η个存储块的η个序列号包括:获得上述η个存储块的地址信息。
[0084] 以下实施例将给出一个具体的举例对本发明实施例进行进一步的说明,在以下举 例中存储块为具有LUN(logical unit number,逻辑单元号)的设备或者本地硬盘中划分的 逻辑存储空间。后续还给出了逻辑磁盘和单个存储块的大小说明,其中逻辑磁盘以虚拟机 的数据盘为例进行说明。以下举例均为示例性举例,不应理解为对本发明实施例的唯一性 限定。
[0085] 在本发明实施例中,虚拟机的数据盘可以为LUN设备或者本地硬盘中划分一块或 者几块区域后创建的一块逻辑设备。如下图2所示,LUN设备大小为10G,每一个矩形示意 为一个存储块,编号从〇?9,每个存储块大小为1G ;空闲的存储块采用小黑点填充,已经被 占用的存储块用白色填充(后续图3、4、5也采用这种方式表示)。其中,数据盘为LUN设备 0?1和3?5两段连续物理空间组成,数据盘的大小为5G,作为一个逻辑设备映射到虚拟 机供用户使用。
[0086] 当前磁盘的物理块空间划分后(LUN中的0?1和3?5物理块号),按照磁盘物 理块号的顺序生成逻辑磁盘序列(01345的数据盘,即存储块序列号为01345),当磁盘删除 后,其占用的空间被释放。
[0087] 在图2中的数据盘的存储空间释放后,如果新创建的数据盘包含释放存储空间或 者与释放存储空间大小一致,那么新数据盘的逻辑磁盘序列(即存储块序列号)与已删除 的数据盘的逻辑序列一致。这样会导致安全性问题(在新的数据盘可以恢复出原数据盘的 数据内容)。如果新创建的磁盘空间小于释放空间,例如只使用了 〇、1和3,则由于部分空 间不能完整构成一块磁盘,则不存在序列一致的场景。基于以上可能存在的安全性问题,本 发明实施例提出了如下解决方案,在实现数据盘恢复的基础上提高数据的安全性。
[0088] 一、在创建数据盘过程中:
[0089] 首先为数据盘分配空闲的物理的存储块,采用一种随机算法生成逻辑磁盘序列。
[0090] 如下图3所示:假设磁盘物理空间的存储块为0,1,3,4, 5 ;
[0091] 采用随机算法生成逻辑磁盘序列,则该磁盘的逻辑磁盘序列可能为:01345、 30541、10354、45310等等,即5个存储块的排列组合,两次逻辑磁盘序列相同的概率为: 1/120。在现网环境中,由于数据盘通常都在50G以上,两次逻辑磁盘序列相同的概率为10 的64次方分之一,因此可以认为两次逻辑磁盘序列相同的概率几乎为零。
[0092] 二、在生成逻辑磁盘的序列后,将磁盘序列以卷为单位存储到数据库中(例如图4 中的30541),然后可以下发创建虚拟机的数据盘的指令创建数据盘。
[0093] 在图4示意了虚拟机的数据盘与实际磁盘的映射关系,数据盘以30541的物理块 顺序作为用户盘使用。假定用户盘记录"GUEST"后,假定每个字母占用1G的空间,那么对 应关系图,如图5所7]^。
[0094] 三、在删除虚拟机的数据盘后,管理员如果想快速恢复磁盘,只需要根据数据库中 记录的逻辑磁盘序列重新生成该逻辑磁盘即可。
[0095]目前基于安全考虑,在用户删除虚拟机的同时通常会需要全盘格式化磁盘(安全 删除),或者格式化磁盘的前10M空间(普通删除),防止下一次使用磁盘时看到前面用户 数据。格式化磁盘会降低磁盘寿命,而且数据处理量和处理时间都很长;采用以上方案恢 复数据盘过程中,可以不必对磁盘进行格式化,而且生成数据盘过程中采用随机的方式防 止数据被其他数据盘所恢复,仍然能够保证数据的安全性。因此,可以在保证安全性的前提 下,提高磁盘寿命,减少数据处理量并节省处理时间。
[0096] 本发明实施例还提供了一种生成虚拟机的逻辑磁盘的装置,如图6所示,包括:
[0097] 存储块获取单元601,用于根据虚拟机创建请求,获取η个存储块,上述η为大于1 的自然数,上述存储块由物理磁盘分块得到;
[0098] 排序单元602,用于将上述存储块获取单元601获取的上述η个存储块进行随机排 序;
[0099] 磁盘生成单元603,用于按照上述排序单元602随机排序的结果,将上述η个存储 块组成虚拟机的逻辑磁盘。
[0100] 在本发明实施例中虚拟机创建请求是生成虚拟机的逻辑磁盘的触发条件,在虚拟 机创建请求中可以包含有虚拟机创建的需求性信息,例如虚拟机的逻辑磁盘的大小需求, 这将决定需要获取的存储块的数量,即η的取值。另外,为了保证不出现数据冲突的情况, 在本实施例中,获取的η个存储块应均为空闲的存储块。
[0101] 在本实施例中,对η个存储块进行随机排序的方式,可以参考任意的随机排序算 法实现;在随机排序以后,将会有一个随机排序的结果,即:随机排序以后η个存储块在逻 辑磁盘中的顺序。
[0102] 本实施例,通过获取η个存储块,并对η个存储块进行随机排序,使η个存储块的 顺序混乱;并按照随机排序的而结果,将η个存储块组成虚拟机的磁盘;从而降低两次生成 的逻辑磁盘相同的可能性,保证用户数据的安全性。另外,本发明实施例保证用户数据的安 全性,不通过对磁盘进行格式化实现,因此可以避免因需要格式磁盘化带来的磁盘寿命低、 数据处理量大、并且数据处理时间长的问题。
[0103] 进一步地,本发明实施例还提供了进行随机排序的具体实现方式,如下:如图7所 示,上述装置还包括:
[0104] 序列号获取单元701,用于在上述排序单元602将上述η个存储块进行随机排序之 前,获得上述η个存储块的η个序列号,每个存储块的序列号代表其在上述物理磁盘的地址 顺序;
[0105] 上述排序单元602,用于将上述η个存储块的η个序列号进行随机排序,生成逻辑 磁盘序列;
[0106] 上述磁盘生成单元603,用于根据上述排序单元602生成的上述逻辑磁盘序列所 指示的顺序,将上述η个存储块组成虚拟机的逻辑磁盘。
[0107] 另外,本发明实施例还提供了存储块的管理方案,主要包含两个方案,一方面是存 储块的释放控制,另一方面是虚拟机的恢复控制,具体如下:
[0108] 其中,存储块的释放控制可以如下:进一步地,如图8所示,上述装置还包括:
[0109] 记录单元801,用于记录上述逻辑磁盘序列与虚拟机的对应关系;
[0110] 回收控制单元802,用于在接收到删除上述虚拟机的指令后,删除上述虚拟机,并 释放上述η个存储块。
[0111] 在本发明实施例中,记录上述逻辑磁盘序列与虚拟机的对应关系可以直接采用记 录存储块序列号的方式来记录,即逻辑磁盘序列所指示的存储块的序列号的排序,记录存 储块序列号的方式可以是任意的能够持久保存的方式,例如将存储块序列号保存到文件系 统中,或者硬盘的指定存储区域等。在本发明实施例中,逻辑磁盘可以具有很多个存储块, 存储块的数量按照每个存储块的空间大小以及逻辑磁盘的空间需求来确定,存储块的数量 上限本发明实施例不作限定。存储块序列号标识逻辑磁盘中各存储块的顺序的可选实现方 案是比较多的,例如:每个存储块有一个识别标识,存储块序列号按照各存储块的顺序排列 识别标识;或者,按照各存储块的顺序将识别标识存放到链表中,或者,记录各存储块的起 止地址,然后按照各存储块在逻辑磁盘中的顺序记录这些起止地址;具体如何用存储块序 列号来标识逻辑磁盘中各存储块的顺序本发明实施例在此不作唯一性限定。
[0112] 虚拟机的恢复控制方案,具体如下:进一步地,上述磁盘生成单元603,还用于在 上述回收控制单元802释放上述η个存储块之后,在接收到恢复上述虚拟机的恢复指令后, 根据上述记录单元801记录的上述逻辑磁盘序列恢复上述虚拟机的逻辑磁盘。
[0113] 更具体地,上述磁盘生成单元603,用于根据上述记录单元801记录的逻辑磁盘序 列与虚拟机的对应关系,确定上述恢复指令指定的上述虚拟机对应的上述逻辑磁盘序列; 按照上述逻辑磁盘序列指示的上述η个存储块的顺序,将上述η个存储块重新组合成上述 虚拟机的逻辑磁盘。
[0114] 另外,可以理解的是,如果上述逻辑磁盘对应的存储块在被释放以后,分配给了其 他虚拟机使用,那么即使记录了存储块序列号,恢复逻辑磁盘仍然会失败,因为存储块序列 号对应的存储块已经被其他虚拟机使用,存储块内的数据则极可能已经被覆盖,而无法恢 复。在本发明实施例执行恢复逻辑磁盘之前,还可以确定上述η个存储块的序列号对应的 存储块是否被分配给其他虚拟机,若没有分配给其他虚拟机,则根据记录的上述逻辑磁盘 序列恢复上述虚拟机的逻辑磁盘;否则,响应恢复失败的信息。可以理解的是,即使分配给 其他虚拟机使用,也并不一定就发生了数据覆盖的情况,所以仍然可以恢复逻辑磁盘,至于 能否将逻辑磁盘内的数据完整恢复出来,则取决存储块是否发生过完全格式化或者数据覆 盖等情况。
[0115] 以上实施例中,导致"η个存储块的顺序混乱"这一结果的方式,至少可以有三种, 一种是随机选择空闲的存储块进行排列组合,另一种是选择存储块以后对选择的存储块进 行随机排列组合,还可以是随机选择空闲的存储块以后,再对选择的存储块进行随机排列 组合;因此,本发明实施例还提供了使"η个存储块的顺序混乱"的具体实现方案,如下:上 述排序单元602,用于根据预定的随机算法对上述序列号进行排序,生成上述逻辑磁盘序 列;上述逻辑磁盘序列对应的上述η个存储块的顺序,与上述η个存储块在上述物理磁盘中 的顺序不同。
[0116] 在本发明实施例中,存储块可以有识别号,这个识别号可以是编号也可以是地址 识别号,通常可以是在对物理存储空间进行分块时分配的,在整个物理存储空间范围内,存 储块的识别号具有唯一性;那么针对此种情况存储块序列号可以采用识别号排序的方式来 标识存储块在逻辑磁盘中的位置,并且存储块序列号还标识了逻辑磁盘有那些存储块。其 中,采用地址信息作为序列号的方案可以如下:进一步地,如图9所示,上述装置还包括:
[0117] 磁盘划分单元901,用于在上述存储块获取单元601从逻辑存储单元中获取η个存 储块之前,将上述物理磁盘划分为m个存储块,上述m为大于或等于上述η的自然数;
[0118] 上述序列号获取单元701,用于获得上述η个存储块的地址信息。
[0119] 本发明实施例还提供了另一种生成虚拟机的逻辑磁盘的装置,如图10所示,包 括:接收器1001、发射器1002,处理器1003以及存储器1004 ;其中存储器1004为物理磁 盘;
[0120] 其中,处理器1003,用于根据虚拟机创建请求,获取η个存储块,上述η为大于1的 自然数,上述存储块由物理磁盘分块得到;将上述η个存储块进行随机排序,并按照随机排 序的结果,将上述η个存储块组成虚拟机的逻辑磁盘。
[0121] 在本发明实施例中虚拟机创建请求是生成虚拟机的逻辑磁盘的触发条件,在虚拟 机创建请求中可以包含有虚拟机创建的需求性信息,例如虚拟机的逻辑磁盘的大小需求, 这将决定需要获取的存储块的数量,即η的取值。另外,为了保证不出现数据冲突的情况, 在本实施例中,获取的η个存储块应均为空闲的存储块。
[0122] 在本实施例中,对η个存储块进行随机排序的方式,可以参考任意的随机排序算 法实现;在随机排序以后,将会有一个随机排序的结果,即:随机排序以后η个存储块在逻 辑磁盘中的顺序。
[0123] 本实施例,通过获取η个存储块,并对η个存储块进行随机排序,使η个存储块的 顺序混乱;并按照随机排序的而结果,将η个存储块组成虚拟机的磁盘;从而降低两次生成 的逻辑磁盘相同的可能性,保证用户数据的安全性。另外,本发明实施例保证用户数据的安 全性,不通过对磁盘进行格式化实现,因此可以避免因需要格式磁盘化带来的磁盘寿命低、 数据处理量大、并且数据处理时间长的问题。
[0124] 进一步地,本发明实施例还提供了进行随机排序的具体实现方式,如下:处理器 1003,还用于在将上述η个存储块进行随机排序之前获得上述η个存储块的η个序列号,每 个存储块的序列号代表其在上述物理磁盘的地址顺序;
[0125] 上述将上述η个存储块进行随机排序,并按照随机排序的结果,将上述η个存储块 组成虚拟机的逻辑磁盘包括:
[0126] 将上述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序列;
[0127] 根据上述逻辑磁盘序列所指示的顺序,将上述η个存储块组成虚拟机的逻辑磁 盘。
[0128] 另外,本发明实施例还提供了存储块的管理方案,主要包含两个方案,一方面是存 储块的释放控制,另一方面是虚拟机的恢复控制,具体如下:
[0129] 其中,存储块的释放控制可以如下:处理器1003,还用于记录上述逻辑磁盘序列 与虚拟机的对应关系;在接收到删除上述虚拟机的指令后,删除上述虚拟机,并释放上述η 个存储块。
[0130] 在本发明实施例中,记录上述逻辑磁盘序列与虚拟机的对应关系可以直接采用记 录存储块序列号的方式来记录,即逻辑磁盘序列所指示的存储块的序列号的排序,记录存 储块序列号的方式可以是任意的能够持久保存的方式,例如将存储块序列号保存到文件系 统中,或者硬盘的指定存储区域等。在本发明实施例中,逻辑磁盘可以具有很多个存储块, 存储块的数量按照每个存储块的空间大小以及逻辑磁盘的空间需求来确定,存储块的数量 上限本发明实施例不作限定。存储块序列号标识逻辑磁盘中各存储块的顺序的可选实现方 案是比较多的,例如:每个存储块有一个识别标识,存储块序列号按照各存储块的顺序排列 识别标识;或者,按照各存储块的顺序将识别标识存放到链表中,或者,记录各存储块的起 止地址,然后按照各存储块在逻辑磁盘中的顺序记录这些起止地址;具体如何用存储块序 列号来标识逻辑磁盘中各存储块的顺序本发明实施例在此不作唯一性限定。
[0131] 虚拟机的恢复控制方案,具体如下:处理器1003,还用于在释放上述η个存储块之 后,在接收到恢复上述虚拟机的恢复指令后,根据记录的上述逻辑磁盘序列恢复上述虚拟 机的逻辑磁盘。
[0132] 更具体地,处理器1003,用于根据记录的上述逻辑磁盘序列恢复上述虚拟机的逻 辑磁盘包括:根据记录的逻辑磁盘序列与虚拟机的对应关系,确定上述恢复指令指定的上 述虚拟机对应的上述逻辑磁盘序列;
[0133] 按照上述逻辑磁盘序列指示的上述η个存储块的顺序,将上述η个存储块重新组 合成上述虚拟机的逻辑磁盘。
[0134] 另外,可以理解的是,如果上述逻辑磁盘对应的存储块在被释放以后,分配给了其 他虚拟机使用,那么即使记录了存储块序列号,恢复逻辑磁盘仍然会失败,因为存储块序列 号对应的存储块已经被其他虚拟机使用,存储块内的数据则极可能已经被覆盖,而无法恢 复。在本发明实施例执行恢复逻辑磁盘之前,还可以确定上述η个存储块的序列号对应的 存储块是否被分配给其他虚拟机,若没有分配给其他虚拟机,则根据记录的上述逻辑磁盘 序列恢复上述虚拟机的逻辑磁盘;否则,响应恢复失败的信息。可以理解的是,即使分配给 其他虚拟机使用,也并不一定就发生了数据覆盖的情况,所以仍然可以恢复逻辑磁盘,至于 能否将逻辑磁盘内的数据完整恢复出来,则取决存储块是否发生过完全格式化或者数据覆 盖等情况。
[0135] 以上实施例中,导致"η个存储块的顺序混乱"这一结果的方式,至少可以有三种, 一种是随机选择空闲的存储块进行排列组合,另一种是选择存储块以后对选择的存储块进 行随机排列组合,还可以是随机选择空闲的存储块以后,再对选择的存储块进行随机排列 组合;因此,本发明实施例还提供了使"η个存储块的顺序混乱"的具体实现方案,如下:上 述处理器1003,用于将上述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序列,包 括:根据预定的随机算法对上述序列号进行排序,生成上述逻辑磁盘序列;上述逻辑磁盘 序列对应的上述η个存储块的顺序,与上述η个存储块在上述物理磁盘中的顺序不同。
[0136] 在本发明实施例中,存储块可以有识别号,这个识别号可以是编号也可以是地址 识别号,通常可以是在对物理存储空间进行分块时分配的,在整个物理存储空间范围内,存 储块的识别号具有唯一性;那么针对此种情况存储块序列号可以采用识别号排序的方式来 标识存储块在逻辑磁盘中的位置,并且存储块序列号还标识了逻辑磁盘有那些存储块。其 中,采用地址信息作为序列号的方案可以如下:上述处理器1003,还用于在上述从逻辑存 储单元中获取η个存储块之前,将上述物理磁盘划分为m个存储块,上述m为大于或等于上 述η的自然数;上述获得上述η个存储块的η个序列号包括:获得上述η个存储块的地址信 肩、。
[0137] 值得注意的是,上述虚生成虚拟机的逻辑磁盘的装置实施例中,所包括的各个单 元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即 可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范 围。
[0138] 另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤 是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质 中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0139] 以上仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替 换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范 围为准。
【权利要求】
1. 一种生成虚拟机的逻辑磁盘的方法,其特征在于,包括: 根据虚拟机创建请求,获取η个存储块,所述η为大于1的自然数,所述存储块由物理 磁盘分块得到; 将所述η个存储块进行随机排序,并按照随机排序的结果,将所述η个存储块组成虚拟 机的逻辑磁盘。
2. 根据权利要求1所述方法,其特征在于,在将所述η个存储块进行随机排序之前还包 括: 获得所述η个存储块的η个序列号,每个存储块的序列号代表其在所述物理磁盘的地 址顺序; 所述将所述η个存储块进行随机排序,并按照随机排序的结果,将所述η个存储块组成 虚拟机的逻辑磁盘包括: 将所述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序列; 根据所述逻辑磁盘序列所指示的顺序,将所述η个存储块组成虚拟机的逻辑磁盘。
3. 根据权利要求2所述方法,其特征在于,还包括: 记录所述逻辑磁盘序列与虚拟机的对应关系; 在接收到删除所述虚拟机的指令后,删除所述虚拟机,并释放所述η个存储块。
4. 根据权利要求3所述方法,其特征在于,在释放所述η个存储块之后还包括: 在接收到恢复所述虚拟机的恢复指令后,根据记录的所述逻辑磁盘序列恢复所述虚拟 机的逻辑磁盘。
5. 根据权利要求4所述方法,其特征在于,所述根据记录的所述逻辑磁盘序列恢复所 述虚拟机的逻辑磁盘包括: 根据记录的逻辑磁盘序列与虚拟机的对应关系,确定所述恢复指令指定的所述虚拟机 对应的所述逻辑磁盘序列; 按照所述逻辑磁盘序列指示的所述η个存储块的顺序,将所述η个存储块重新组合成 所述虚拟机的逻辑磁盘。
6. 根据权利要求2所述方法,其特征在于,所述将所述η个存储块的η个序列号进行随 机排序,生成逻辑磁盘序列,包括: 根据预定的随机算法对所述序列号进行排序,生成所述逻辑磁盘序列;所述逻辑磁盘 序列对应的所述η个存储块的顺序,与所述η个存储块在所述物理磁盘中的顺序不同。
7. 根据权利要求2所述方法,其特征在于,在所述从逻辑存储单元中获取η个存储块之 前还包括: 将所述物理磁盘划分为m个存储块,所述m为大于或等于所述η的自然数; 所述获得所述η个存储块的η个序列号包括: 获得所述η个存储块的地址信息。
8. -种生成虚拟机的逻辑磁盘的装置,其特征在于,包括: 存储块获取单元,用于根据虚拟机创建请求,获取η个存储块,所述η为大于1的自然 数,所述存储块由物理磁盘分块得到; 排序单元,用于将所述存储块获取单元获取的所述η个存储块进行随机排序; 磁盘生成单元,用于按照所述排序单元随机排序的结果,将所述η个存储块组成虚拟 机的逻辑磁盘。
9. 根据权利要求8所述装置,其特征在于,所述装置还包括: 序列号获取单元,用于在所述排序单元将所述η个存储块进行随机排序之前,获得所 述η个存储块的η个序列号,每个存储块的序列号代表其在所述物理磁盘的地址顺序; 所述排序单元,用于将所述η个存储块的η个序列号进行随机排序,生成逻辑磁盘序 列; 所述磁盘生成单元,用于根据所述排序单元生成的所述逻辑磁盘序列所指示的顺序, 将所述η个存储块组成虚拟机的逻辑磁盘。
10. 根据权利要求9所述装置,其特征在于,所述装置还包括: 记录单元,用于记录所述逻辑磁盘序列与虚拟机的对应关系; 回收控制单元,用于在接收到删除所述虚拟机的指令后,删除所述虚拟机,并释放所述 η个存储块。
11. 根据权利要求10所述装置,其特征在于, 所述磁盘生成单元,还用于在所述回收控制单元释放所述η个存储块之后,在接收到 恢复所述虚拟机的恢复指令后,根据所述记录单元记录的所述逻辑磁盘序列恢复所述虚拟 机的逻辑磁盘。
12. 根据权利要求11所述装置,其特征在于, 所述磁盘生成单元,用于根据所述记录单元记录的逻辑磁盘序列与虚拟机的对应关 系,确定所述恢复指令指定的所述虚拟机对应的所述逻辑磁盘序列;按照所述逻辑磁盘序 列指示的所述η个存储块的顺序,将所述η个存储块重新组合成所述虚拟机的逻辑磁盘。
13. 根据权利要求9所述装置,其特征在于, 所述排序单元,用于根据预定的随机算法对所述序列号进行排序,生成所述逻辑磁盘 序列;所述逻辑磁盘序列对应的所述η个存储块的顺序,与所述η个存储块在所述物理磁盘 中的顺序不同。
14. 根据权利要求9所述装置,其特征在于,所述装置还包括: 磁盘划分单元,用于在所述存储块获取单元从逻辑存储单元中获取η个存储块之前, 将所述物理磁盘划分为m个存储块,所述m为大于或等于所述η的自然数; 所述序列号获取单元,用于获得所述η个存储块的地址信息。
15. -种生成虚拟机的逻辑磁盘的装置,包括:接收器、发射器、处理器以及存储器,其 特征在于, 所述处理器,用于根据虚拟机创建请求,获取η个存储块,上述η为大于1的自然数,上 述存储块由物理磁盘分块得到;将上述η个存储块进行随机排序,并按照随机排序的结果, 将上述η个存储块组成虚拟机的逻辑磁盘。
【文档编号】G06F3/06GK104216759SQ201410427409
【公开日】2014年12月17日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】刘宝起, 马晓明, 刘丽萍 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1