CN116048395A - 云平台中云盘跨集群热迁移方法及装置 - Google Patents
云平台中云盘跨集群热迁移方法及装置 Download PDFInfo
- Publication number
- CN116048395A CN116048395A CN202211703417.5A CN202211703417A CN116048395A CN 116048395 A CN116048395 A CN 116048395A CN 202211703417 A CN202211703417 A CN 202211703417A CN 116048395 A CN116048395 A CN 116048395A
- Authority
- CN
- China
- Prior art keywords
- cloud disk
- unit
- migration
- original
- data
- 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.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 149
- 230000005012 migration Effects 0.000 title claims abstract description 145
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000003818 cinder Substances 0.000 claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 15
- 230000003321 amplification Effects 0.000 description 10
- 238000003199 nucleic acid amplification method Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种云平台中云盘跨集群热迁移方法及装置,涉及新兴技术云计算技术领域,所述方法包括:云计算管理平台Nova单元作为迁移入口,调用Cinder单元;所述Cinder单元判断原云盘是否有快照;若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘;将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据;Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元;若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。本发明的方案保证了云盘热迁移数据的准确性,而且提高了云盘热迁移的性能,缩短了迁移时间,做到用户不感知,保证业务连续性,从而不影响用户业务。
Description
技术领域
本发明涉及新兴技术云计算技术领域,尤其涉及一种云平台中云盘跨集群热迁移方法、装置及电子设备。
背景技术
随着信息技术和云计算的发展,教育、科学、文化、政府等多个领域开始越来越多地应用云计算技术。当前云计算平台已经可以同时对接同一个ceph集群的多个pool,另外云计算平台也可以同时对接HDD集群和SSD集群,能够提供普通IO/高IO、通用性SSD/超高IO的能力。在实际使用过程中,存在着同一个ceph集群多个pool容量和性能使用不均衡的问题,还有客户需要提升云盘性能,需要将云盘类型从HDD切换为SSD类型的需求。
发明内容
本发明实施例提供一种云平台中云盘跨集群热迁移方法、装置及电子设备及存储介质,首先云计算管理平台Nova模块作为迁移入口,先调用Cinder模块,Cinder判断原云盘是否有快照,如果有则导出导入最后一个快照,如果没有快照,则创建一个与原云盘相同大小的目的云盘,完成后返回结果给Nova;然后Nova调用Qemu模块迁移原云盘数据,Qemu调用存储模块接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova;如果迁移成功,Nova调用Cinder设置刷新目的云盘的数据库和目的云盘Qos值,Qemu卸载原云盘,删除原云盘;如果迁移失败,Nova调用Cinder删除目的云盘,保证了云盘热迁移数据的准确性,而且提高了云盘热迁移的性能,缩短了迁移时间,做到用户不感知,保证业务连续性,从而不影响用户业务。
为达到上述目的,本发明采用如下技术方案:
第一方面,提供一种云平台中云盘跨集群热迁移方法,所述方法包括:云计算管理平台Nova单元作为迁移入口,调用Cinder单元;所述Cinder单元判断原云盘是否有快照;若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘;将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据;Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元;若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。
根据第一方面所述的方法可知,本发明可直接部署应用于任意ceph分布式集群对接的OpenStack云计算平台。采用本发明方法可以解决迁移过程中目标卷快照cow写放大问题,解决迁移之后目的云盘占用空间大问题,能够做到客户无感知,并保证业务连续性,能够充分利用ceph集群的存储资源。
结合第一方面,在一种可能的设计方案中,所述Cinder单元判断原云盘是否有快照之后,还包括:若所述原云盘有快照,则出导入最后一个快照,并生成目的云盘。
根据该可能的设计方案可知,创造性地提出在迁移过程中对目的云盘先读,比较,再写的方法,解决了快照cow特性引起的双写放大问题,也解决了由于迁移导致的目的云盘占用存储空间放大的问题,实现热迁移并进行了实际验证。
结合第一方面,在一种可能的设计方案中,所述方法还包括:若所述迁移失败,则Nova单元调用Cinder单元删除目的云盘。
根据可能的设计方案可知,既支持云盘同ceph集群跨pool迁移,也支持云盘跨ceph集群迁移,迁移过程对客户透明,客户不感知,保证客户业务连续性。
结合第一方面,在一种可能的设计方案中,Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元包括:Qemu单元调用存储单元接口Write_On_Diff读取原云盘数据;将读取的所述原云盘数据写入所述目的云盘中,进行数据迁移。
根据可能的设计方案可知,在存储迁移完快照之后,Qemu迁移原云盘的时候,使用Write_On_Diff方式避免写放大。可以解决迁移后目的云盘占用空间放大的问题,以及带快照的云盘在迁移过程由于cow特性读目的云盘写目的云盘快照再写目的云盘的双写性能差的问题。
结合第一方面,在一种可能的设计方案中,所述方法包括:所述数据迁移成功后,反馈成功信息至所述Qemu单元;所述Qemu单元根据所述反馈信息对所述原云盘进行卸载。
根据可能的设计方案可知,迁移过程做到客户无感知,保证了业务连续性,验证了迁移之后数据准确性,提高了迁移过程中的性能。
结合第一方面,在一种可能的设计方案中,所述将读取的所述原云盘数据写入所述目的云盘中,进行数据迁移包括:读写IO发送至所述原云盘,确定每一次读写数据所产生对应的增量差异数据;判断所述增量差异数据的数据量是否小于阈值;若所述数据量小于阈值,则确定迁移数据完成;将IO链路切换至所述目的云盘,将读写IO发送到至所述目的云盘,完成数据迁移。
根据可能的设计方案可知,能够实现对数据的灵活操作,用户可以根据业务在云盘之间切换,实现在数据不丢失的情况下云盘数据热迁移,用户体验好。
结合第一方面,在一种可能的设计方案中,所述若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘包括:若所述迁移成功,则发送删除原云盘指令至Cinder单元;所述Cinder单元根据所述删除原云盘指令,确定所述原云盘的预设删除条件;根据所述预设删除条件对所述原云盘进行删除。
根据可能的设计方案可知,解决了迁移过程中由于虚拟机需要先读一遍原卷,再写一遍目的云盘,导致目的云盘精简配置失效,目的云盘占用集群存储空间放大的问题。
第二方面,一种云平台中云盘跨集群热迁移装置,所述装置包括:第一调用模块,用于云计算管理平台Nova单元作为迁移入口,调用Cinder单元;判断模块,用于所述Cinder单元判断原云盘是否有快照;创建模块,用于若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘;第二调用模块,用于将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据;数据迁移模块,用于Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元;更新模块,用于若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。
此外,第二方面所述的云平台中云盘跨集群热迁移装置的技术效果可以参考第一方面所述的分布式缓存方法的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种电子设备。该电子设备包括:处理器和存储器;该存储器用于存储计算机程序,当该处理器执行该计算机程序时,以使该电子设备执行第一方面中的任意一种实现方式所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面中的任意一种可能的实现方式所述的方法。
附图说明
图1为本发明实施例提供的云平台中云盘跨集群热迁移方法的方法流程图;
图2为本发明实施例提供的云计算平台技术模块组成结构图;
图3为本发明实施例提供的云计算平台云盘热迁移流程示意图;
图4为本发明实施例提供的基于Qemu迁移云盘数据流程图示意图;
图5为本发明实施例提供的计算增量差异位图示意图;
图6为本发明实施例提供的待迁移增量差异数据确定示意图;
图7为本发明实施例提供的Write_On_Diff处理流程示意图;
图8为本发明实施例提供的云平台中云盘跨集群热迁移装置的结构示意图;
具体实施方式
下面结合附图,对本发明中的技术方案进行描述。
在本发明实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。此外,在本发明实施例中,“和/或”所表达的含义可以是两者都有,或者可以是两者任选其一。
本发明实施例中,“图像”,“图片”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(correponding,relevant)”和“对应的(correponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
现有的通过云盘迁移的方法中,目前常用的是基于虚拟机的热迁移,基于LibrbdLive-migration的迁移,基于虚拟机和快照导入导出的热迁移。但是,这些方案存在以下缺陷:
1.基于虚拟机的热迁移不支持带快照的云盘的迁移,另外云盘迁移之后,占用存储集群的空间变大。原云盘是精简配置,用户写多少数据分配多少空间。由于虚拟机对整个原云盘读一遍,然后对目标云盘写一遍,导致目标云盘空间必须全部分配。
2.基于Librbd Live-migration的迁移只支持同ceph集群跨pool迁移,不能支持跨ceph集群迁移。而且迁移过程需要先卸载原云盘,然后挂载目的云盘,用户会感知。
3.基于虚拟机和快照导入导出的热迁移支持带快照的云盘,但是同样存在目的云盘存储空间占用放大的问题。另外由于云盘快照cow的特性,在迁移过程中,会导致先读目的云盘写快照卷再写目的云盘双写的问题,写放大了一倍,影响ceph集群性能。
综上所述,一种能够同时支持同ceph集群跨pool和跨ceph集群,用户基本不感知,支持快照增值特性的云盘热迁移方法是保证云盘数据灵活操作和提高数据迁移性能的保证。
因此,为了克服上述缺陷,本发明实施例提供了一种云平台中云盘跨集群热迁移方法、装置及电子设备,通过本发明的方案,可直接部署应用于任意ceph分布式集群对接的OpenStack云计算平台。采用本发明方法可以解决迁移过程中目标卷快照cow写放大问题,解决迁移之后目的云盘占用空间大问题,能够做到客户无感知,并保证业务连续性,能够充分利用ceph集群的存储资源。
请参阅图1,图1为本发明实施例提供的云平台中云盘跨集群热迁移方法的方法流程图,该方法可以由具备处理能力的电子设备执行,该电子设备例如服务器、云服务器等,在此不进行具体限定。具体的,该方法包括步骤110至步骤140。
步骤210,云计算管理平台Nova单元作为迁移入口,调用Cinder单元。
步骤220,所述Cinder单元判断原云盘是否有快照。
步骤230,若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘。
进一步地,若所述原云盘有快照,则出导入最后一个快照,并生成目的云盘。
步骤240,将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据。
步骤250,Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元。
进一步地,步骤250包括:Qemu单元调用存储单元接口Write_On_Diff读取原云盘数据;将读取的所述原云盘数据写入所述目的云盘中,进行数据迁移。
进一步地,所述方法包括:所述数据迁移成功后,反馈成功信息至所述Qemu单元;所述Qemu单元根据所述反馈信息对所述原云盘进行卸载。
进一步地,步骤250还包括:读写IO发送至所述原云盘,确定每一次读写数据所产生对应的增量差异数据;判断所述增量差异数据的数据量是否小于阈值;若所述数据量小于阈值,则确定迁移数据完成;将IO链路切换至所述目的云盘,将读写IO发送到至所述目的云盘,完成数据迁移。
步骤260,若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。
进一步地,步骤260包括:若所述迁移成功,则发送删除原云盘指令至Cinder单元;所述Cinder单元根据所述删除原云盘指令,确定所述原云盘的预设删除条件;根据所述预设删除条件对所述原云盘进行删除。
进一步地,所述方法还包括:若所述迁移失败,则Nova单元调用Cinder单元删除目的云盘。
本发明首先云计算管理平台Nova模块作为迁移入口,先调用Cinder模块,Cinder判断原云盘是否有快照,如果有则导出导入最后一个快照,如果没有快照,则创建一个与原云盘相同大小的目的云盘,完成后返回结果给Nova;然后Nova调用Qemu模块迁移原云盘数据,Qemu调用存储模块接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova;如果迁移成功,Nova调用Cinder设置刷新目的云盘的数据库和目的云盘Qos值,Qemu卸载原云盘,删除原云盘;如果迁移失败,Nova调用Cinder删除目的云盘,保证了云盘热迁移数据的准确性,而且提高了云盘热迁移的性能,缩短了迁移时间,做到用户不感知,保证业务连续性,从而不影响用户业务。
在图2所示的技术模块组成中,Nova是虚拟服务器部署和业务计算模块,负责业务调度,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作;Cinder块存储是虚拟基础架构必不可少的组件,为运行实例提供稳定的数据块存储服务,负责块存储的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。在Cinder中通常对应有不同的volume type,对应服务产品为普通IO/高IO云盘、通用性SSD/超高IO云盘;Qemu模块是虚拟操作系统模拟器,Libvirt是虚拟化管理API,可以用于管理KVM、Xen、VMware和其他虚拟化技术。可以通过Libvirt向Qemu封装一些特定方法,提供给Nova调用;块存储模块:一个ceph集群可以有多个pool,每个pool是逻辑上的隔离单位。每一个pool均可以有一个或多个volume,这个volume是热迁移调度的一个数据存储单元。
在一些实施例中,如图3所示,示出了具体的热迁移流程:
步骤S1:将数据迁移相关参数src_cluster_name,src_pool_name,src_volume,qemu_instance,dst_cluster_name,dst_pool_name,dst_volume传递给Nova模块,调用Cinder模块迁移云盘快照,Cinder模块判断原云盘是否有快照,如果有则导出导入最后一个快照,生成目的云盘dst_volume,如果没有快照,则创建与原云盘大小一样的目的云盘dst_volume,将结果返回给Nova模块;
步骤S2:Nova调用Qemu模块迁移云盘数据,迁移过程中Qemu会同时挂载原云盘和目的云盘,读原云盘数据,写入目的云盘,迁移过程中的客户端读写IO发送到原云盘,记录增量差异位图数据,待第一轮迁移完成之后,继续迁移增量差异数据;
步骤S3:云盘数据迁移完成之后Qemu模块qemu_instance卸载原云盘src_volume,只挂载目的云盘dst_volume,后续客户端IO写入目的云盘dst_volume,将迁移结果返回给Nova;
步骤S4:Nova调用Cinder模块,如果迁移成功,Nova调用Cinder设置刷新目的云盘的数据库和目的云盘Qos值,原云盘回收保留14天,到期后自动删除;如果迁移失败,Nova调用Cinder进行回滚,删除目的云盘。整个迁移过程对客户端是透明的,用户不感知。
在存储迁移完快照之后,Qemu迁移原云盘的时候,使用Write_On_Diff方式避免写放大。可以解决的写放大问题是,迁移后目的云盘占用空间放大的问题,以及带快照的云盘在迁移过程由于cow特性读目的云盘写目的云盘快照再写目的云盘的双写性能差的问题。
Write_On_Diff方法具体的操作流程是,Cinder模块导出导入之后,生成目的云盘以及目的云盘快照,此时的目的云盘与最后一个快照的数据一致。然后Qemu开始迁移原云盘数据,读原云盘数据object1’,调用Write_On_Diff接口写目的云盘。Write_On_Diff方法实现的是先读目的云盘object1,与即将写入的object1’进行比较,如果一致,则继续从原云盘读取下一个object2’,如果不一样则需要先读目的云盘数据object1,写入目的云盘快照,然后再将object1’写入目的云盘。具体的实现流程图如图6所示。
在本实施例中,能够实现云计算平台中云盘同ceph集群跨pool或跨ceph集群热迁移,支持快照增值特性,迁移效率高,保证数据不丢失,用户体验好。
示例性地,图7为本发明实施例提供的云平台中云盘跨集群热迁移装置的结构示意图。如图7所示,分布式缓存装置600包括:第一调用模块610、判断模块620、创建模块630、第二调用模块640、数据迁移模块650以及更新模块660。
具体的,第一调用模块610,用于云计算管理平台Nova单元作为迁移入口,调用Cinder单元;判断模块620,用于所述Cinder单元判断原云盘是否有快照;创建模块630,用于若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘;第二调用模块640,用于将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据;数据迁移模块650,用于Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元;更新模块660,用于若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。
进一步地,所述装置还包括:若所述原云盘有快照,则出导入最后一个快照,并生成目的云盘。
进一步地,所述装置还包括:若所述迁移失败,则Nova单元调用Cinder单元删除目的云盘。
进一步地,所述数据迁移模块650包括:Qemu单元调用存储单元接口Write_On_Diff读取原云盘数据;将读取的所述原云盘数据写入所述目的云盘中,进行数据迁移。
进一步地,数据迁移模块650被配置为:所述数据迁移成功后,反馈成功信息至所述Qemu单元;所述Qemu单元根据所述反馈信息对所述原云盘进行卸载。
进一步地,所述数据迁移模块650包括:读写IO发送至所述原云盘,确定每一次读写数据所产生对应的增量差异数据;判断所述增量差异数据的数据量是否小于阈值;若所述数据量小于阈值,则确定迁移数据完成;将IO链路切换至所述目的云盘,将读写IO发送到至所述目的云盘,完成数据迁移。
进一步地,所述更新模块包括:若所述迁移成功,则发送删除原云盘指令至Cinder单元;所述Cinder单元根据所述删除原云盘指令,确定所述原云盘的预设删除条件;根据所述预设删除条件对所述原云盘进行删除。
为了便于说明,图7仅示出了该云平台中云盘跨集群热迁移装置600的主要部件。
此外,云平台中云盘跨集群热迁移装置600的技术效果可以参考前述任一镜像定制化方法的技术效果,此处不再赘述。
可选地,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得本发明任一实施例所提供的云平台中云盘跨集群热迁移方法或训练方法被执行。
可选地,本发明实施例还提供一种电子设备,用于执行本发明任一实施例所提供的云平台中云盘跨集群热迁移方法、装置。
如图8所示,电子设备2000可以包括处理器2001。
可选地,电子设备2000还可以包括存储器2002和/或收发器2003。
其中,处理器2001与存储器2002和收发器2003耦合,如可以通过通信总线连接。
下面结合图8对电子设备2000的各个构成部件进行具体的介绍:
其中,处理器2001是电子设备2000的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器2001是一个或多个中央处理器(central proceing unit,CPU),也可以是特定集成电路(application pecific integrated circuit,AIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalignal proceor,DP),或,一个或者多个现场可编程门阵列(field programmable gatearray,FPGA)。
可选地,处理器2001可以通过运行或执行存储在存储器2002内的软件程序,以及调用存储在存储器2002内的数据,执行电子设备2000的各种功能。
在具体的实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,例如图8中所示出的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备2000也可以包括多个处理器,例如图8中所示的处理器2001和处理器2004。这些处理器中的每一个可以是一个单核处理器(ingle-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,所述存储器2002用于存储执行本发明方案的软件程序,并由处理器2001来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器2002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random acce memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically eraable programmable read-only memory,EEPROM)、只读光盘(compactdic read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器2002可以和处理器2001集成在一起,也可以独立存在,并通过电子设备2000的接口电路(图8中未示出)与处理器2001耦合,本发明实施例对此不作具体限定。
收发器2003,用于与其他电子设备之间的通信。例如,电子设备2000为智能手机,收发器2003可以用于与网络设备通信,或者与另一个终端设备通信。又例如,电子设备2000为网络设备,收发器2003可以用于与终端设备通信,或者与另一个网络设备通信。
可选地,收发器2003可以包括接收器和发送器(图8中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
可选地,收发器2003可以和处理器2001集成在一起,也可以独立存在,并通过电子设备2000的接口电路(图8中未示出)与处理器2001耦合,本发明实施例对此不作具体限定。
需要说明的是,图8中示出的电子设备2000的结构并不构成对该电子设备的限定,实际的电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
应理解,在本发明实施例中的处理器可以是中央处理单元(central proceingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital ignalproceor,DP)、专用集成电路(application pecific integrated circuit,AIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种云平台中云盘跨集群热迁移方法,其特征在于,所述方法包括:
云计算管理平台Nova单元作为迁移入口,调用Cinder单元;
所述Cinder单元判断原云盘是否有快照;
若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘;
将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据;
Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元;
若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。
2.根据权利要求1所述的方法,其特征在于,所述Cinder单元判断原云盘是否有快照之后,还包括:
若所述原云盘有快照,则出导入最后一个快照,并生成目的云盘。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述迁移失败,则Nova单元调用Cinder单元删除目的云盘。
4.根据权利要求1所述的方法,其特征在于,所述Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元包括:
Qemu单元调用存储单元接口Write_On_Diff读取原云盘数据;
将读取的所述原云盘数据写入所述目的云盘中,进行数据迁移。
5.根据权利要求4所述的方法,其特征在于,所述方法包括:
所述数据迁移成功后,反馈成功信息至所述Qemu单元;
所述Qemu单元根据所述反馈信息对所述原云盘进行卸载。
6.根据权利要求4所述的方法,其特征在于,所述将读取的所述原云盘数据写入所述目的云盘中,进行数据迁移包括:
读写IO发送至所述原云盘,确定每一次读写数据所产生对应的增量差异数据;
判断所述增量差异数据的数据量是否小于阈值;
若所述数据量小于阈值,则确定迁移数据完成;
将IO链路切换至所述目的云盘,将读写IO发送到至所述目的云盘,完成数据迁移。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘包括:
若所述迁移成功,则发送删除原云盘指令至Cinder单元;
所述Cinder单元根据所述删除原云盘指令,确定所述原云盘的预设删除条件;
根据所述预设删除条件对所述原云盘进行删除。
8.一种云平台中云盘跨集群热迁移装置,其特征在于,所述装置包括:
第一调用模块,用于云计算管理平台Nova单元作为迁移入口,调用Cinder单元;
判断模块,用于所述Cinder单元判断原云盘是否有快照;
创建模块,用于若所述原云盘没有快照,则创建一个与原云盘相同大小的目的云盘;
第二调用模块,用于将所述目的云盘返回至Nova单元,并调用Qemu单元迁移原云盘数据;
数据迁移模块,用于Qemu单元调用存储单元接口Write_On_Diff进行数据迁移,迁移完成后返回结果给Nova单元;
更新模块,用于若所述迁移成功,则Nova单元调用Cinder单元设置刷新目的云盘的数据库和目的云盘Qos值,并删除所述原云盘。
9.一种电子设备,其特征在于,包括:处理器,所述处理器分别与存储器耦合;
所述处理器,用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如权利要求1-7中任一项所述的云平台中云盘跨集群热迁移方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得如权利要求1-7中任一项所述的云平台中云盘跨集群热迁移方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211703417.5A CN116048395A (zh) | 2022-12-29 | 2022-12-29 | 云平台中云盘跨集群热迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211703417.5A CN116048395A (zh) | 2022-12-29 | 2022-12-29 | 云平台中云盘跨集群热迁移方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048395A true CN116048395A (zh) | 2023-05-02 |
Family
ID=86124822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211703417.5A Pending CN116048395A (zh) | 2022-12-29 | 2022-12-29 | 云平台中云盘跨集群热迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048395A (zh) |
-
2022
- 2022-12-29 CN CN202211703417.5A patent/CN116048395A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163728B2 (en) | Sharing container images utilizing a shared storage system | |
US8972990B2 (en) | Providing a seamless transition for resizing virtual machines from a development environment to a production environment | |
US9614931B2 (en) | Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system | |
CN108780404A (zh) | 远程访问数据的有效实时迁移 | |
US9354907B1 (en) | Optimized restore of virtual machine and virtual disk data | |
CN109168328B (zh) | 虚拟机迁移的方法、装置和虚拟化系统 | |
CN110908609B (zh) | 一种磁盘处理的方法、系统、设备及可读存储介质 | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
US11232066B2 (en) | Method for data migration and terminal | |
WO2021086693A1 (en) | Management of multiple physical function non-volatile memory devices | |
CN112596950A (zh) | 虚拟机数据备份方法、装置、设备及存储介质 | |
CN109840051B (zh) | 一种存储系统的数据存储方法及装置 | |
CN113296891B (zh) | 基于平台的多场景知识图谱处理方法及装置 | |
US9485308B2 (en) | Zero copy volume reconstruction | |
CN112711469A (zh) | 云主机迁移方法、装置、计算机设备和存储介质 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CA2878759C (en) | Methods and systems for providing software applications | |
CN115827590A (zh) | 数据迁移、上云方法、计算设备及计算机存储介质 | |
CN116048395A (zh) | 云平台中云盘跨集群热迁移方法及装置 | |
CN114880073A (zh) | 一种对用户屏蔽Web框架的云应用引擎部署方法、装置、设备和存储介质 | |
CN114168263A (zh) | 在云平台多集群之间虚拟机热迁移的方法及应用 | |
CN113986451A (zh) | 虚拟机迁移方法、装置、电子设备和存储介质 | |
CN113626263A (zh) | Scst存储系统中保持数据一致性的方法及应用 | |
CN113868679B (zh) | 一种集群的加密方法及装置 |
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 |