用于虚拟化数据中心的数据处理方法及装置
技术领域
本发明属于数据处理技术领域,尤其涉及一种用于虚拟化数据中心的数据处理方法及装置。
背景技术
VMware vSphere是业界领先的虚拟化平台,使用户能够自信地虚拟化任何应用、重新定义可用性和简化虚拟化数据中心,最终实现高度可用、恢复能力强的按需基础架构,对于任何云计算环境而言都是理想的基础平台。vSphere可以降低数据中心成本,增加***和应用正常运行时间,并显著简化IT运行数据中心的方式。vSphere可用作软件定义的数据中心的核心基础构造块,加快现有数据中心向云计算转变的速度,同时还支持兼容的公有云服务,从而为业界唯一的混合云模式奠定了基础。
VMFS(VMware Virtual Machine File System)是一种高性能的群集文件***,它使虚拟化技术的应用超出了单个***的限制。VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显著提高了资源利用率。VMDK(VMWareVirtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘文件,存在于VMFS中。VMDK文件代表VMFS在虚拟机上的一个物理硬盘,所有用户数据和有关虚拟服务器的配置信息都存储在VMDK文件中。
虽然虚拟化能够带来许多卓越特性,vSphere环境中的备份问题却给许多备份和存储管理员带来了新的挑战。快照技术可以不中断虚拟机运行完成对虚拟机当前状态的备份,使用多个快照,还可保存多个位置以供多种工作流程使用。创建快照时,将为虚拟机连接的虚拟磁盘创建一系列增量磁盘(VMDK)来保留特定时间的磁盘状况,新的子磁盘被创建同时虚拟机所有的写操作都会转到该子磁盘中,这样父磁盘就处于一个静止的状态。
基于快照的备份方案可以使用的磁盘的时间点映像,但大量快照难于管理,占用大量磁盘空间,并且在出现硬件故障时不受保护。大量快照会对虚拟机的性能产生负面影响,性能降低基于快照或快照树保持原位的时间、树的深度以及执行快照后虚拟机及其客户机操作***发生更改的程度。由于每台虚拟机最多可保留32个快照,导致用户只能保留有限个数的时间点状态。
发明内容
本发明的实施例提供一种用于虚拟化数据中心的数据处理方法及装置。
一方面,本发明实施例提供一种用于虚拟化数据中心的数据处理方法,包括:访问宿主机,对部署在宿主机的虚拟机存储磁盘创建虚拟机快照并生成备份的步骤;判断备份是否为完全备份的步骤,当是完全备份时,对自身创建第一快照并建立虚拟机快照、第一快照与二者创建时间的索引,当不是完全备份时,对自身创建第N快照并建立虚拟机快照、第N快照与二者创建时间的索引,其中,N为大于2的整数,第N快照包括虚拟机自第N-1次备份后的增量磁盘文件;根据索引获取包含第N-1次备份的全量磁盘文件的第N-1快照和包含第N-1次备份后的增量磁盘文件的第N快照的步骤;基于第N-1快照和第N快照合并全量磁盘文件和增量磁盘文件的步骤;以及,删除虚拟机中的虚拟机快照的步骤。
另一方面,本发明实施例提供一种用于虚拟化数据中心的数据处理装置,包括:访问单元、判断单元、处理单元和合并单元。该访问单元被配置为访问宿主机,对部署在宿主机的虚拟机存储磁盘创建虚拟机快照并生成备份。该判断单元被配置为判断备份是否为完全备份,当是完全备份时,对自身创建第一快照并建立虚拟机快照、第一快照与二者创建时间的索引,当不是完全备份时,对自身创建第N快照并建立虚拟机快照、第N快照与二者创建时间的索引,其中,N为大于2的整数,第N快照包括虚拟机自第N-1次备份后的增量磁盘文件。该处理单元被配置为根据索引获取包含第N-1次备份的全量磁盘文件的第N-1快照和包含第N-1次备份后的增量磁盘文件的第N快照。该合并单元被配置为基于第N-1快照和第N快照合并全量磁盘文件和增量磁盘文件。其中,该处理单元还被配置为删除虚拟机中的虚拟机快照。
再一方面,本发明实施例提供一种用于虚拟化数据中心的数据处理装置,包括:存储器、处理器和总线;该存储器和处理器通过总线连接并完成相互间的通信;该存储器用于存储程序代码;该处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行上述的用于虚拟化数据中心的数据处理方法。
本发明实施例提供的一种用于虚拟化数据中心的数据处理方法及装置,通过访问宿主机并对部署在宿主机的虚拟机存储磁盘创建快照并进行备份,建立自身快照、虚拟机快照与二者创建时间的索引,根据该索引获得包含上次完全备份的全量磁盘文件的快照和包含自上次完全备份后的增量磁盘文件的快照,以对全量磁盘文件和增量磁盘文件进行合并,合并后的磁盘文件保持了同虚拟机磁盘文件的数据一致性,优化磁盘数据,提高磁盘文件的访问速度,在磁盘文件合并后删除虚拟机中存储的完全备份时产生的快照,突破了每台虚拟机32个快照的限制从而可以创建无限快照完成虚拟机的保护。
附图说明
通过参考附图会更加清楚地理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出根据一种实施例的用于虚拟化数据中心的数据处理方法的方法流程图;
图2示出根据一种实施例用于虚拟化数据中心的数据处理装置的结构框图;
图3示出根据另一种实施例用于虚拟化数据中心的数据处理装置的结构框图;
图4示出根据另一种实施例的用于虚拟化数据中心的数据处理装置的计算设备实现的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明的主要技术创意需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1示出根据一种实施例的用于虚拟化数据中心的数据处理方法的方法流程图。如图1所示,该方法包括如下步骤:S110,访问宿主机,对部署在宿主机的虚拟机存储磁盘创建虚拟机快照并生成备份。S120,判断备份是否为完全备份,当是完全备份时,对自身创建第一快照并建立虚拟机快照、第一快照与二者创建时间的索引,当不是完全备份时,对自身创建第N快照并建立虚拟机快照、第N快照与二者创建时间的索引,其中,N为大于2的整数,第N快照包括虚拟机自第N-1次备份后的增量磁盘文件。应理解,该增量磁盘可以表示虚拟磁盘的当前状况和上次执行快照时存在的状况之间的差异。如果存在多个快照,则增量磁盘可表示每个快照之间的差异。如果客户机操作***写入虚拟磁盘的每个块,则增量磁盘文件可以快速扩展并变得与整个虚拟磁盘的大小相同。S130,根据索引获取包含第N-1次备份的全量磁盘文件的第N-1快照和包含第N-1次备份后的增量磁盘文件的第N快照。S140,基于第N-1快照和第N快照合并全量磁盘文件和增量磁盘文件。S150,删除虚拟机中的虚拟机快照。通过访问宿主机并对部署在宿主机的虚拟机存储磁盘创建快照并进行备份,建立自身快照、虚拟机快照与二者创建时间的索引,根据该索引获得包含上次完全备份的全量磁盘文件的快照和包含自上次完全备份后的增量磁盘文件的快照,以对全量磁盘文件和增量磁盘文件进行合并,合并后的磁盘文件保持了同虚拟机磁盘文件的数据一致性,优化磁盘数据,提高磁盘文件的访问速度,在磁盘文件合并后删除虚拟机中存储的完全备份时产生的快照,突破了每台虚拟机32个快照的限制从而可以创建无限快照完成虚拟机的保护。
在一些示例中,S140还可以包括根据增量磁盘文件和全量磁盘文件的数据块的位置信息以获得增量磁盘相对于全量磁盘文件的数据块变化内容以完成全量磁盘文件和增量磁盘文件的合并。
在一些示例中,该方法还可以包括更新合并后的全量磁盘文件和增量磁盘文件的位置信息。
在一些示例中,上述位置信息可以包括起始位置、数据偏移量和数据块大小。
在虚拟机出现故障或其他原因导致需要对虚拟机进行数据恢复时,基于上述用于虚拟化数据中心的数据处理方法,在一些实施例中,该方法还可以包括根据索引选择时间点回滚自身存储的虚拟机存储磁盘的快照,根据索引选择时间点提取虚拟机存储磁盘的快照。在一些示例中,该方法还可以包括创建虚拟机存储磁盘的快照的镜像,根据索引选择时间点提取虚拟机存储磁盘的快照。通过上述方法可以进行虚拟机存储磁盘的数据恢复,在一个示例中,该方法还可以包括将虚拟机存储磁盘的快照导入新建的虚拟机或直接挂载在原虚拟机上,以进行虚拟机存储磁盘的数据恢复。
上文中结合图1,详细描述了根据本发明实施例的用于虚拟化数据中心的数据处理方法,下面将结合图2和图3,详细描述根据本发明实施例用于虚拟化数据中心的数据处理装置。
图2示出根据一种实施例用于虚拟化数据中心的数据处理装置的结构框图。如图2所示,该装置200可以包括:访问单元210、判断单元220、处理单元230和合并单元240。该访问单元210可以被配置为访问宿主机,对部署在宿主机的虚拟机存储磁盘创建虚拟机快照并生成备份。该判断单元220可以被配置为判断备份是否为完全备份,当是完全备份时,对自身创建第一快照并建立虚拟机快照、第一快照与二者创建时间的索引,当不是完全备份时,对自身创建第N快照并建立虚拟机快照、第N快照与二者创建时间的索引,其中,N为大于2的整数,第N快照包括虚拟机自第N-1次备份后的增量磁盘文件。该处理单元230可以被配置为根据索引获取包含第N-1次备份的全量磁盘文件的第N-1快照和包含第N-1次备份后的增量磁盘文件的第N快照。该合并单元240可以被配置为基于第N-1快照和第N快照合并全量磁盘文件和增量磁盘文件。其中,该处理单元230还可以被配置为删除虚拟机中的虚拟机快照。在一个示例中,可以通过调用访问接口,例如VMware vStorage API,以访问宿主机并对部署在该宿主机中的虚拟机创建快照并进行完全备份。应理解,上述API全称为Application Programming Interface,可以表示为应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。该装置200可以作为虚拟机的一个保护存储设备,或设置在该保护存储设备中,可以通过该装置200,在完成虚拟机完全备份后,程序对保护存储设备中存放磁盘文件的文件***创建快照并建立文件***快照索引同时在数据磁盘文件合并后对虚拟机快照进行删除。该装置200可以通过访问宿主机并对部署在宿主机的虚拟机存储磁盘创建快照并进行备份,建立自身快照、虚拟机快照与二者创建时间的索引,根据该索引获得包含上次完全备份的全量磁盘文件的快照和包含自上次完全备份后的增量磁盘文件的快照,以对全量磁盘文件和增量磁盘文件进行合并,合并后的磁盘文件保持了同虚拟机磁盘文件的数据一致性,优化磁盘数据,提高磁盘文件的访问速度,在磁盘文件合并后删除虚拟机中存储的完全备份时产生的快照,突破了每台虚拟机32个快照的限制从而可以创建无限快照完成虚拟机的保护。
在一些示例中,该装置200的合并单元240还可以被配置为根据增量磁盘文件和全量磁盘文件的数据块的位置信息以获得增量磁盘相对于全量磁盘文件的数据块变化内容以完成全量磁盘文件和增量磁盘文件的合并。在一些示例中,该装置还可以包括更新单元被配置为更新合并后的全量磁盘文件和增量磁盘文件的位置信息。在一些示例中,上述位置信息可以包括起始位置、数据偏移量和数据块大小。例如,合并单元还被配置为根据索引分别获取第N快照中的增量磁盘文件和第N-1快照中的全量磁盘文件的起始位置、数据偏移量和数据块大小获得增量磁盘相对于全量磁盘文件的数据块变化内容。在一个示例中,该存储设备可以供虚拟机随时挂载,进行上述虚拟机增量磁盘文件的合并。
在虚拟机出现故障或其他原因导致需要对虚拟机进行数据恢复时,基于上述用于虚拟化数据中心的数据处理装置,图3示出根据另一种实施例用于虚拟化数据中心的数据处理装置的结构框图。如图3所示,该装置300可以包括访问单元310、判断单元320、处理单元330、合并单元340和恢复单元350。该恢复单元350被配置为根据索引选择时间点回滚自身存储的虚拟机存储磁盘的快照或创建虚拟机存储磁盘的快照的镜像,根据索引选择时间点提取虚拟机存储磁盘的快照。在一个示例中,该装置300中的恢复单元350还可以被配置为将虚拟机存储磁盘的快照导入新建的虚拟机或直接挂载在原虚拟机上。
根据本发明实施例的用于虚拟化数据中心的数据处理装置可对应于根据本发明实施例的用于虚拟化数据中心的数据处理方法中的执行主体,并且用于虚拟化数据中心的数据处理装置中的各个模块的上述和其它操作和/或功能分别为了实现图1中的方法的相应流程,为了简洁,在此不再赘述。
图4示出根据另一种实施例的用于虚拟化数据中心的数据处理装置的计算设备实现的结构示意图。如图4所示,结合图1、图2和图3描述的用于虚拟化数据中心的数据处理方法和用于虚拟化数据中心的数据处理装置的至少一部分可以由计算设备实现,包括存储器404、处理器403和总线410;该存储器404和处理器403通过总线410连接并完成相互间的通信;该存储器404用于存储程序代码;该处理器430通过读取存储器404中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行如图1所示的用于虚拟化数据中心的数据处理方法。在一些示例中,该计算设备400还可以包括输入设备401、输入端口402、输出端口405、以及输出设备906。其中,输入端口402、处理器403、存储器404、以及输出端口405通过总线410相互连接,输入设备401和输出设备406分别通过输入端口402和输出端口405与总线410连接,进而与计算设备400的其他组件连接。需要说明的是,这里的输出接口和输入接口也可以用I/O接口表示。具体地,输入设备401接收来自外部的输入信息,并通过输入端口402将输入信息传送到处理器403;处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出端口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部。
上述存储器404包括用于数据或指令的大容量存储器。举例来说而非限制,存储器404可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在计算设备400的内部或外部。在特定实施例中,存储器404是非易失性固态存储器。在特定实施例中,存储器404包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
总线410包括硬件、软件或两者,将计算设备400的部件彼此耦接在一起。举例来说而非限制,总线410可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线410。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
当通过图4所示的计算设备400实现结合图3描述的用于虚拟化数据中心的数据处理装置时,输入设备401用于访问宿主机,对部署在宿主机的虚拟机存储磁盘创建虚拟机快照并生成备份,在特定实施例中,与输出设备相连的I/O接口可以包括硬件、软件或两者,提供用于在计算设备400与一个或多个I/O设备之间的通信的一个或多个接口。在合适的情况下,计算设备400可包括一个或多个这些I/O设备。一个或多个这些I/O设备可允许人和计算机***400之间的通信。举例来说而非限制,I/O设备可包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态照相机、触针、手写板、触摸屏、轨迹球、视频摄像机、另一合适的I/O设备或者两个或更多个以上这些的组合。I/O设备可包括一个或多个传感器。本发明实施例考虑用于它们的任何合适的I/O设备和任何合适的I/O接口。在合适的情况下,I/O接口可包括一个或多个装置或能够允许处理器403驱动一个或多个这些I/O设备的软件驱动器。在合适的情况下,I/O接口可包括一个或多个I/O接口。尽管本发明实施例描述和示出了特定的I/O接口,但本发明实施例考虑任何合适的I/O接口。该处理器403基于存储器404中存储的计算机可执行指令,判断备份是否为完全备份,判断备份是否为完全备份,当是完全备份时,对自身创建第一快照并建立虚拟机快照、第一快照与二者创建时间的索引,当不是完全备份时,对自身创建第N快照并建立虚拟机快照、第N快照与二者创建时间的索引,其中,N为大于2的整数,第N快照包括虚拟机自第N-1次备份后的增量磁盘文件;根据索引获取包含第N-1次备份的全量磁盘文件的第N-1快照和包含第N-1次备份后的增量磁盘文件的第N快照;基于第N-1快照和第N快照合并全量磁盘文件和增量磁盘文件;以及,删除虚拟机中的虚拟机快照。随后可以在需要时经由输出端口405和输出设备406将合并后的磁盘文件输出。
在合适的情况下,计算机可执行指令可包括一个或多个基于半导体的或其他集成电路(IC)(例如,诸如现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、全息存储介质、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动或其他合适的计算机可读非临时性存储介质或者两个或更多个以上这些的组合。
需要明确,本发明并不局限于上文所描述并在图中示出的特定配置和处理。并且,为了简明起见,这里省略对已知方法技术的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后作出各种改变、修改和添加,或者改变步骤之间的顺序。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。