一种磁盘镜像文件跨平台迁移方法及系统与流程

文档序号:30249150发布日期:2022-06-02 01:13阅读:209来源:国知局
一种磁盘镜像文件跨平台迁移方法及系统与流程

1.本发明涉及计算机技术领域,尤其涉及一种磁盘镜像文件跨平台迁移方法及系统。


背景技术:

2.虚拟化技术是一种资源管理技术,是将云计算平台中各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式应用这些资源。虚拟化技术带来最重要的优势之一就是虚拟机的迁移,而跨平台迁移是指将虚拟机从一个平台迁移到另外一个平台中。
3.现有的虚拟机跨平台迁移方案,通常在第一平台上对虚拟机的逻辑卷(lv)进行全量备份,此时,备份文件为raw格式,然后再将备份文件导入第二平台上,并需要执行raw格式与raw格式的转换,在第二平台上基于该备份文件进行虚拟机的恢复,以实现虚拟机跨平台迁移。然而,在第一平台上对虚拟机备份、导入以及恢复需要耗费较长的时间,从而导致迁移过程耗时较长,而且,数据发生改变时,又需要重新进行全量备份,存在不必要的数据重复传输的缺点;同时,第一平台的raw格式的虚拟磁盘转换第二平台的raw格式的虚拟磁盘的差异较大,qemu-img转换无法识别其文件格式,在转换时会占用较大的cpu资源,从而导致不仅占用了较大的cpu资源。另外,现有的迁移方案需要将qemu-nbd与nbd内核进行绑定,使得第一平台的逻辑卷被映射为第二平台的块设备,而nbd内核设备存在数量限制,一般为16个,由此导致并发量比较低。当读写出现内核态异常时,需要重启服务器才能进行恢复,不仅耗费大量时间,而且还影响用户体验。
4.有鉴于此,有必要对现有技术中的跨平台迁移方法予以改进,以解决上述问题。


技术实现要素:

5.本发明的目的在于揭示一种磁盘镜像文件跨平台迁移方法及系统,用以实现在多平台场景中部署的虚拟机的系统盘以及数据盘的备份。
6.为实现上述目的,本发明提供了一种磁盘镜像文件跨平台迁移方法,包括:
7.基于时间轴的任意时间点,获取第一平台部署的虚拟机的逻辑卷的目标增量数据;
8.基于时间轴的任意时间点,在第二平台创建基础qcow文件,并将所述目标增量数据按照所对应的时间点上传至所述基础qcow文件,以确定目标qcow文件;
9.将所述目标qcow文件转换处理为目标raw文件。
10.作为本发明的进一步改进,所述基于时间轴的任意时间点,获取第一平台部署的虚拟机的逻辑卷的目标增量数据,包括:
11.基于时间轴的任意时间点,对第一平台部署的虚拟机的逻辑卷执行备份操作,得到虚拟机的逻辑卷基于时间轴的任意时间点所对应的一个全量备份点以及若干增量备份点;
12.根据所述一个全量备份点以及若干增量备份点,得到第一平台部署的虚拟机的逻辑卷的全量备份点所对应的全量数据,以及增量备份点所对应的增量数据。
13.作为本发明的进一步改进,所述基于时间轴的任意时间点,在第二平台创建基础qcow文件,并将所述目标增量数据按照所对应的时间点上传至所述基础qcow文件,以确定目标qcow文件,还包括:
14.将所述目标增量数据的格式转换为qcow格式并上传至第二平台创建的基础qcow文件,以确定目标qcow文件。
15.作为本发明的进一步改进,所述根据所述一个全量备份点以及若干增量备份点,得到第一平台部署的虚拟机的逻辑卷的全量备份点所对应的全量数据,以及增量备份点所对应的增量数据之后,还包括:
16.将所述全量备份点所对应的全量数据,以及增量备份点所对应的增量数据上传并存储至第一存储系统,所述第一存储系统包括形成于第一平台中的虚拟磁盘,或者被第二平台访问的持久化存储介质。
17.作为本发明的进一步改进,所述基于时间轴的任意时间点,在第二平台创建基础qcow文件,并将所述目标增量数据按照所对应的时间点上传至所述基础qcow文件,以确定目标qcow文件之后,还包括:
18.将基于时间轴的任意时间点所对应的目标qcow文件上传并存储至第二存储系统,所述第二存储系统包括部署于第二平台的虚拟磁盘或者被第三平台访问的持久化存储介质。
19.作为本发明的进一步改进,所述将基于时间轴的任意时间点所对应的目标qcow文件上传并存储至第二存储系统之后,还包括:
20.所述目标qcow文件在第二存储系统内生成基于时间轴的目标qcow文件的数据链,以根据所述数据链上不同时间点的目标qcow文件恢复至第一平台部署的虚拟机的逻辑卷的基于时间轴上任意时间点所对应的虚拟机的逻辑卷所包含的磁盘数据。
21.作为本发明的进一步改进,所述磁盘镜像文件跨平台迁移方法还包括:
22.将基于时间轴的目标qcow文件所生成的数据链映射至第三平台,在第三平台中创建后备qcow文件,将所述后备qcow文件与第二平台的目标qcow文件执行分支合并操作,以形成后端镜像文件并存储至第三平台。
23.作为本发明的进一步改进,所述将基于时间轴的目标qcow文件所生成的数据链映射至第三平台还包括:
24.第三平台对所述目标qcow文件仅保留只读权限,以继承时间轴上确定的时间点所对应的后端镜像文件。
25.基于相同发明思想,本发明还提供了一种磁盘镜像文件跨平台迁移系统,所述磁盘镜像文件跨平台迁移系统,包括:
26.数据获取模块,所述数据获取模块基于时间轴的任意时间点,获取第一平台部署的虚拟机的逻辑卷的目标增量数据;
27.文件生成模块,所述文件生成模块基于时间轴的任意时间点在第二平台创建基础qcow文件,并将所述目标增量数据按照所对应的时间点上传至所述基础qcow文件,以确定目标qcow文件;
28.文件转换模块,所述文件转换模块将所述目标qcow文件转换处理为目标raw文件。
29.作为本发明的进一步改进,所述磁盘镜像文件跨平台迁移系统还包括上传模块;
30.所述上传模块将所述全量备份点所对应的全量数据,以及增量备份点所对应的增量数据上传并存储至第一存储系统,所述第一存储系统包括形成于第一平台中的虚拟磁盘,或者被第二平台访问的持久化存储介质。
31.作为本发明的进一步改进,所述磁盘镜像文件跨平台迁移系统还包括数据链生成模块;
32.所述数据链生成模块将基于时间轴的任意时间点所对应的目标qcow文件上传并存储至第二存储系统,并在第二存储系统内生成基于时间轴的目标qcow文件的数据链;
33.所述第二存储系统包括部署于第二平台的虚拟磁盘或者被第三平台访问的持久化存储介质。
34.作为本发明的进一步改进,所述磁盘镜像文件跨平台迁移系统还包括迁移模块:
35.所述迁移模块将基于时间轴的目标qcow文件所生成的数据链映射至第三平台,在第三平台中创建后备qcow文件,将所述后备qcow文件与第二平台的目标qcow文件执行分支合并操作,以形成后端镜像文件并存储至第三平台,其中,第三平台对所述目标qcow文件仅保留只读权限,以继承时间轴上确定的时间点所对应的后端镜像文件。
36.与现有技术相比,本发明的有益效果是:
37.首先,通过增量备份技术,获取第一平台部署的虚拟机的逻辑卷的目标增量数据,从而仅仅备份了修改后的数据作为备份数据,不进行备份全部数据的操作,从而省略了不必要数据或者重复数据的传输步骤,最终不仅实现了节省磁盘空间的目的,还缩短了备份时所需要耗费的时间;
38.其次,基于时间轴的任意时间点,在第二平台确定目标qcow文件,根据目标qcow文件生成基于时间轴的数据链,从而可以根据数据链的目标qcow文件恢复至第一平台部署的虚拟机的逻辑卷的基于时间轴上任意时间点所对应的虚拟机的逻辑卷所包含的磁盘数据,实现了根据数据链恢复至第一平台a的基于时间轴的任意时间点的数据,以满足用户拉起不同时间点的虚拟机的需求;
39.另外,将数据链映射至第三平台c,在第三平台c中创建后备qcow文件,将后备qcow文件与第二平台b的目标qcow文件执行分支合并操作,以形成后端镜像文件并存储至第三平台c,从而可以无需进行后端镜像文件的数据格式兼容转换即可实现快速拉起,而且,第三平台c对第二平台b存储的目标qcow文件仅保留只读权限,以确保了后端镜像文件内存储的数据的准确性,也可以实现被多个平台的虚拟机同时拉起。
40.最终,使用qcow格式作为中间格式,将qcow格式的目标qcow文件转换为raw格式的目标raw文件,从而降低了cpu资源的占用。
附图说明
41.图1为本发明一种磁盘镜像文件跨平台迁移方法的整体流程图;
42.图2为运行本发明一种磁盘镜像文件跨平台迁移方法的多平台的拓扑图;
43.图3为第一平台部署的虚拟机的逻辑卷基于时间轴的不同备份点执行备份操作形成目标增量数据,以及与第二平台部署的基础qcow文件对应关系的示意图;
44.图4为获取第一平台部署的虚拟机的逻辑卷的目标增量数据的详细流程图;
45.图5为获取第一平台部署的虚拟机的逻辑卷基于时间轴的时间点所对应的目标增量数据的拓扑图;
46.图6为第二平台部署的虚拟机的逻辑卷基于时间轴的时间点所对应的目标qcow文件存储的数据的拓扑图;
47.图7为第三平台将目标qcow文件转换为后端镜像文件的拓扑图;
48.图8为第二平台部署的基础qcow文件与第三平台部署的后备镜像文件对应关系的示意图;
49.图9为磁盘镜像文件跨平台迁移系统的拓扑图。
具体实施方式
50.下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
51.在本实施例中,术语“第一平台”(或者第二平台,或者第三平台等)均可被视为云平台、操作系统等具有独立通过虚拟化技术所部署形成的具有生产环境并能够响应用户(user)发起的业务请求(例如,虚拟机迁移指令、写操作、读操作、删除操作、后端配置或者前端页面部署等业务请求)能力的平台。
52.逻辑卷(lv)是磁盘分区和文件系统之间添加一个逻辑层,当文件系统的容量不够的时候,可以向逻辑卷增加新的分区来实现扩大容量的目的,而当文件系统过大又浪费的时候,也可以选择去除一些基础没有用的磁盘分区,来达到减少容量的目的。
53.请参图1至图7所示,本发明示出了一种磁盘镜像文件跨平台迁移方法的一种具体实施方式。
54.示例性地,本发明的一种磁盘镜像文件跨平台迁移方法的应用场景为某一平台(例如,第一平台a)部署的虚拟机的逻辑卷向其他平台(例如,第二平台b)作备份迁移操作。其中,逻辑卷内存储的数据包括磁盘数据以及磁盘容量。该磁盘镜像文件跨平台迁移方法可以运行在不同平台中(即,第一平台a或者第二平台b或者第三平台c等)中,该平台可以被理解为由超融合一体机、计算机、服务器、数据中心或者便捷式终端通过虚拟化技术所形成的一种服务或者系统。申请人在本实施例中主要以云平台为范例予以示范性说明。
55.在本实施方式中,一种磁盘镜像文件跨平台迁移方法,包括以下步骤s1至s3。
56.步骤s1、基于时间轴的任意时间点,获取第一平台a部署的虚拟机的逻辑卷的目标增量数据。
57.示例性地,参图2与图3所示,第一平台a内至少部署有一个虚拟机,通过增量备份技术在第一平台a中基于时间轴的任意时间点生成全量备份点1以及全量备份点1所对应的全量数据1、增量备份点1以及增量备份点1所对应的增量数据1、增量备份点2以及增量备份点2所对应的增量数据2、增量备份点3以及增量备份点3所对应的增量数据3

增量备份点n以及增量备份点n所对应的增量数据n-1,依次类推。
58.需要说明的是,将基于时间轴的任意时间点生成的全量备份点所对应的全量数据以及若干增量备份点所对应的增量数据统称为该时间点所对应的目标增量数据。
59.具体地,参图4所示,获取第一平台部署的虚拟机的逻辑卷的目标增量数据包括以下步骤s11至s13。
60.步骤s11、基于时间轴的任意时间点,对第一平台a部署的虚拟机的逻辑卷执行备份操作,得到虚拟机的逻辑卷基于时间轴的任意时间点所对应的一个全量备份点以及若干增量备份点。
61.需要说明的是,本实施例中执行备份操作所利用的是增量备份技术。所谓的增量备份技术是指,基于时间轴上的冗余第一个时间点的备份数据为全量数据,之后一个时间点的备份数据仅包括第一个备份数据中修改后的数据,再之后一个时间点的备份数据之后时间点的备份数据中修改后的数据,依次类推,除去第一个时间点,其余任意时间点的备份数据均为前一个时间点的备份数据中修改后的数据。其中,修改数据还可以是增加数据或者删除数据。
62.具体的,参图3所示,将t1时刻记作全量备份点1,将t2时刻记作增量备份点1,将t3时刻记作增量备份点2,将t4时刻记作增量备份点3,依次类推,将tn时刻记作增量备份点n-1。
63.步骤s12、根据一个全量备份点以及若干增量备份点,得到第一平台a部署的虚拟机的逻辑卷的全量备份点所对应的全量数据,以及增量备份点所对应的增量数据。
64.具体地,获取第一平台a部署的虚拟机的逻辑卷在全量备份点所对应的全量数据1,增量备份点1所对应的增量数据1,增量备份点2所对应的增量数据2,增量备份点3所对应的增量数据3,依次类推,增量备份点n-1所对应的增量数据n-1。例如,参图5所示,t1时刻,备份数据为图5中所示区域a1,即全量数据1;t2时刻,相对于t1时刻的备份数据仅修改了图5中所示区域a2,则t2时刻,仅备份区域a2的数据作为备份数据,即增量数据1;t3时刻,相对于t2时刻的备份数据仅修改了图5中所示区域a3,则t3时刻,仅备份区域a3的数据作为备份数据,即增量数据2,依次类推。
65.利用增量备份技术,除去第一个时间点备份的数据为全量数据,之后的每个时间点均基于当前时间点前一个时间点基于虚拟机操作事件所发生变动的数据,记为增量数据,其中,所述虚拟机操作事件包括依赖于虚拟机所部署的服务响应用户请求所对应的读操作、写操作、删除操作、备份操作、迁移操作等。由于去除第一个时间点的其他若干时间点仅备份了修改后的数据作为备份数据,不进行全部数据的备份操作,从而省略了不必要数据或者重复数据的传输步骤,最终不仅实现了节省磁盘盘空间的目的,还缩短了备份时所需要耗费的时间。
66.此外,由于基于时间轴的任意时间点执行增量备份操作,从而方便下述根据时间点生成数据链以实现用户根据实际成精需要恢复至与任何一个增量备份点所对应的虚拟机的逻辑卷的磁盘数据。
67.需要说明的是,此时的增量数据可以是当前时间点相对于前一个时间点增加的数据也可以是当前时间点相对于前一个时间点减少的数据,增量数据仅仅是定义的一个名词,并不表示仅仅是增量,即,当前时间点相对于前一个时间点修改的数据。
68.步骤s13、将全量备份点所对应的全量数据,以及增量备份点所对应的增量数据上传并存储至第一存储系统10,第一存储系统10包括形成于第一平台a中的虚拟磁盘,或者被第二平台b访问的持久化存储介质。前述持久化存储介质可被视为挂载至第二平台b(或者
第一平台a)的物理磁盘,或者虚拟磁盘,或者分布式存储系统中的一个或者多个存储节点,或者ramdisk等非易失性存储器等。
69.具体地,在第一平台a中生成了一个全量备份点以及全量备份点所对应的全量数据,若干增量备份点以及增量备份点所对应的增量数据,并将前述全量数据以及若干增量数据存储至第一存储系统10,以供第二平台b访问第一存储系统10内存储的目标增量数据(即,前述全量备份点所对应的全量数据,若干增量备份点所对应的增量数据)。
70.需要说明的是,将全量备份点所对应的全量数据以及若干增量备份点所对应的增量数据统称为目标增量数据。目标增量数据存储于第一存储系统10,内,以供下述第二平台b访问并执行迁移操作。第一存储系统10可以是形成与第一平台a中的虚拟磁盘,也可以是被第二平台b访问的持久化存储介质,只要能实现被第二平台b访问从而获取第一存储系统10存储的目标增量数据,并将目标增量数据上传至基础qcow文件即可。
71.步骤s2、基于时间轴的任意时间点,在第二平台b创建基础qcow文件,并将目标增量数据按照所对应的时间点上传至基础qcow文件,以确定目标qcow文件。
72.示例性地,在第二平台b创建基础qcow文件,此时基础qcow文件内没有部署数据(即,前述备份数据),即,空的基础qcow文件。该空的基础qcow文件是指具有qcow文件数据格式但是没有存储任何数据的qcow文件。接着,第二平台b向第一平台a发送获取基于时间轴的某一时间点的目标增量数据的请求,第二平台b接收并响应该获取基于时间轴的某一时间点的目标增量数据的请求,将目标增量数据的格式转换为qcow格式并上传至第二平台创建的基础qcow文件,以确定目标qcow文件。
73.具体地,在第二平台b创建基础qcow文件,并将基础qcow文件映射至网络通信接口socket,第一平台a内部署的server向第一存储系统10发送获取基于时间轴的某一时间点的目标增量数据的请求,第一存储系统10读取第一存储系统10内部署的目标增量数据并返回至server,然后通过libnbd将目标增量数据写入第二平台b的socket,从而将目标增量数据写入基础qcow文件,最终确定目标qcow文件,此时,可以将目标qcow文件视为存储有数据(即,前述备份数据)的qcow文件。
74.需要说明的是,由于前述基于时间轴的任意时间点,获取第一平台a部署的虚拟机的逻辑卷的目标增量数据采用的是增量备份技术。例如,参图5与图6所示,在第一平台a中,t2时刻相对于t1时刻的备份数据仅修改了图5中所示区域a2,相当于只有部分区域的数据发生了变化,虽然各个平台(即,第一平台a或者第二平台b或者第三平台c)的数据实现方式不同,但是基本都能支持获取有数据变化的区域(即,图5所示的区域a2或者区域a3等)的接口,从而在将第一平台a中的数据迁移至第二平台b时,不需要读取第一平台a部署的虚拟机的逻辑卷的整个数据以写入第二平台,只需要通过libnbd以实现某一指定区域数据(可将其视为具有修改的区域的数据)的读写,最终不仅实现了减少数据的传输量的目的,而且还节省了大量不必要数据传输的时间。
75.另外,传统的数据迁移需要将qem-nbd与nbd内核进行绑定,从而实现第一平台a被映射为第二平台b的块设备,依赖nbd内核,而且nbd内核设备存在数量限制,并发量低。而本发明采用的是在第二平台b创建基础qcow文件,映射为socket端口,从而使得数据的迁移不依赖与nbd内核,以省略了并发的限制,从而提高了用户的体验。
76.需要说明的是,socket是应用层与tcp/ip协议族通信的中间软件抽象层,它是一
组接口,对于用户来说,一组简单的接口就是全部,使用socket进行组织数据,以符合指定的协议。server是一种计算机,用于处理请求并通过internet或者本地网络将数据传送到另一台计算机。qemu-nbd(qemu-network block device)即qemu网络块设备工具,可将qcow文件通过nbd协议映射为网络可访问块设备。libnbd是基于nbd协议实现的一种客户端工具。由于qcow格式的基础qcow文件具有固定格式,无法通过unix/linux系统读写块设备的api直接写入,由此将qcow格式的基础qcow文件映射为nbd设备(即网络块设备),再使用libnbd(即,nbd协议的客户端)的读/写接口,从而以类似unix/linux读/写块设备的方式,将数据写入到qemu-nbd映射出的nbd设备,以最终写入基于时间轴的时间点所对应的基础qcow文件中,从而确定目标qcow文件。由于libnbd在写入nbd设备时,支持指定偏移位置写入,由此实现了定位到nbd设备的指定区域并向指定区域写入磁盘数据的目的。前述向指定区域写入磁盘数据的事件会被qemu-nbd服务端转换为qcow格式的写入事件,从而写入基础qcow文件中,以确定目标qcow文件。
77.具体地,将基于时间轴的任意时间点所对应的目标qcow文件上传并存储至第二存储系统20,从而下述基于目标qcow文件生成数据链,以方便第三平台c访问,最终实现将数据迁移至第三平台c。其中,第二存储系统20包括部署于第二平台b的虚拟磁盘或者被第三平台c访问的持久化存储介质,只要能实现被第三平台c访问即可。同时,目标qcow文件在第二存储系统20内生成基于时间轴的目标qcow文件的数据链,以根据数据链上不同时间点的目标qcow文件恢复至第一平台a部署的虚拟机的逻辑卷的基于时间轴上任意时间点所对应的虚拟机的逻辑卷所包含的磁盘数据。被第三平台c访问的持久化存储介质参比前述被第二平台b访问的持久化存储介质所述。
78.具体地,在参图2所示,在第二存储系统20内,基于时间轴的不同时间点,将前一个时间点所对应的目标qcow文件作为第二个时间点所对应的目标qcow文件的后备文件,此时第二个时间点所对应的目标qcow文件可以读取第一个时间点的目标qcow文件的内容,同时,第二个时间点所对应的目标qcow文件的修改也不会影响第一个时间点的目标qcow文件的内容,当第一平台a的目标增量数据向第二平台b迁移完成后,数据再次发生变化,可以再次将前一个时间点的目标qcow文件设置为后备文件,从而维持链式结构,以形成基于时间轴的目标qcow文件的数据链。例如,参图5与图6所示,t2时刻,在第二平台b存储的目标qcow文件存储了第一平台a在t1时刻的目标增量数据以及t2时刻的目标增量数据,并将t1时刻的目标qcow文件作为t2时刻的后备文件;接着,将t2时刻的目标qcow文件作为t3时刻的后备文件,依次类推,从而形成了链式关系,以生成数据链。由此,若需要回复t2时刻的第一平台a的目标增量数据至第二平台b,可以通过第二平台b的目标qcow文件回溯该数据链,从而得到完整的数据,最终实现了根据数据链恢复至第一平台a的基于时间轴的任意时间点的数据(即,虚拟机在虚拟机的生命周期中对应时间轴上任意时间点所对应的所对应的磁盘数据),以满足用户拉起不同时间点的虚拟机的需求。将基于时间轴的目标qcow文件所生成的数据链映射至第三平台c,在第三平台c中创建后备qcow文件,将后备qcow文件与第二平台b的目标qcow文件执行分支合并操作,以形成后端镜像文件并存储至第三平台c。
79.具体地,参图2所示,第三平台c向第二平台b发送获取基于时间轴的目标qcow文件所生成的数据链的请求,第二平台b响应该获取基于时间轴的目标qcow文件所生成的数据链的请求并将数据链通过nas的方式映射至第三平台c。其中,nas是指网络附加存储,
network attached storage,是一种专门的数据存储技术的名称,它可以直接连接在电脑网络上面,对异质网络用户提供了集中式数据访问服务。
80.同时,参图7所示,数据链由基于时间轴的任意时间点的目标qcow文件构成,在第三平台c建立后备qcow文件,将后端qcow文件与第二平台b的目标qcow文件执行分支合并操作(即,rebase操作),从而形成后端镜像文件并存储至第三平台c。
81.例如,参图8所示,t1时刻,第二平台b存储有目标qcow文件1,则在第三平台c创建后备qcow文件1并将后备qcow文件1与目标qcow文件1执行分支合并操作,从而形成后端镜像文件1并存储至第三平台c;t2时刻,第二平台存储有目标qcow文件2,则在第三平台c创建后备qcow文件2并将后备qcow文件2与目标qcow文件执行分支合并操作,从而形成后端镜像文件2并存储至第三平台,依次类推。
82.需要说明的是,通过在第三平台c创建后端qcow文件并与第二平台b的目标qcow文件执行分支合并操作,以形成后端镜像文件,从而可以无需进行后端镜像文件的数据格式兼容转换即可实现快速拉起(即,实现虚拟机的逻辑卷的多平台迁移)。
83.另外,第三平台c对第二平台b存储的目标qcow文件仅保留只读权限,以继承时间轴上确定的时间点所对应的后端镜像文件。由于第三平台c仅拥有只读权限,从而不会对第二平台b存储的目标qcow文件内的数据执行修改操作以产生冲突,由此确保了对后备qcow文件与目标qcow文件执行分支合并操作时数据的准确性,最终确保了后端镜像文件内存储的数据的准确性。需要说明的是,通过只读的方式挂载可以实现被第三平台c的虚拟机拉起,也可以实现被多个平台的虚拟机同时拉起。
84.步骤s3、将目标qcow文件转换处理为目标raw文件。
85.具体地,在第二平台b执行恢复时,则将第二平台b的目标qcow文件进行格式转换,以将目标qcow文件转换处理为目标raw文件,从而将目标qcow文件的格式转换为第二平台b存储支持的目标raw文件的格式。
86.通过本发明所揭示的磁盘镜像文件跨平台迁移方法,利用qcow格式作为中间格式,也就是说,创建基础qcow文件,将目标增量数据上传至基础qcow文件,以确定目标qcow文件,然后将目标qcow文件转换为目标raw文件。(可视为,将第一平台a的数据转换为qcow格式的数据,然后在将qcow格式的数据转换为raw格式的数据。)而现有的跨平台迁移方法,直接将第一平台a存储所支持的raw格式转换为第二平台b存储所支持的raw格式,由于raw格式转换raw格式不同的平台差异较大,qemu-img转换无法识别第一平台a的文件格式,在转换时会占用较大的cpu资源。qcow格式是qemu原生支持的文件格式,使用qcow格式转换raw格式与raw格式转换raw格式相比,使用qcow格式转换raw格式时cpu的资源占用率比raw格式转换raw格式时的资源占用率(例如,cpu占用率)下降了24.64%。
87.例如,使用磁盘容量大小为1t的虚拟机的逻辑卷,分别将虚拟机的逻辑卷内存储的磁盘数据的格式转换为raw格式与qcow格式。使用top命令统计转换程序运行时cpu占用率,如下表1所示。
[0088][0089]
表1:raw格式转换raw格式与qcow格式转换raw格式时的cpu占用率
[0090]
由表1可知,使用qcow格式转换raw格式时cpu的资源占用率比raw格式转换raw格式时的cpu占用率下降了24.64%,从而实现了减少cpu资源占用率的目的。
[0091]
因此,提出使用qcow格式作为中间格式,同时,第一平台a部署的虚拟机的逻辑卷内存储的数据迁移至第二平台b采用增量数据拷贝的方式,由此,不仅减少了数据拷贝量,降低网络资源的占用,同时,也降低了cpu资源的占用率。
[0092]
需要说明的是,基础qcow文件的格式以及目标qcow文件的格式可以被理解为qcow1格式、qcow2格式、qcow3格式。
[0093]
进一步地,基于上文所述的一种磁盘镜像文件跨平台迁移方法的具体实例,本实施例还揭示一种磁盘镜像文件跨平台迁移系统,参图9所示,包括:第一平台a内部署数据获取模块111与上传模块121,上传模块121包括第一存储系统10。第二平台b部署文件生成模块211,数据链生成模块221,第二存储系统20以及文件转换模块231。第三平台c部署迁移模块311。磁盘镜像文件跨平台迁移系统所包含的各模块之间的交互逻辑所对应的技术方案,参前述磁盘镜像文件跨平台迁移方法所述,下文予以省略阐述。需要说明的是,第一存储系统10可以部署于第一平台a,还可以是独立于第一平台a被第二平台b访问的持久化存储介质,只要能实现被第二平台b访问以获取第一存储系统10内存储的目标增量数据,从而将目标增量数据上传至第二平台b创建的基础qcow文件,以确定目标qcow文件即可。由于第二平台b直接从第一存储系统10访问并调用目标增量数据,访问以及调用过程中不被用户所感知,从而不会影响用户生产性能,并确保了良好的用户体验。
[0094]
具体地,用户向第一平台a下发指令,以最终下发至数据获取模块111,上传模块121。同理,用户向第二平台b下发指令,以最终下发至文件生成模块211,数据链生成模块221,第二存储系统20以及文件转换模块231。用户向第三平台c下发指令,以最终下发至迁移模块311。
[0095]
数据获取模块111基于时间轴的任意时间点,获取第一平台a部署的虚拟机的逻辑卷的目标增量数据。具体地,参图9所示,用户向数据获取模块111发送基于时间轴的任意时间点,获取第一平台a部署的虚拟机的逻辑卷的目标增量数据的请求。数据获取模块111接收并响应该基于时间轴的任意时间点,获取第一平台a部署的虚拟机的逻辑卷的目标增量数据的请求,从而基于时间轴的日益时间点,对第一平台a部署的虚拟机的逻辑卷执行备份操作,得到虚拟机的逻辑卷基于时间轴的任意时间点所对应的一个全量备份点以及若干增量备份点,根据一个全量备份点以及若干增量备份点,得到第一平台a部署的虚拟机的逻辑卷的全量备份点所对应的全量数据,以及增量备份点所对应的增量数据。其中,将全量数据与增量数据统称为目标增量数据。
[0096]
上传模块121将全量备份点所对应的全量数据,以及增量备份点所对应的增量数据上传并存储至第一存储系统10,第一存储系统10包括形成于第一平台中的虚拟磁盘,或者被第二平台访问的持久化存储介质。
[0097]
文件生成模块211基于时间轴的任意时间点在第二平台创建基础qcow文件,并将目标增量数据按照所对应的时间点上传至基础qcow文件,以确定目标qcow文件。具体地,用户向第二平台b发送创建基础qcow文件的请求,第二平台b响应该创建基础qcow文件的请求,并基于时间轴的任意时间点,在第二平台b创建qcow文件。用户向第一存储系统10获取第一存储系统10内存储的目标增量数据,并上传至基础qcow文件,以确定目标qcow文件。
[0098]
需要说明的是,基础qcow文件为一个空的qcow文件,没有部署任何数据(即,前述目标增量数据)。
[0099]
数据链生成模块221将基于时间轴的任意时间点所对应的目标qcow文件上传并存储至第二存储系统20,并在第二存储系统20内生成基于时间轴的目标qcow文件的数据链。具体地,根据基于时间轴的任意时间点所对应的目标qcow文件生成基于时间轴的数据链,以在第二平台b备份每个时间点的第一平台a部署的虚拟机的逻辑卷的磁盘数据,从而可以根据数据链的目标qcow数据恢复至第一平台a部署的虚拟机的逻辑卷基于时间轴上任意时间点所对应的虚拟机的逻辑卷所包含的磁盘数据(即,前述磁盘数据)。由于,在第二平台b中仅仅根据目标qcow文件生成链式关系,可以根据生成的链式关系满足用户拉起不同时间点的虚拟机的需求。
[0100]
需要说明的是,第二存储系统20包括部署于第二平台b的虚拟磁盘或者被第三平台c访问的持久化存储介质,只要能被第三平台c访问从而根据数据链的目标qcow文件执行分支合并操作,以形成后端镜像文件即可。进一步地,被第三平台c访问的持久化存储介质还可部署于于第二平台b。
[0101]
迁移模块311将基于时间轴的目标qcow文件所生成的数据链映射至第三平台c,在第三平台c中创建后备qcow文件,将后备qcow文件与第二平台b的目标qcow文件执行分支合并操作,以形成后端镜像文件并存储至第三平台c,其中,第三平台c对目标qcow文件仅保留只读权限,以继承时间轴上确定的时间点所对应的后端镜像文件。具体地,迁移模块311向第二存储系统20发送获取数据链的请求,第二存储系统20响应并返回数据链至迁移模块311,迁移模块311将基于时间轴的目标qcow文件所生成的数据链映射至第三平台c,在第三平台c中创建后备qcow文件,将后备qcow文件与第二平台b的目标qcow文件执行分支合并操作,以形成后端镜像文件并存储至第三平台c,从而可以无需进行后端镜像文件的数据格式兼容转换即可实现快速拉起(即,实现虚拟机的逻辑卷的多平台迁移)。另外,第三平台c对第二平台b存储的目标qcow文件仅保留只读权限,以继承时间轴上确定的时间点所对应的后端镜像文件。由于第三平台c仅拥有只读权限,从而不会对第二平台b存储的目标qcow文件内的数据执行修改操作以产生冲突,由此确保了对后备qcow文件与目标qcow文件执行分支合并操作时数据的准确性,最终确保了后端镜像文件内存储的数据的准确性。需要说明的是,通过只读的方式挂载可以实现被第三平台c的虚拟机拉起,也可以实现被多个平台的虚拟机同时拉起。
[0102]
文件转换模块311将目标qcow文件转换处理为目标raw文件。具体地,用户向第二平台b发送恢复的请求,第二平台b响应恢复请求,将第二平台b的目标qcow文件进行格式转
换,以将目标qcow文件转换处理为目标raw文件,从而将目标qcow文件的格式转换为第二平台b存储支持的目标raw文件的格式,从而将qcow格式的目标qcow文件转换为raw格式的目标raw文件,最终减少了cpu资源的占用率。
[0103]
需要说明的是,前述磁盘镜像文件跨平台迁移方法中的步骤s1中所含逻辑由磁盘镜像文件跨平台迁移系统中的数据获取模块111予以实现,前述磁盘镜像文件跨平台迁移方法中步骤s2中所含逻辑由磁盘镜像文件跨平台迁移系统中的文件生成模块211予以实现,前述磁盘镜像文件跨平台迁移方法中步骤s3中所含逻辑由磁盘镜像文件跨平台迁移系统中的文件转换模块231予以实现。
[0104]
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
[0105]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0106]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1