CN111651305B - 一种虚拟机备份方法、组件及云计算系统 - Google Patents

一种虚拟机备份方法、组件及云计算系统 Download PDF

Info

Publication number
CN111651305B
CN111651305B CN202010774902.6A CN202010774902A CN111651305B CN 111651305 B CN111651305 B CN 111651305B CN 202010774902 A CN202010774902 A CN 202010774902A CN 111651305 B CN111651305 B CN 111651305B
Authority
CN
China
Prior art keywords
backup
data
backed
virtual machine
target
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
CN202010774902.6A
Other languages
English (en)
Other versions
CN111651305A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010774902.6A priority Critical patent/CN111651305B/zh
Publication of CN111651305A publication Critical patent/CN111651305A/zh
Application granted granted Critical
Publication of CN111651305B publication Critical patent/CN111651305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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

Abstract

本申请实施例提供了一种虚拟机备份方法、组件及云计算系统,涉及计算机技术领域,方法包括:接收云网关平台发送的虚拟机备份请求,虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求;根据第一目标虚拟机标识信息确定云存储平台中第一目标虚拟机的待备份数据;根据备份需求以及待备份数据,确定云存储平台中的目标备份存储池;通过数据管道技术读取待备份数据,并将待备份数据写入目标备份存储池中。虚拟机备份方法具有广泛性,能够满足所有云计算平台用户的备份要求。

Description

一种虚拟机备份方法、组件及云计算系统
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种虚拟机备份方法、组件及云计算系统。
背景技术
云计算平台是一种能够提供计算和存储服务的平台,云计算平台通常由云服务器集群组成,随着科技的迅速发展,云计算为日常生活带来的便捷服务,广泛应用于各个领域。
在云计算环境中,用户的服务对应不同的虚拟机,用户的数据也存放在虚拟机中,然而,云计算环境的不稳定因素影响着计算资源供应的稳定性和可靠性,受此影响,突发的虚拟机故障会导致客户应用中断、虚拟磁盘数据损坏等问题,所以为了保证用户数据的安全性,需要对虚拟机的数据进行备份。
在现有技术中,在云计算平台中还没有提供虚拟机的整机备份服务,只提供以单个云硬盘为对象的备份方式,所以现有技术不能满足用户的备份需求,影响了用户体验,也不能够保证数据的安全性。
发明内容
本申请实施例提供了一种虚拟机备份方法、组件及云计算系统,用以满足用户的备份需求,提升了用户体验,也进一步够保证了用户数据的安全性。
一方面,本申请实施例提供一种虚拟机备份方法,应用在云计算平台中的备份组件,方法包括:
接收云网关平台发送的虚拟机备份请求,虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求;
根据第一目标虚拟机标识信息确定云存储平台中第一目标虚拟机的待备份数据;
根据备份需求以及待备份数据,确定云存储平台中的目标备份存储池;
通过数据管道技术读取待备份数据,并将待备份数据写入目标备份存储池中。
可选的,备份数据量信息为全量备份,根据备份数据量信息以及待备份数据快照将待备份数据备份在目标备份存储池中,包括:
在目标备份存储池中生成了与待备份数据的数据量匹配的空白存储块;
将待备份数据快照对应的待备份数据备份在空白存储块中。
一方面,本申请实施例提供一种备份组件,包括:
备份调度单元,用于接收云网关平台发送的虚拟机备份请求,虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求,根据第一目标虚拟机标识信息确定云存储平台中第一目标虚拟机的待备份数据,根据备份需求以及待备份数据,基于公共管理单元中注册的各备份控制单元确定云存储平台中的目标备份存储池,并调用对应的备份控制单元;
公共管理单元,用于管理备份调度单元以及各备份控制单元;
各备份控制单元,用于在被备份调度单元调用后,通过数据管道技术读取待备份数据,并将待备份数据写入目标备份存储池中。
可选的,各备份控制单元具体用于:
将读取待备份数据的进程与写入待备份数据的进程连接起来,建立数据管道;
从待备份数据对应的云存储平台中的原存储池中,读取待备份数据,并通过数据管道,将待备份数据写入目标备份存储池中。
可选的,备份调度单元具体用于:
根据第一目标虚拟机标识信息,从云计算平台中的核心服务组件 中获取第一目标虚拟机的各待备份数据块以及各待备份数据块在云计算平台中的各第一标识信息 ;
根据各第一标识信息,确定各待备份数据块在云存储平台中的各第二标识信息 ;
针对任一待备份数据块,若根据第二标识信息确定待备份数据块的类型为卷存储类型,则根据第二标识信息从云计算平台的存储服务组件 中确定存储待备份数据块的存储池,并根据第二标识信息从存储池中获得待备份数据块对应的待备份数据。
可选的,备份需求为远程备份需求,备份调度单元具体用于:
将云存储平台中与待备份数据不属于同一数据集群的其它数据集群中的各远程备份池作为待选备份存储池;
针对每个待备份数据块,选择一个待选备份存储池作为目标备份存储池。
可选的,备份需求为本地备份需求,备份调度单元具体用于:
将云存储平台中与待备份数据属于同一数据集群的各本地备份池作为待选备份存储池;
针对每个待备份数据块,选择一个待选备份存储池作为目标备份存储池。
可选的,备份调度单元具体用于:
获取已注册在公共管理单元中的各备份控制单元,并确定各备份控制单元管理的云存储平台的各备份存储池;
根据备份需求以及待备份数据,确定各备份存储池中与备份需求匹配的各待选备份存储池,并调用各待选备份存储池对应的各备份控制单元;
针对每个待备份数据块,根据各备份控制单元的进程选择一个待选备份存储池作为目标备份存储池;
各目标备份池对应的各备份控制单元具体用于:
将各待备份数据块备份在对应的目标备份存储池中。
可选的,备份控制单元具体用于:
将各待备份数据块通过数据管道技术备份在对应的目标备份存储池中。
可选的,备份调度单元具体用于:
获取公共管理单元中的已注册备份控制单元列表,已注册备份控制单元列表是公共管理单元在接收到各备份控制单元的注册信息后确定的,注册信息是各备份控制单元启动时发送的;
根据已注册备份控制单元列表获取已注册在公共管理单元中的各备份控制单元。
可选的,虚拟机备份请求还包括备份数据量信息,备份调度单元还用于:
确定第一目标虚拟机的计算节点,并冻结计算节点的文件系统;
对云存储平台中第一目标虚拟机的待备份数据进行快照处理,得到待备份数据快照;
解冻计算节点的文件系统;
备份控制单元具体用于:
根据备份数据量信息以及待备份数据快照将待备份数据备份在目标备份存储池中。
可选的,备份数据量信息为全量备份,备份控制单元具体用于:
在目标备份存储池中生成了与待备份数据的数据量匹配的空白存储块;
将待备份数据快照对应的待备份数据备份在空白存储块中。
可选的,备份数据量信息为增量备份,备份控制单元具体用于:
将前序备份数据快照与待备份数据快照之间的待备份数据备份在目标备份存储池中,前序备份数据快照是根据目标备份存储池中已备份数据确定的。
可选的,备份调度单元还用于:
接收备份恢复请求,备份恢复请求中包括第二目标虚拟机的第二目标虚拟机标识信息;
根据第二目标虚拟机标识信息在云存储平台中确定第二目标虚拟机的源数据以及备份数据;
备份控制单元还用于:
将备份数据替换源数据。
一方面,本申请实施例提供一种云计算系统,系统包括云网关层、云计算层以及云存储层;
云网关层用于向用户提供虚拟机备份服务,将用户触发的虚拟机备份请求发送给云计算层;
云计算层用于在接收到虚拟机备份请求后,执行上述任一虚拟机备份方法,从存储各虚拟机数据的云存储层中确定虚拟机备份请求对应的待备份数据,以及从云存储层中确定目标备份池,通过数据管道技术读取所述待备份数据,并将所述待备份数据写入所述目标备份存储池中。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现云平台中虚拟机备份方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行云平台中虚拟机备份方法。
本申请实施例中,在云计算平台中增加了备份组件,通过备份组件可以在云计算平台中接收到网关平台发送的虚拟机备份请求,通过虚拟机备份请求中虚拟机的标识,在云存储平台中找到虚拟机的待备份数据,根据虚拟机备份请求中的备份需求,在云存储平台中找到对应的备份池,并通过数据管道技术将待备份数据备份在对应的备份池中。
通过上述过程,实现了将虚拟机的全部数据备份在云存储平台中的目标备份池中,与现有技术相比,能够通过一次备份的处理过程,将所有的待备份数据备份在目标备份池中,减少了虚拟机备份时间,提高了虚拟机备份的效率。且在本申请实施例中,备份组件是位于云存储平台中的,不需要额外的设备进行备份,不受限于设备的厂家,所以能够为不同的用户提供数据备份业务,满足用户的备份需求,不受限备份场景。
在本申请中,由于使用数据管道技术进行备份,并不需要进行待备份数据的挂载过程,即不需要额外加入代理虚拟机进行备份,而是使用物理机进行备份,读取数据以及存储数据的过程不需要通过代理虚拟机完成,而是直接通过读进程以及写进程以及之间的数据管道,实现了备份。管道技术可以不依赖任何代理,并且是分布式,可以缓解备份时的数据压力,同时管道对云计算平台中的计算节点的处理器和内存的消耗很少,数据管道技术不需要挂载,由于不存在代理虚拟机,所以也不需要对代理虚拟机分配盘符。
进一步地,由于能够快速进行数据备份,能够保证虚拟机数据的安全性,也进而提高了云计算平台的服务质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中虚拟机备份的过程示意图;
图2为本申请实施例提供的一种虚拟机备份系统的结构示意图;
图3为本申请实施例提供的一种虚拟机备份方法的流程示意图;
图4为本申请实施例提供的一种云储存平台中各存储集群的结构示意图;
图5为本申请实施例提供的一种确定待备份数据块存储位置的方法示意图;
图6为本申请实施例提供的一种备份组件的结构示意图;
图7为本申请实施例提供的一种调度模块的调度示意图;
图8为本申请实施例提供的一种备份方法的流程示意图;
图9为本申请实施例提供的一种全量备份方法的示意图;
图10为本申请实施例提供的一种增量备份方法的示意图;
图11为本申请实施例提供的一种冻结文件系统的示意图;
图12为本申请实施例提供的一种数据管道技术的示意图;
图13为本申请实施例提供的一种通过数据管道技术进行数据备份的流程示意图;
图14为本申请实施例提供的一种虚拟机备份方法的流程示意图;
图15为本申请实施例提供的一种增量备份恢复的流程示意图;
图16为本申请实施例提供的一种全量备份恢复的流程示意图;
图17为本申请实施例提供的一种备份组件的结构示意图;
图18为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,下面对本申请实施例中涉及的名词进行解释。
云技术(Cloud technology):基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。现有技术中的网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现,云计算技术将变成重要支撑。
云计算平台:也称为云平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。常用的云计算平台有Hadoop云计算平台、OpenStack云计算平台等。
云存储(cloud storage):在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。常用的云存储平台包括Ceph分布式文件存储系统、GFS分布式文件存储系统以及HDFS分布式文件存储系统等。
目前,存储系统中可以通过创建逻辑卷来存储数据,例如本申请实施例中,云存储平台中通过逻辑卷来保存虚拟机数据。在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity) 等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
Cinder:Openstack中提供块存储服务组件,为虚拟机实例提供虚拟磁盘。
Nova:是OpenStack中的核心服务组件。支持OpenStack云中实例生命周期的所有活动都由Nova处理。Nova是一个负责管理计算资源、网络、认证、所需可扩展性的平台。
Glance:Openstack中虚拟机镜像查找及检索组件,支持多种虚拟机镜像格式,有创建上传镜像、删除镜像、编辑镜像基本信息的功能。
数据卷:是一个可供一个或多个容器使用的特殊目录,数据卷绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上的。
快照:也称Snapshot,在操作系统以及存储技术上实现的一种记录某一时间系统状态的技术。
挂载(mounting):是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。
现有技术中,随着大数据技术发展以及数据量的不断增长,单个虚拟机已无法满足计算资源的要求,所以云计算平台可以将多个虚拟机实例编排为一个大数据处理集群,当用户需要对虚拟机进行数据备份时,通常只能对单个云硬盘为对象进行备份。
现有技术中还存在一种虚拟机备份的方法,如图1所示,首先对虚拟机原始的系统盘和数据盘打一份快照,快照是数据存储的某一时刻的状态记录,且快照是只读的。在确定了虚拟机的数据快照后,对快照进行一个克隆操作,克隆操作之后就会创建出一个克隆卷。
在确定了数据克隆卷后,创建一个代理虚拟机,通过代理虚拟机对虚拟机数据进行备份。具体的,代理虚拟机将创建的克隆卷挂载到代理虚拟机中,即在代理虚拟机中为虚拟机分配盘符,然后格式化盘符后,将数据复制在各盘符对应的数据盘中。同样的,在备份集群也创建相应个数的卷作为备份卷,备份卷的大小与数据克隆卷的大小相等,把备份卷都挂载到代理虚拟机上。例如虚拟机原来系统盘的大小为10G,备份系统盘的大小也应该10G。
最后通过代理虚拟机进行相应盘的数据拷贝,例如系统盘的克隆卷拷贝到系统盘的备份卷,通过上述步骤实现了虚拟机备份的方案。
但是现有技术中上面的这种技术中存在以下问题,首先基于代理虚拟机实现备份的方案是针对设定用户的,其他用户需要购买方案才能够实现,不具有广泛性;其次,在现在技术中,当代理虚拟机发生故障时,则不能进行挂卷和数据备份,所以数据备份的安全性存在问题;最后,代理虚拟机是通过挂载的方式实现备份的,但是虚拟机的挂载的数据量大小是有限的,所以不能满足大规模数据的备份需求。
所以基于上述技术问题,本申请的发明人构思了一种虚拟机备份方法,考虑到现有技术中使用代理虚拟机备份出现的问题,所以需要一种不设置代理虚拟机的备份方法。
由于云计算平台的开源性,所以能够在云计算平台中通过开源的方式生成备份组件,通过备份组件实现虚拟机的备份,并且现有技术中是通过挂载的技术实现备份的,挂载的过程较为复杂,备份的数据量还存在上限要求,所以本申请的发明人构思的方法中,不使用挂载的方法,而是将虚拟机的数据从云存储平台中备份在云存储平台中。
具体的,本申请实施例中通过构建备份组件来实现虚拟机备份,备份组件位于云计算平台中,云计算平台能够通过网关平台接收用户下发的虚拟机备份请求,在云计算平台中的备份组件,能够根据虚拟机备份请求确定需要备份的虚拟机,并通过与云计算平台通信的云存储平台,确定虚拟机的源数据;通过备份组件,将源数据备份在与云存储平台中。
通过本申请的发明人构思的一种虚拟机备份方法,首先能够解决现有技术中有虚拟机备份不具有广泛性的问题,由于本申请实施例的方法是应用于云计算平台的,在云计算平台中增加了备份组件,使用云计算平台的用户都能够应用该备份组件,所以本申请实施例中的虚拟机备份方法具有广泛性,能够满足所有云计算平台用户的备份要求。
最后,在本申请实施例中,不需要使用其它的备份虚拟机,所以解决了现有技术中可能存在的备份虚拟机发生故障,则不能进行备份的问题,也进一步提高了用户体验以及用户数据的安全性。
进一步地,由于本申请实施例中的虚拟机备份方法是在云存储平台内部发生的操作,所以不需要进行挂载备份的过程,提高了备份的速度,同时,不会受限于备份虚拟机的挂载的数据量,能够进行大规模的数据备份。
通过上述过程,实现了将虚拟机的全部数据备份在云存储平台中的目标备份池中,与现有技术相比,能够通过一次备份的处理过程,将所有的待备份数据备份在目标备份池中,减少了虚拟机备份时间,提高了虚拟机备份的效率。且在本申请实施例中,备份组件是位于云存储平台中的,不需要额外的设备进行备份,不受限于设备的厂家,所以能够为不同的用户提供数据备份业务,满足用户的备份需求,不受限备份场景。进一步地,由于能够快速进行数据备份,能够保证虚拟机数据的安全性,也进而提高了云计算平台的服务质量。
参考图2,其为本申请实施例适用的一种系统架构图,该系统架构包括业务平台201、网关平台202、云计算平台203以及云存储平台204。
业务平台201与终端连接,为各类用户提供可操作的界面,具体包括自助平台、运维平台、监控平台等。自助平台可以向用户提供一个申请资源的界面、监控平台是监控整个平台的全部资源使用情况、运维平台是管理员操作的界面,可以做一些宿主机的迁移等操作,但并不局限于此。
在本申请实施例中,用户通过业务平台201触发虚拟机备份请求,示例性的,用户在使用虚拟机时,可以通过触发虚拟机的数据备份控件触发虚拟机备份请求。
网关平台202用于提供远程服务,由主要是平台资源接口venus、网际协议IP系统和基于角色的访问控制(RBAC,Role-Based Access Control),其中平台资源接口venus提供统一的原平台资源接口;网际协议IP系统管理IP等网络资源、基于角色的访问控制RBAC用来鉴权。
在本申请实施例中,用户触发的虚拟机备份请求通过网关平台202下发给云计算平台203。
云计算平台203包括基础设施即服务(Iaas,Infrastructure-as-a-Service服务的组件),比如核心服务组件、备份组件、存储服务组件等,其中,核心服务组件用来管理虚拟机的生命周期,备份组件用来进行虚拟机备份,存储服务组件用来管理逻辑卷的生命周期。核心服务组件可以是Openstack中的Nova,存储服务组件可以是Openstack中的Cinder。
云计算平台203提供Iaas服务的各个组件可以都位于一个服务器,也可以位于不同的服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
云存储平台204包括多个数据集群,这些数据集群可以进行虚拟机的远程备份以及虚拟机的本地备份,数据集群的类型可以是Ceph、Ipsan、Fcsan等。
在本申请实施例中,用户通过业务平台201触发的虚拟机备份请求,经过网关平台202,到达云计算平台203,云计算平台203中的备份组件与云存储平台204进行交互,实现虚拟机备份。
在本申请实施例中,备份组件可以运行在云计算平台203中的计算节点中,云计算平台203中包括多个计算节点,每个计算节点用于生产虚拟机,所以备份组件是运行在物理机中。
当一个计算节点出现故障后,可以通过其它的计算节点进行备份,从而解决了现有技术中单点代理虚拟机备份过程中存在的问题。
基于图2所示的系统架构,本申请实施例提供了一种虚拟机备份方法的流程,应用于云计算平台中的备份组件,如图3所示,该方法包括以下步骤:
步骤S301,备份组件接收云网关平台发送的虚拟机备份请求,虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求。
在本申请实施例中,用户触发虚拟机备份请求的方式有多种,一种可选的实施例中,用户通过虚拟机操作系统进行触发,触发的方式有多种,可以通过用户点击操作系统的数据备份控件进行触发,也可以通过智能穿戴设备控制触发的,或者通过语音、手势等方式进行触发的,在此不做限定。
在本申请实施例中,虚拟机备份请求可以是在用户触发后立即生成的,也可以按照用户设定的备份时间生成,例如,用户选择晚上8时进行数据备份,则在晚上8时生成了虚拟机备份请,或者按照用户设定的周期备份时间生成备份请求,例如,用户设置了每天备份一次,且每次备份时间为凌晨3时,用户设置的第一个备份周期的时间为2020年3月1日的凌晨3时,则在2020年3月1日的凌晨3时,生成备份请求,在2020年3月2日的凌晨3时,生成备份请求。
当然,上述只是示意性的说明备份请求的生成方式,还有其它的生成方式,在本申请实施例中不做限定。
在本申请实施例中,用户在触发虚拟机备份请求时,能够确定用户使用的虚拟机的标识信息,并且将备份需求也加入到请求中,备份需求指的是用户针对数据备份的备份要求,一种可选的实施例中,备份需求可以分为本地备份或者远程备份,本地备份可以理解为,将虚拟机源数据以及备份数据存储于同一数据集群中,远程备份指的是将虚拟机源数据以及备份数据存储于不同的存数据集群中。
在本申请实施例中,为了便于描述需要备份的虚拟机,在本申请实施例中,用第一目标虚拟机来表征,第一目标虚拟机的标识信息为第一目标虚拟机标识信息。
步骤S302,备份组件根据第一目标虚拟机标识信息确定云存储平台中第一目标虚拟机的待备份数据。
在本申请实施例中,当备份组件确定了第一目标虚拟机标识信息后,能够确定云储平台中目标虚拟机的源数据的存储位置。
在本申请实施例中,由于虚拟机的源数据是需要进行备份的,所以用待备份数据来表征虚拟机的源数据。
在虚拟机创建过程中,备份组件需要确定云存储平台中的存储位置,所以通过第一目标虚拟机标识信息能够找到目标虚拟机的源数据的存储位置。
为了便于描述备份组件通过第一目标虚拟机标识信息能够找到目标虚拟机的源数据的存储位置的过程,首先示例性的介绍云存储平台中的数据结构。
如图4所示,在云存储平台中,包括多个数据集群,每个数据集群中包括多个存储池,与虚拟机的待备份数据位于同一数据集群的存储池可以作为本地备份池,与虚拟机的待备份数据位于同一数据集群的存储池可以作为远程备份池。
本地备份池可以有多个,远程备份池也可以有多个,在本申请实施例中不限制每个数据集群中本地备份池以及远程备份池的数量。
示例性的,若虚拟机的待备份数据位于数据集群1中,则在数据集群1中存在虚拟机的待备份数据对应的存储池,以及多个本地备份池,在数据集群2中,包括多个针对虚拟机的待备份数据的远程备份池。
当然,在数据集群2中,还可以存在针对其他虚拟机待备份数据的本地备份池,没有在图4中示出。
进一步地,每个存储池中是由各个数据块组成,数据块为存储池中的最小存储单位。
在介绍了云存储平台的结构后,备份组件可以基于云存储平台的结构确定待备份数据的位置,也就是说,备份组件需要确定待备份数据在云存储平台中的数据块的位置。
由于待备份数据都是以数据块的方式存储在云存储平台中的,而云计算平台只能查询到这些数据块在云计算平台中的标识信息,所以备份组件通过云计算平台中的标识信息是不能够直接查询到对应的数据块的位置信息,所以在本申请实施例中,备份组件需要从云计算平台中确定虚拟机的各待备份数据块在云计算平台中的标识信息,然后基于云计算平台中的标识信息,确定在云存储平台中的标识信息。
进一步地,在云存储平台中,备份组件针对不同的待备份数据块的类型,确定数据块的存储位置的方法也不同,所以还需要确定待备份数据块的类型。
一种可选的实施例中,数据块的类型可以是数据卷类型,也可以是镜像类型。若数据块的类型是数据卷类型,备份组件则可以确定数据块具有数据卷标识,通过数据卷标识来确定数据卷的存储位置;若数据块的类型是镜像类型,备份组件则需要拼凑数据块的存储位置。
具体的,在本申请实施例中,待备份数据块在云计算平台中的各第一标识信息可以保存在云计算平台中的核心服务组件中,所以备份组件可以从云计算平台中的核心服务组件中获取第一目标虚拟机的各待备份数据块以及各待备份数据块在云计算平台中的各第一标识信息。
基于各第一标识信息,备份组件确定各待备份数据块在云存储平台中的各第二标识信息,基于各第二标识信息能够确定各待备份数据块的类型。具体的,针对任一待备份数据块,若备份组件根据第二标识信息确定待备份数据块的类型为卷存储类型,则根据第二标识信息从云计算平台的存储服务组件中确定存储待备份数据块的存储池,并根据第二标识信息从存储池中获得待备份数据块对应的待备份数据。
若备份组件根据第二标识信息确定待备份数据块的类型为镜像类型,则通过确定待备份数据块的第一目标虚拟机的系统盘名的方式,确定待备份数据块的存储位置。
综上,如图5所示,在备份组件确定了各待备份数据块后,确定待备份数据块的类型,分为卷类型和非卷类型,即镜像类型;针对卷类型,备份组件通过确定卷标识来确定待备份数据块的存储位置,针对镜像类型,备份组件通过确定第一目标虚拟机的虚拟机系统盘,确定待备份数据块的存储位置。
在本申请实施例中,第一目标虚拟机的待备份数据块包括系统盘对应的待备份数据块以及数据盘对应的待备份数据块。第一目标虚拟机的系统盘有1个,数据盘有多个,所以第一目标虚拟机的待备份数据块至少包括系统盘对应的1个待备份数据块以及数据盘对应的多个待备份数据块。
步骤S303,备份组件根据备份需求以及待备份数据,确定云存储平台中的目标备份存储池。
在本申请实施例中,由于数据集群中存在多个存储池,备份组件还需要确定哪些存储池能够进行备份,将确定出的存储池作为目标备份存储池。
一种可选的实施例中,备份组件根据用户的备份需求来确定目标备份存储池。具体的,用户的备份需求至少包括远程备份以及本地备份需求,针对远程备份需求,备份组件需要在与待备份数据不属于同一数据集群的其它数据集群中的各远程备份池中确定目标备份存储池;而针对本地备份需求,备份组件则将云存储平台中与待备份数据属于同一数据集群的各本地备份中确定目标备份存储池。
示例性的,解释上述确定目标备份存储池的方法。针对第一目标虚拟机,备份组件确定第一目标虚拟机的系统盘以及数据盘的数据存储位置,位于云存储平台中的数据集群1,所以在数据集群1中包括一个数据盘的数据以及3个数据盘存储的数据。
在数据集群1中包括多个本地备份池,以及针对其他目标虚拟机的多个远程备份池,若用户的备份需求为本地备份,备份组件则从数据集群1中的多个本地备份池中,选择一个作为目标备份存储池;若用户的备份需求为远程备份,备份组件则从数据集群2、数据集群3、数据集群4、……中选择一个数据集群中的远程备份池作为目标备份池。
进一步地,在本申请实施例中,备份组件选择目标备份池时,还可以根据各数据集群中每个备份池的数据占用情况或者各备份池的空闲状态来确定目标备份池。
示例性的,存在三个可选的本地备份池,待备份的数据块大小为1GB,本地备份池1可存储的数据大小为2GB,本地备份池2可存储的数据大小为0.5GB,本地备份池3可存储的数据大小为0.9GB,则将本地备份池1作为目标备份池。
另一种可选的示例性中,存在三个可选的远程备份池,分别为远程备份池1、远程备份池2以及远程备份池3,远程备份池1正在进行数据备份,远程备份池2在进行数据备份,远程备份池3没有进行数据备份,则选择远程备份池3作为目标备份池。
通过上述内容可知,备份组件在选择目标备份池时,需要进行调度,所以一种可选的实施例中,如图6所示,备份组件600包括备份调度单元601、公共管理单元602以及多个备份控制单元603,备份调度单元601在接收到虚拟机备份请求后,通过公共管理单元602确定请求的有效性,然后调用备份控制单元603进行虚拟机备份。
具体的,备份调度单元601包括接口服务Api server6011、认证模块6012、授权模块6013、路由映射模块6014、备份控制模块Controller6015以及调度模块6016组成。
其中,接口服务Api server6011用于接收网关平台发送的虚拟机备份请求,认证模块6012用于对发送虚拟机备份请求的用户的身份进行认证,授权模块6013用于确定该用户是否有权限进行虚拟机备份,路由映射模块6014用于解析虚拟机备份请求,确定请求处理的虚拟机标识信息,备份控制模块Controller6015调用函数来处理备份请求,调度单元6016用于选择备份控制单元603进行备份操作。
公共管理单元602中包括用户认证信息存储模块6021,数据库6022以及消息中间件模块6023,用户认证信息存储模块6021用于存储用户的认证信息,数据库6022用于存储数据信息,例如备份控制单元603的信息,消息中间件模块6023用于支持备份调度单元601和备份控制单元603之间的通信。
备份控制单元603中包括守护程序服务daemon server6031、备份管理模块6032、本地备份子系统6033和远程备份子系统6034,并且本地备份子系统6033包括本地备份子系统驱动60331,远程备份子系统6034包括远程备份子系统驱动60341。
守护程序服务daemon server6031用于对备份控制单元603的程序支持,使得备份控制单元603能够一直运行,备份管理模块6032用于对本地备份子系统6033和远程备份子系统6034进行管理,本地备份子系统6033用于进行虚拟机的本地备份,远程备份子系统6034用于进行虚拟机的远程备份,本地备份子系统驱动60331会确定本地备份需求对应的目标备份池,并进行数据备份,远程备份子系统驱动60341会确定远程备份需求对应的目标备份池,并进行数据备份。
备份管理模块6032可以将本地备份子系统6033和远程备份子系6034注册到公共管理单元602中,并将本地备份子系统6033和远程备份子系6034的信息保存在数据库6022中,进一步地的,本地备份子系统6033和远程备份子系6034的信息包括各本地备份子系统驱动60331以及远程备份子系统驱动60341的信息。
在介绍了上述备份组件的具体结构后,具体解释确定目标备份存储池的过程,备份调度单元获取已注册在公共管理单元中的各备份控制单元,并确定各备份控制单元管理的云存储平台的各备份存储池,即确定本地备份子系统对应的数据集群中的存储池以及远程备份子系统对应的数据集群中的存储池。
备份调度单元根据备份需求以及待备份数据,确定各备份存储池中与备份需求匹配的各待选备份存储池,即需要的是远程备份池,还是本地备份池,并调用各待选备份存储池对应的各备份控制单元。
在本申请实施例中,针对每个虚拟机的待备份数据块,需要由备份调度单元调用各备份控制单元,即备份调度单元根据各备份控制单元的进程选择一个待选备份存储池作为目标备份存储池,也就是通过本地备份子系统驱动以及远程备份子系统驱动来确定目标备份存储池。
示例性的解释备份组件中各个结构在接收到虚拟机备份请求后的处理过程。首先,在接收虚拟机备份请求前,备份控制单元在公共管理单元中注册,注册的形式是可以将各驱动信息注册到公共管理单元中,这样在公共管理单元中就保存了各驱动信息;同时,当驱动信息发生变化时,公共管理单元中的驱动信息也发生变化。
在云存储平台中的每个数据集群可以对应一个驱动,这个驱动对应一个子系统,可以是远程备份子系统,也可以是本地备份子系统。
备份调度单元在接收到虚拟机备份请求并在确定发送虚拟机请求的用户具有数据备份权限后,从公共管理单元中的数据库查询可调用的驱动,一种可选的实施例中,备份调度单元中的调度模块可以根据备份数据量确定可调用的驱动,另一种可选的实施例中,调度模块根据各驱动的空闲状态,确定可调用的驱动。
在本申请实施例中,虚拟机存在多个待备份数据块,所以针对每个待备份数据块,调度模块选择一个驱动,通过驱动完成备份操作。
具体如图7所示,针对虚拟机1,确定的待备份数据块为系统盘数据块、数据盘数据块1以及数据盘数据块2;针对虚拟机2,确定的待备份数据块为系统盘数据块、数据盘数据块1以及数据盘数据块2。
通过备份调度单元中的调度模块,确定虚拟机1的系统盘数据块由备份控制单元1中的驱动1进行备份,其中驱动1对应云存储平台中的数据集群1,驱动1从数据集群1中选择目标备份池;虚拟机1的数据盘数据块1由备份控制单元2中的驱动1进行备份,其中驱动1对应云存储平台中的数据集群3,驱动1从数据集群3中选择目标备份池;虚拟机1的数据盘数据块2由备份控制单元3中的驱动1进行备份,其中驱动1对应云存储平台中的数据集群5,驱动1从数据集群5中选择目标备份池。
针对虚拟机2,确定的待备份数据块为系统盘数据块、数据盘数据块1以及数据盘数据块2。
通过备份调度单元中的调度模块,确定虚拟机2的数据盘数据块2由备份控制单元1中的驱动2进行备份,其中驱动2对应云存储平台中的数据集群2,驱动2从数据集群2中选择目标备份池;虚拟机2的系统盘数据块由备份控制单元2中的驱动2进行备份,其中驱动2对应云存储平台中的数据集群4,驱动2从数据集群4中选择目标备份池;虚拟机2的数据盘数据块1由备份控制单元3中的驱动2进行备份,其中驱动2对应云存储平台中的数据集群6,驱动2从数据集群6中选择目标备份池。
步骤S304,备份组件将待备份数据备份在目标备份存储池中。
在本申请实施例中,当确定了目标备份池后,将待备份数据备份在目标备份存储池中,即若是远程备份,备份组件则从待备份数据对应的数据集群备份至其他数据集群中的目标备份存储池;若是本地备份,备份组件则从待备份数据对应的数据集群备份到该数据集群的目标备份存储池中。
一种可选的实施例中,由于备份数据量不同,备份组件可以对待备份数据进行全量备份以及增量备份。
全量备份指的是将虚拟机所有的数据进行备份,而增量备份指的是在两次备份之间产生的数。在备份组件备份过程中,需要考虑云存储平台中的存储空间使用情况,所以可以采用全量备份和增量备份的混合备份方法,对虚拟机的数据实现多次备份处理,具体如图8所示。
在图8中,针对虚拟机进行了14次备份,其中第1次备份、第7次备份、第10次备份以及第11次备份是全量备份,其余的备份是增量备份。通过上述备份方式,避免了增量备份过程中依赖链太长的问题。
在本申请实施例中,通过混合备份的方式,能够减少数据备份的压力,例如待备份数据为30G,现有技术中会使用全量备份的方法,全量一次就30G,两次就60G,但是在本申请中,增量备份只备份差异,比如第一次1G,第二次还是1G,备份6次估计才占用了5G的备份空间。
当然,上述实施例只是一种可选的增量备份以及全量备份组合的方式进行备份的示例,其它组合的方式也在本申请的保护范围内,在此不做赘述。
在介绍了全量以及增量备份的混合方案后,下面首先介绍全量备份的处理过程。
如图9所示,全量备份的过程是,首先备份组件在原始的待备份数据块上面进行快照处理,得到快照1,然后在目标备份池中,备份组件创建一个和待备份数据块大小相同的空白数据区,然后将待备份数据拷贝到该空白数据区中,在将待备份数据拷贝到该空白数据区后,将快照1与已备份数据对应,完成了全量数据的备份过程。
快照1能够在增量备份时,确定两次备份之间的数据量,具体如图10所示,具体介绍增量备份的过程。
首先备份组件根据上次备份的全量数据的快照1,确定了本次增量备份数据的快照2,然后备份组件在目标备份池中将快照1以及快照2之间的数据进行拷贝,并将目标备份池中增量备份数据与快照2进行对应,便于下次增量备份的过程。
在上述实施例中,可以将全量备份作为增量备份的一种特殊实施例,即在本申请实施例中,都是可以通过两次快照之间的数据进行增量备份。把两次快照的第一个快照设置为创建盘时的快照,那两个快照之间的差量就是全量备份,这样就做到了通过两次快照统一实现增量备份和全量备份。
在本申请实施例中,快照技术把数据在某一时刻的映像也保留了下来,在生成快照时,可以使用复制写快照Copy-on-write 方法,也可以使用重定向写快照Redirect-on-write方法,还可以使用其它生成快照的方法有多种,在此不做赘述。
进一步地,在数据备份的时候需要打快照,而在制作快照的时候,一般是使用循环遍历对虚拟机的所有数据盘以及系统盘制作快照,而这个过程可能会存在数据一致性的问题。
首先,虚拟机所有的盘做快照的时间不一致,循环遍历所有盘的时候会存在细微的时间差距,其次,在做快照的时候,可能还存在部分数据还没有完全落盘在文件系统缓存中,所以在此时生成快照并进行数据备份,则有可能会导致文件系统损坏。
所以基于上述问题,可以进一步地,在生成数据快照前,备份组件可以首先冻结虚拟机的文件系统,通过冻结文件系统来保证虚拟机所有盘的快照数据的一致性。
如图11所示,备份组件在冻结虚拟机的所有盘时,需要确定虚拟机在云计算平台中对应的计算节点。
在本申请实施例中,备份组件位于云计算平台中的控制节点中,通过备份组件能够基于虚拟机的标识信息找到这个虚拟机所在的云计算平台中的计算节点,然后备份组件通过传输控制协议TCP远程调用管理工具libvirt的冻结文件命令domfsfreeze,将虚拟机的文件系统进行冻结。
在本申请实施例中,在备份组件冻结了虚拟机的文件系统后,就可以进行数据备份的过程,一种可选的实施例中,为了实现数据快速转移,可以使用数据管道技术,实现数据备份的过程。
具体的,如图12所示,在实现增量和全量备份过程中,备份组件将待备份数据块通过数据管道输出指令rbd export-diff以及数据管道输入指令rbd import-diff从原备份池写入目标备份池中,通过数据管道把待备份数据的标准输出和标准输入连接起来,可以做到备份数据的直接对等拷贝,不需要通过第三方中转,提高了数据备份的速度。
如图13所示,通过数据管道技术,备份组件将待备份数据从原数据集群备份至目标备份池对应的数据集群中,不需要通过第三方中转,提高了数据备份的速度,也保证了数据的安全性。
通过上述内容可知,虚拟机备份请求还可以包括备份数据量信息,根据备份数据流信息进行备份,具体的,备份组件确定第一目标虚拟机的计算节点,并冻结计算节点的文件系统,对云存储平台中第一目标虚拟机的待备份数据进行快照处理,得到待备份数据快照,解冻计算节点的文件系统,根据备份数据量信息以及待备份数据快照将待备份数据通过数据管道技术备份在目标备份存储池中。
具体的,备份数据量信息为全量备份,则在目标备份存储池中生成了与待备份数据的数据量匹配的空白存储块,将待备份数据快照对应的待备份数据备份在空白存储块中。
另一种可选的实施例中,备份数据量信息为增量备份,备份组件将前序备份数据快照与待备份数据快照之间的待备份数据备份在目标备份存储池中,前序备份数据快照是根据目标备份存储池中已备份数据确定的。
为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的一种虚拟机备份方法,该方法由备份组件执行,如图14所示,云计算平台为Openstack平台,云存储平台为Ceph,具体包括以下步骤:
步骤S1401,通过备份组件中的备份调度单元,接收虚拟机备份请求;
步骤S1402,备份调度单元基于虚拟机备份请求确定待备份虚拟机,以及待备份虚拟机的系统盘以及数据盘;
步骤S1403,备份调度单元通过需要备份的虚拟机的标识信息,在Nova中查找到虚拟机所有的待备份数据块对应的存储池;
步骤S1404,备份调度单元针对每一个待备份数据块对应的存储池,找到其在Ceph集群中的位置,包括池名,存储块rbd名,规则如下:判断块设备类型,如果类型是卷类型volume,则说明这个待备份数据块对应的存储池是一个卷,那他会有卷标识volume_id,也就是这个待备份数据块对应的存储池由Cinder管理,不管是数据盘还是卷启动虚拟机的系统盘,那这个块设备在Ceph中的名字可以从Cinder中获取;
步骤S1405,备份调度单元对每一个磁盘冻结文件系统,具体的,备份调度单元通过虚拟机标识信息找到这个虚拟机所在的计算节点,备份调度单元件通过TCP远程调用libvirt的命令domfsfreeze进行虚拟机文件系统冻结;
步骤S1406,备份调度单元对每一个磁盘制作快照;
步骤S1407,备份调度单元对每一个磁盘解冻文件系统;
步骤S1408,备份调度单元对每一个磁盘进行调度,任务分解,选择一个合适的备份控制单元;
步骤S1409,备份控制单元通过备份子系统驱动driver进行备份的操作;
步骤S1410,备份子系统驱动driver针对增量备份和全量备份分别通过数据管道进行数据的拷贝,完成备份。
在介绍了虚拟机数据备份的过程后,本申请实施例中,还可以进行数据恢复,将已备份的数据还原到原始的数据卷上,也就是把已经完成的备份数据替换掉虚拟机待备份的数据,即将已完成的备份数据从目标备份池,转移到虚拟机数据的原备份池中。
具体的,由于在备份过程中,包括全量备份以及增量备份的过程,所以在数据恢复过程中,也包括全量备份数据恢复和增量数据备份恢复。
具体的,如图15以及图16所示,备份组件根据待恢复数据的虚拟机标识信息找到所有的数据盘和系统盘,并在确定每一个磁盘的类型后,将磁盘进行磁盘标识的转换,即转化成云存储平台的存储池名和数据块名,例如Ceph的池名和rbd名。
备份组件根据备份数据块名找到备份信息里面记录的在创建备份时调度到的备份控制单元,将备份恢复请求传送到备份控制单元,备份控制单元调用备份子系统驱动进行备份恢复。
如图15所示,为增量恢复的过程,将原数据块中的数据快照1对应的已备份数据块替换原数据块中的数据;如图16所示,为全量恢复的过程,将数据快照2之前对应的已备份数据块替换原数据块中的所有数据。
图15中替换的数据为增量备份前的一部分数据,而图16中则是将全部的已备份数据进行数据恢复。
综上,本申请实施例中的数据恢复过程,可以总结为:备份组件接收备份恢复请求,备份恢复请求中包括第二目标虚拟机的第二目标虚拟机标识信息,这里的第二目标虚拟机是为了与备份需求的虚拟机进行区分,所以用第二目标虚拟机来表示。
备份组件根据第二目标虚拟机标识信息在云存储平台中确定第二目标虚拟机的源数据以及备份数据,将备份数据替换源数据。
本申请实施例通过备份组件实现虚拟机整机备份,包含增量备份、全量备份功能、手动备份、自动备份功能、本地备份、远程备份功能,并且本申请实施例中的虚拟机备份方法不依赖于备份厂商,有利于提高云计算平台的可靠性,提升了云计算平台的服务质量。
基于相同的技术构思,本申请实施例提供了一种备份组件1700,如图17所示,该备份组件1700包括:
备份调度单元1701,用于接收云网关平台发送的虚拟机备份请求,虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求,根据第一目标虚拟机标识信息确定云存储平台中第一目标虚拟机的待备份数据,根据备份需求以及待备份数据,基于公共管理单元中注册的各备份控制单元确定云存储平台中的目标备份存储池,并调用对应的备份控制单元;
公共管理单元1702,用于管理备份调度单元以及各备份控制单元;
各备份控制单元1703,用于在被备份调度单元调用后,通过数据管道技术读取所述待备份数据,并将所述待备份数据写入所述目标备份存储池中。
可选的,各备份控制单元1703具体用于:
将读取待备份数据的进程与写入待备份数据的进程连接起来,建立数据管道;
从待备份数据对应的云存储平台中的原存储池中,读取待备份数据,并通过数据管道,将待备份数据写入目标备份存储池中。
可选的,备份调度单元1701具体用于:
根据第一目标虚拟机标识信息,从云计算平台中的核心服务组件 中获取第一目标虚拟机的各待备份数据块以及各待备份数据块在云计算平台中的各第一标识信息 ;
根据各第一标识信息,确定各待备份数据块在云存储平台中的各第二标识信息 ;
针对任一待备份数据块,若根据第二标识信息确定待备份数据块的类型为卷存储类型,则根据第二标识信息从云计算平台的存储服务组件 中确定存储待备份数据块的存储池,并根据第二标识信息从存储池中获得待备份数据块对应的待备份数据。
可选的,备份需求为远程备份需求,备份调度单元1701具体用于:
将云存储平台中与待备份数据不属于同一数据集群的其它数据集群中的各远程备份池作为待选备份存储池;
针对每个待备份数据块,选择一个待选备份存储池作为目标备份存储池。
可选的,备份需求为本地备份需求,备份调度单元1701具体用于:
将云存储平台中与待备份数据属于同一数据集群的各本地备份池作为待选备份存储池;
针对每个待备份数据块,选择一个待选备份存储池作为目标备份存储池。
可选的,备份调度单元1701具体用于:
获取已注册在公共管理单元中的各备份控制单元,并确定各备份控制单元管理的云存储平台的各备份存储池;
根据备份需求以及待备份数据,确定各备份存储池中与备份需求匹配的各待选备份存储池,并调用各待选备份存储池对应的各备份控制单元;
针对每个待备份数据块,根据各备份控制单元的进程选择一个待选备份存储池作为目标备份存储池;
各目标备份池对应的各备份控制单元1703具体用于:
将各待备份数据块备份在对应的目标备份存储池中。
可选的,备份控制单元1703具体用于:
将各待备份数据块通过数据管道技术备份在对应的目标备份存储池中。
可选的,备份调度单元1701具体用于:
获取公共管理单元中的已注册备份控制单元列表,已注册备份控制单元列表是公共管理单元在接收到各备份控制单元的注册信息后确定的,注册信息是各备份控制单元启动时发送的;
根据已注册备份控制单元列表获取已注册在公共管理单元中的各备份控制单元。
可选的,虚拟机备份请求还包括备份数据量信息,备份调度单元1701还用于:
确定第一目标虚拟机的计算节点,并冻结计算节点的文件系统;
对云存储平台中第一目标虚拟机的待备份数据进行快照处理,得到待备份数据快照;
解冻计算节点的文件系统;
备份控制单元1701具体用于:
根据备份数据量信息以及待备份数据快照将待备份数据备份在目标备份存储池中。
可选的,备份数据量信息为全量备份,备份控制单元1701具体用于:
在目标备份存储池中生成了与待备份数据的数据量匹配的空白存储块;
将待备份数据快照对应的待备份数据备份在空白存储块中。
可选的,备份数据量信息为增量备份,备份控制单元1701具体用于:
将前序备份数据快照与待备份数据快照之间的待备份数据备份在目标备份存储池中,前序备份数据快照是根据目标备份存储池中已备份数据确定的。
可选的,备份调度单元1701还用于:
接收备份恢复请求,备份恢复请求中包括第二目标虚拟机的第二目标虚拟机标识信息;
根据第二目标虚拟机标识信息在云存储平台中确定第二目标虚拟机的源数据以及备份数据;
备份控制单元1703还用于:
将备份数据替换源数据。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图18所示,包括至少一个处理器1801,以及与至少一个处理器连接的存储器1802,本申请实施例中不限定处理器1801与存储器1802之间的具体连接介质,图18中处理器1801和存储器1802之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1802存储有可被至少一个处理器1801执行的指令,至少一个处理器1801通过执行存储器1802存储的指令,可以执行前述的虚拟机备份方法中所包括的步骤。
其中,处理器1801是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1802内的指令以及调用存储在存储器1802内的数据,从而创建虚拟机。可选的,处理器1801可包括一个或多个处理单元,处理器1801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1801中。在一些实施例中,处理器1801和存储器1802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行虚拟机备份方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种虚拟机备份方法,其特征在于,应用在云计算平台计算节点中的备份组件,所述方法包括:
接收云网关平台发送的虚拟机备份请求,所述虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求;
根据所述第一目标虚拟机标识信息确定所述第一目标虚拟机的各待备份数据块在云存储平台中的存储标识信息以及存储类型,基于所述存储标识信息以及存储类型确定所述云存储平台中所述第一目标虚拟机的待备份数据;
根据所述备份需求以及所述待备份数据,确定所述云存储平台中的目标备份存储池;
通过数据管道技术读取所述待备份数据,并将所述待备份数据写入所述目标备份存储池中。
2.根据权利要求1所述的方法,其特征在于,所述通过数据管道技术读取所述待备份数据,并将所述待备份数据写入所述目标备份存储池中,包括:
将读取待备份数据的进程与写入待备份数据的进程连接起来,建立数据管道;
从所述待备份数据对应的云存储平台中的原存储池中,读取所述待备份数据,并通过所述数据管道,将待备份数据写入所述目标备份存储池中。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标虚拟机标识信息确定所述第一目标虚拟机的各待备份数据块在云存储平台中的存储标识信息以及存储类型,基于所述存储标识信息以及存储类型确定所述云存储平台中所述第一目标虚拟机的待备份数据,包括:
根据所述第一目标虚拟机标识信息,从所述云计算平台中的核心服务组件中获取所述第一目标虚拟机的各待备份数据块以及各待备份数据块在所述云计算平台中的各第一标识信息;
根据各第一标识信息,确定各待备份数据块在所述云存储平台中的各第二标识信息;
针对任一待备份数据块,若根据所述第二标识信息确定所述待备份数据块的类型为卷存储类型,则根据所述第二标识信息从所述云计算平台的存储服务组件中确定存储所述待备份数据块的存储池,并根据所述第二标识信息从所述存储池中获得所述待备份数据块对应的所述待备份数据。
4.根据权利要求1所述的方法,其特征在于,所述备份需求为远程备份需求,所述根据所述备份需求以及所述待备份数据,确定所述云存储平台中的目标备份存储池,包括:
将所述云存储平台中与所述待备份数据不属于同一数据集群的其它数据集群中的各远程备份池作为待选备份存储池;
针对每个待备份数据块,选择一个所述待选备份存储池作为所述目标备份存储池。
5.根据权利要求1所述的方法,其特征在于,所述备份需求为本地备份需求,所述根据所述备份需求以及所述待备份数据,确定所述云存储平台中的目标备份存储池,包括:
将所述云存储平台中与所述待备份数据属于同一数据集群的各本地备份池作为待选备份存储池;
针对每个待备份数据块,选择一个所述待选备份存储池作为所述目标备份存储池。
6.根据权利要求4或5所述的方法,其特征在于,所述备份组件包括备份调度单元、公共管理单元以及多个备份控制单元;
所述根据所述备份需求以及所述待备份数据,确定所述云存储平台中的目标备份存储池,包括:
所述备份调度单元获取已注册在所述公共管理单元中的各备份控制单元,并确定各备份控制单元管理的所述云存储平台的各备份存储池;
所述备份调度单元根据所述备份需求以及所述待备份数据,确定所述各备份存储池中与所述备份需求匹配的各待选备份存储池,并调用各待选备份存储池对应的各备份控制单元;
所述针对每个待备份数据块,选择一个所述待选备份存储池作为所述目标备份存储池,包括:
针对每个待备份数据块,所述备份调度单元根据各备份控制单元的进程选择一个所述待选备份存储池作为所述目标备份存储池;
所述将所述待备份数据备份在所述目标备份存储池中,包括:
各目标备份池对应的各备份控制单元,将各待备份数据块备份在对应的目标备份存储池中。
7.根据权利要求6所述的方法,其特征在于,所述各目标备份存储池对应的各备份控制单元,将各待备份数据块备份在对应的目标备份存储池中,包括:
各目标备份池对应的各备份控制单元,将各待备份数据块通过数据管道技术备份在对应的目标备份存储池中。
8.根据权利要求6所述的方法,其特征在于,所述备份调度单元获取已注册在所述公共管理单元中的各备份控制单元,包括:
所述备份调度单元获取所述公共管理单元中的已注册备份控制单元列表,所述已注册备份控制单元列表是所述公共管理单元在接收到各备份控制单元的注册信息后确定的,所述注册信息是各备份控制单元启动时发送的;
所述备份调度单元根据所述已注册备份控制单元列表获取已注册在所述公共管理单元中的各备份控制单元。
9.根据权利要求8所述的方法,其特征在于,所述虚拟机备份请求还包括备份数据量信息,所述根据所述第一目标虚拟机标识确定云存储平台中第一目标虚拟机的待备份数据后,还包括:
确定所述第一目标虚拟机的计算节点,并冻结所述计算节点的文件系统;
对所述云存储平台中第一目标虚拟机的所述待备份数据进行快照处理,得到待备份数据快照;
解冻所述计算节点的文件系统;
将所述待备份数据备份在所述目标备份存储池中,包括:
根据所述备份数据量信息以及所述待备份数据快照将所述待备份数据备份在所述目标备份存储池中。
10.根据权利要求9所述的方法,其特征在于,所述备份数据量信息为增量备份,所述根据所述备份数据量信息以及所述待备份数据快照将所述待备份数据备份在所述目标备份存储池中,包括:
将前序备份数据快照与所述待备份数据快照之间的待备份数据备份在所述目标备份存储池中,所述前序备份数据快照是根据所述目标备份存储池中已备份数据确定的。
11.根据权利要求1所述的方法,其特征在于,所述将所述待备份数据备份在所述目标备份存储池后,还包括:
接收备份恢复请求,所述备份恢复请求中包括第二目标虚拟机的第二目标虚拟机标识信息;
根据所述第二目标虚拟机标识信息在所述云存储平台中确定所述第二目标虚拟机的源数据以及备份数据;
将所述备份数据替换所述源数据。
12.一种备份组件,其特征在于,应用在云计算平台计算节点中,包括:
备份调度单元,用于接收云网关平台发送的虚拟机备份请求,所述虚拟机备份请求中包括第一目标虚拟机的第一目标虚拟机标识信息以及备份需求,根据所述第一目标虚拟机标识信息确定所述第一目标虚拟机的各待备份数据块在云存储平台中的存储标识信息以及存储类型,基于所述存储标识信息以及存储类型确定所述云存储平台中所述第一目标虚拟机的待备份数据,根据所述备份需求以及所述待备份数据,基于公共管理单元中注册的各备份控制单元确定所述云存储平台中的目标备份存储池,并调用对应的备份控制单元;
公共管理单元,用于管理所述备份调度单元以及各备份控制单元;
各备份控制单元,用于在被备份调度单元调用后,通过数据管道技术读取所述待备份数据,并将所述待备份数据写入所述目标备份存储池中。
13.一种云计算系统,其特征在于,所述系统包括云网关层、云计算层以及云存储层;
所述云网关层用于向用户提供虚拟机备份服务,将所述用户触发的虚拟机备份请求发送给云计算层;
所述云计算层用于在接收到所述虚拟机备份请求后,执行权利要求1~11任一所述方法,从存储各虚拟机数据的所述云存储层中确定所述虚拟机备份请求对应的待备份数据,以及从所述云存储层中确定目标备份池,通过数据管道技术读取所述待备份数据,并将所述待备份数据写入所述目标备份存储池中。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~11任一权利要求所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~11任一权利要求所述方法的步骤。
CN202010774902.6A 2020-08-05 2020-08-05 一种虚拟机备份方法、组件及云计算系统 Active CN111651305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010774902.6A CN111651305B (zh) 2020-08-05 2020-08-05 一种虚拟机备份方法、组件及云计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010774902.6A CN111651305B (zh) 2020-08-05 2020-08-05 一种虚拟机备份方法、组件及云计算系统

Publications (2)

Publication Number Publication Date
CN111651305A CN111651305A (zh) 2020-09-11
CN111651305B true CN111651305B (zh) 2020-11-03

Family

ID=72345486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010774902.6A Active CN111651305B (zh) 2020-08-05 2020-08-05 一种虚拟机备份方法、组件及云计算系统

Country Status (1)

Country Link
CN (1) CN111651305B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306762A (zh) * 2020-10-30 2021-02-02 西安万像电子科技有限公司 通信处理方法、装置及系统、非易失性存储介质
CN112596948B (zh) * 2020-12-21 2024-04-02 深圳市科力锐科技有限公司 一种数据库集群数据备份方法、装置、设备及存储介质
CN112988460B (zh) * 2021-02-05 2022-05-27 新华三大数据技术有限公司 一种虚拟机的数据备份方法及装置
CN112817698A (zh) * 2021-02-20 2021-05-18 咪咕音乐有限公司 一种虚拟机备份方法、装置、电子设备和存储介质
CN113722157B (zh) * 2021-11-03 2022-03-08 苏州浪潮智能科技有限公司 一种虚拟机数据管理方法、装置、设备及介质
CN115344428A (zh) * 2022-08-12 2022-11-15 广州鼎甲计算机科技有限公司 数据处理方法、装置、计算机设备、存储介质和程序产品
CN115562911B (zh) * 2022-12-07 2023-04-25 中科方德软件有限公司 虚拟机数据备份方法及装置、系统、电子设备、存储介质
CN117033085B (zh) * 2023-10-09 2024-01-19 武汉吧哒科技股份有限公司 kvm虚拟机备份方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662522A (zh) * 2012-09-28 2015-05-27 Emc公司 使用存储系统功能性的全虚拟机备份的系统和方法
CN102834811B (zh) * 2010-05-25 2015-08-19 国际商业机器公司 多级联备份过程
WO2017054536A1 (zh) * 2015-09-29 2017-04-06 华为技术有限公司 一种容灾方法、设备和系统
CN106598787A (zh) * 2016-12-31 2017-04-26 云宏信息科技股份有限公司 基于Xen的无代理备份还原方法和系统
CN108874585A (zh) * 2018-05-25 2018-11-23 北京极秒科技有限公司 文件备份方法、装置及系统
CN110196755A (zh) * 2019-05-07 2019-09-03 腾讯科技(深圳)有限公司 一种虚拟机快照管理方法、装置、服务器及存储介质
CN111382008A (zh) * 2018-12-28 2020-07-07 北京金山云网络技术有限公司 一种虚拟机数据的备份方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720717B2 (en) * 2013-03-14 2017-08-01 Sandisk Technologies Llc Virtualization support for storage devices
CN110609731B (zh) * 2018-06-15 2023-08-18 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机程序产品

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102834811B (zh) * 2010-05-25 2015-08-19 国际商业机器公司 多级联备份过程
CN104662522A (zh) * 2012-09-28 2015-05-27 Emc公司 使用存储系统功能性的全虚拟机备份的系统和方法
WO2017054536A1 (zh) * 2015-09-29 2017-04-06 华为技术有限公司 一种容灾方法、设备和系统
CN106598787A (zh) * 2016-12-31 2017-04-26 云宏信息科技股份有限公司 基于Xen的无代理备份还原方法和系统
CN108874585A (zh) * 2018-05-25 2018-11-23 北京极秒科技有限公司 文件备份方法、装置及系统
CN111382008A (zh) * 2018-12-28 2020-07-07 北京金山云网络技术有限公司 一种虚拟机数据的备份方法、装置及系统
CN110196755A (zh) * 2019-05-07 2019-09-03 腾讯科技(深圳)有限公司 一种虚拟机快照管理方法、装置、服务器及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
使用PB数据管道对象实现多数据库备份与更新;赵祥,等;;《计算机工程与应用》;20041231(第26期);163-165 *
数据管道技术在系统数据备份与恢复中的应用;石青,等;;《软件导刊》;20110430;157-159 *

Also Published As

Publication number Publication date
CN111651305A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111651305B (zh) 一种虚拟机备份方法、组件及云计算系统
US9983825B2 (en) Efficient data volume replication for block-based storage
US10489422B2 (en) Reducing data volume durability state for block-based storage
US10169068B2 (en) Live migration for virtual computing resources utilizing network-based storage
CA2929777C (en) Managed service for acquisition, storage and consumption of large-scale data streams
CN109344000B (zh) 区块链网络服务平台、恢复工具及其故障处理方法、存储介质
CA2930026C (en) Data stream ingestion and persistence techniques
RU2595482C2 (ru) Обеспечение прозрачной отработки отказа в файловой системе
CA2923068C (en) Method and system for metadata synchronization
US20170116088A1 (en) Virtual machine data protection
US10445186B1 (en) Associating a guest application within a virtual machine to create dependencies in backup/restore policy
US20190220361A1 (en) Monitoring Containers In A Distributed Computing System
US11392497B1 (en) Low latency access to data sets using shared data set portions
US10754741B1 (en) Event-driven replication for migrating computing resources
CA2929776A1 (en) Client-configurable security options for data streams
US10191958B1 (en) Storage provisioning in a data storage environment
US11550713B1 (en) Garbage collection in distributed systems using life cycled storage roots
US10620871B1 (en) Storage scheme for a distributed storage system
CN111209090B (zh) 一种云平台中虚拟机的创建方法、组件及服务器
CN112445570A (zh) 一种云平台资源迁移方法及其装置、存储介质
US11593270B1 (en) Fast distributed caching using erasure coded object parts
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
CN115470041A (zh) 一种数据灾备管理方法及装置
US20210303530A1 (en) Providing enhanced security for object access in object-based datastores
US11121981B1 (en) Optimistically granting permission to host computing resources

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028560

Country of ref document: HK