CN116560795A - 一种分布式块存储系统的复制方法及相关装置 - Google Patents
一种分布式块存储系统的复制方法及相关装置 Download PDFInfo
- Publication number
- CN116560795A CN116560795A CN202310501215.0A CN202310501215A CN116560795A CN 116560795 A CN116560795 A CN 116560795A CN 202310501215 A CN202310501215 A CN 202310501215A CN 116560795 A CN116560795 A CN 116560795A
- Authority
- CN
- China
- Prior art keywords
- read
- volume
- write
- data
- replication
- 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
- 230000010076 replication Effects 0.000 title claims abstract description 191
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 10
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000003999 initiator Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式块存储系统的复制方法,包括:基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。避免在卷复制的过程中出现业务中断,提高复制的效果。本申请还公开了一种分布式块存储系统的复制装置、服务器以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及存储技术领域,特别涉及一种分布式块存储系统的复制方法、复制装置、服务器以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,出现了越来越多的存储技术。其中,Ceph(一种对象式存储系统)为是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。
相关技术中,需要将某个镜像虚拟机或者镜像卷在线复制到一个新的虚拟机。也就是,需要将镜像虚拟机完全拷贝复制到新卷,然后在新卷上进行业务处理。但是,存在由于复制过程中导致的业务暂停,存在降低使用体验的可能。
因此,如何在卷复制的过程中避免出现业务中断是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种分布式块存储系统的复制方法、复制装置、服务器以及计算机可读存储介质,避免在卷复制的过程中出现业务中断,提高复制的效果。
为解决上述技术问题,本申请提供一种分布式块存储系统的复制方法,包括:
基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
可选的,基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,包括:
当接收到复制任务时,进行数据读写阻塞处理;
基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷;
基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改;
当修改完成时进行数据复制,并关闭所述数据读写阻塞处理。
可选的,基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷,包括:
基于所述复制任务中的存储池名称和卷名称创建快照;
基于所述快照创建所述目标复制卷。
可选的,基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改,包括:
基于所述目标复制卷对磁盘挂载服务中的元数据的名称信息和映射关系进行修改;其中,名称信息包括存储池名称和卷名称;
对所述磁盘挂载服务的内存映射卷的句柄进行重启。
可选的,当读写请求为写数据请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,包括:
判断所述写数据请求对应的读写对象是否存在于存储系统中;
若是,则将所述写数据请求的数据写入所述目标复制卷;
若否,则基于所述读写对象读取对应父卷中的对象位置;
若读取到对应父卷中的对象位置时,将写数据请求的数据与所述对象位置的数据合并写入所述目标复制卷;
若读取不到对应父卷中的对象位置时,将所述写数据请求的数据写入所述目标复制卷。
可选的,当读写请求为读数据请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,包括:
判断所述读数据请求对应的读写对象是否存在于存储系统中;
若存在,则返回对应读写对象的数据;
若不存在,则基于所述读写对象读取对应父卷中的数据;
若读取不到对应父卷中的数据时,则返回空数据;
若读取到对应父卷中的数据时,将所述对应父卷中的数据复制到所述目标复制卷中,并反馈所述数据。
可选的,当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,包括:
当进行读写处理时,判断所述目标复制卷中是否存在对应的读写对象;
若否,将所述读写对象在父卷中的数据复制到所述目标复制卷中。
本申请还提供一种分布式块存储系统的复制装置,包括:
新卷创建模块,用于基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
读写处理模块,用于当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
读写复制模块,用于当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
连接关系删除模块,用于当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的分布式块存储系统的复制方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的分布式块存储系统的复制方法的步骤。
本申请所提供的一种分布式块存储系统的复制方法,包括:基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
通过先基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,然后接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,也就是在复制的过程中还可以通过挂载在虚拟机中的镜像卷对读写请求进行处理,避免业务读写的中断,同时在进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,避免由于数据读写造成的数据错误的问题,提高进行数据复制的效果和可靠性。
本申请还提供一种分布式块存储系统的复制装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种分布式块存储系统的复制方法的流程图;
图2为本申请实施例所提供的一种分布式块存储系统的复制方法的结构示意图;
图3为本申请实施例所提供的一种分布式块存储系统的复制装置的结构示意图;
图4为本申请实施例所提供的一种服务器的结构示意图。
具体实施方式
本申请的核心是提供一种分布式块存储系统的复制方法、复制装置、服务器以及计算机可读存储介质,避免在卷复制的过程中出现业务中断,提高复制的效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,需要将某个镜像虚拟机或者镜像卷在线复制到一个新的虚拟机。也就是,需要将镜像虚拟机完全拷贝复制到新卷,然后在新卷上进行业务处理。但是,存在由于复制过程中导致的业务暂停,存在降低使用体验的可能。
因此,本申请提供一种分布式块存储系统的复制方法,通过先基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,然后接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,也就是在复制的过程中还可以通过挂载在虚拟机中的镜像卷对读写请求进行处理,避免业务读写的中断,同时在进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,避免由于数据读写造成的数据错误的问题,提高进行数据复制的效果和可靠性。
以下通过一个实施例,对本申请提供的一种分布式块存储系统的复制方法进行说明。
请参考图1,图1为本申请实施例所提供的一种分布式块存储系统的复制方法的流程图。
本实施例中,该方法可以包括:
S101,基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
本步骤旨在基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷。
举例来说,本实施例中应用的场景可以是RBD(Ceph Block Device,Ceph(一种对象式存储系统)块设备)块存储。其中,ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中。
因此,本实施例中的需要进行复制的镜像卷可以挂载至虚拟机中,以便用户通过该虚拟机对镜像卷中的数据进行操作。
进一步的,本实施例中的镜像卷挂载至虚拟机的服务可以采用iSCSI服务。
其中,iSCSI(Internet Small Computer System Interface,Internet小型计算机系统接口)主要是通过过TCP/IP((Transmission Control Protocol/InternetProtocol,传输控制协议/网际协议))的技术,将储存设备(RBD)端通过iSCSI target(iSCSI目标)功能,可以提供磁盘的服务器端,再透过iSCSI initiator(iSCSI初始化用户)功能,能够挂载使用iSCSI target的客户端,如此便能透过iSCSI协议来进行磁盘的应用。
也就是说,iSCSI这个架构主要将储存装置与使用的主机分为两个部分,分别是iSCSI target和iSCSI initiator。
其中,iSCSI target是储存设备端,存放磁盘或RAID(Redundant Arrays ofIndependent Disks,磁盘阵列)的设备,目前也能够将Linux(一种计算机系统)主机仿真成iSCSI target,目的向其他主机提供使用的磁盘。
其中,iSCSI initiator是能够使用iSCSI target的客户端,通常是服务器。也就是说,想要连接到iSCSI target的服务器,也必须要安装iSCSI initiator的相关功能后才能够使用iSCSI target提供的磁盘。
客户机可通过以上途径与tgt(一种target工具)建立连接访问底层的librbd(一种块存储库),实现对块存储的操作,一个target上可以映射多个块设备,同时一个tgt上可以创建多个target,客户机可以连接tgt上其中一个或多个target分别进行访问,tgt可创建LUN(Logical Unit Number,逻辑单元号)为客户端提供块服务,一个LUN对应于一个块存储卷。
进一步的,为了提高创建目标复制卷的效果,避免出现数据读写数据的遗漏问题,本步骤可以包括:
步骤1,当接收到复制任务时,进行数据读写阻塞处理;
步骤2,基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷;
步骤3,基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改;
步骤4,当修改完成时进行数据复制,并关闭所述数据读写阻塞处理。
可见,本可选方案中主要是说明如何创建目标复制卷。本可选方案中,当接收到复制任务时,进行数据读写阻塞处理。也就是,阻塞当前所有要处理的IO(Input/Output,输入/输出)数据,避免在创建过程中造成数据的错误。进一步的,基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷。也就是,创建快照和卷的过程。基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改;当修改完成时进行数据复制,并关闭所述数据读写阻塞处理。可见,在修改完成时进行数据复制,并关闭所述数据读写阻塞处理,也就是恢复对IO的处理,实现了在复制过程中对读写数据进行处理。
其中,基于快照创建的目标复制卷也被称作该快照的克隆卷。
进一步的,步骤2的过程可以包括:
步骤2.1,基于所述复制任务中的存储池名称和卷名称创建快照;
步骤2.2,基于所述快照创建所述目标复制卷。
可见,本可选方案中主要是说明如何创建目标复制卷。本可选方案中,基于所述复制任务中的存储池名称和卷名称创建快照;基于所述快照创建所述目标复制卷。可见,本可选方案中基于复制任务确定到存储池名称和卷名称,然后再通过快照创建出对应的目标复制卷。
进一步的,步骤3的过程可以包括:
步骤3.1,基于所述目标复制卷对磁盘挂载服务中的元数据的名称信息和映射关系进行修改;其中,名称信息包括存储池名称和卷名称;
步骤3.2,对所述磁盘挂载服务的内存映射卷的句柄进行重启。
可见,本可选方案中主要是说明如何在磁盘挂载服务的基础上进行设置。本可选方案中,基于所述目标复制卷对磁盘挂载服务中的元数据的名称信息和映射关系进行修改;其中,名称信息包括存储池名称和卷名称;对所述磁盘挂载服务的内存映射卷的句柄进行重启。可见,本可选方案中,先修改了磁盘挂载服务中的元数据等信息,然后再对句柄进行重启。其中,句柄是一个用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄不能是常量。其中,磁盘挂载服务可以是iSCSI的服务。
S102,当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
在S101的基础上,本步骤旨在当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理。
可见,本可选方案中就是在接收到读写请求的基础上,对读写请求进行处理。由于本实施例中的镜像卷依然挂载在虚拟机上,因此,用户可以通过该虚拟机发送对应的读写请求,避免了由于数据复制导致的业务中断。其中,读写请求包括读数据请求和写数据请求。相应的,当接收到的是读数据请求时,则进行读数据处理。如果是写数据请求时,则进行写数据处理。
其中,读写请求对应的读写对象的存储状态是指对应的读写对象是否存在于存储系统中,或者是是否存在于父卷中。通过对应的存储状态判断是否进行对应的读写处理,并将对应的数据同步复制于目标复制卷中。
进一步的,当读写请求为写数据请求时,本步骤可以包括:
步骤1,判断所述写数据请求对应的读写对象是否存在于存储系统中;
步骤2,若是,则将所述写数据请求的数据写入所述目标复制卷;
步骤3,若否,则基于所述读写对象读取对应父卷中的对象位置;
步骤4,若读取到对应父卷中的对象位置时,将写数据请求的数据与所述对象位置的数据合并写入所述目标复制卷;
步骤5,若读取不到对应父卷中的对象位置时,将所述写数据请求的数据写入所述目标复制卷。
可见,本可选方案中主要是说明如何进行写数据处理。本可选方案中,判断所述写数据请求对应的读写对象是否存在于存储系统中;若是,则将所述写数据请求的数据写入所述目标复制卷。可见,如果存在对应的对象,则直接写入数据到目标复制卷中。若否,则基于所述读写对象读取对应父卷中的对象位置。也就是,从父卷中确定对应的对象位置。如果确定存在对应的对象位置将旧数据和新数据合并写入到目标复制卷中。因此,若读取到对应父卷中的对象位置时,将写数据请求的数据与所述对象位置的数据合并写入所述目标复制卷;若读取不到对应父卷中的对象位置时,将所述写数据请求的数据写入所述目标复制卷。也就是,实现对应的增量复制和全量复制。
进一步的,当读写请求为读数据请求时,本步骤可以包括:
步骤1,判断所述读数据请求对应的读写对象是否存在于存储系统中;
步骤2,若存在,则返回对应读写对象的数据;
步骤3,若不存在,则基于所述读写对象读取对应父卷中的数据;
步骤4,若读取不到对应父卷中的数据时,则返回空数据;
步骤5,若读取到对应父卷中的数据时,将所述对应父卷中的数据复制到所述目标复制卷中,并反馈所述数据。
可见,本可选方案中主要是说明如何进行读数据处理。本可选方案中,判断所述读数据请求对应的读写对象是否存在于存储系统中;若存在,则返回对应读写对象的数据。也就是,如果在存储系统中存在对应的数据则直接反馈即可。若不存在,则基于所述读写对象读取对应父卷中的数据;也就是说,在存储系统中不存在对应的数据则在父卷中查找对应的数据。若读取不到对应父卷中的数据时,则返回空数据。说明该数据在所有卷中并不存在。若读取到对应父卷中的数据时,将所述对应父卷中的数据复制到所述目标复制卷中,并反馈所述数据。
S103,当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
在102的基础上,本步骤旨在当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷。
也就是,在对读写请求进行相应的读写处理的过程中,将对应的读写对象全量复制至所述目标复制卷,保持目标复制卷与镜像卷之间的数据的一致性。
进一步的,本步骤可以包括:
步骤1,当进行读写处理时,判断所述目标复制卷中是否存在对应的读写对象;
步骤2,若否,将所述读写对象在父卷中的数据复制到所述目标复制卷中。
可见,本可选方案中主要是说明如何进行全量复制。本可选方案中,当进行读写处理时,判断所述目标复制卷中是否存在对应的读写对象;若否,将所述读写对象在父卷中的数据复制到所述目标复制卷中。
S104,当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
在S103的基础上,本步骤旨在当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。其中,连接关系为镜像卷和目标复制卷之间的链接关系元数据,删除后表示之间不存在复制的关系,表示卷的复制已完成。
综上所述,本实施例通过先基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,然后接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,也就是在复制的过程中还可以通过挂载在虚拟机中的镜像卷对读写请求进行处理,避免业务读写的中断,同时在进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,避免由于数据读写造成的数据错误的问题,提高进行数据复制的效果和可靠性。
以下通过另一具体的实施例,对本申请提供的一种分布式块存储系统的复制方法做进一步说明。
请参考图2,图2为本申请实施例所提供的一种分布式块存储系统的复制方法的结构示意图。
本实施例中,提供了一种虚拟化云场景在线复制数据并切换业务的方法,也就是,将存储卷数据从复制至另一个存储卷。
该方法可以包括:
步骤1,准备用户的镜像卷,并将镜像卷挂载给用户虚拟机,此时用户可直接启动虚拟机并进行读写业务,确定目标卷存储池,执行复制任务。
步骤2,存储系统接收到在线复制任务后,首先阻塞IO,根据用户提供的存储池名、卷名进行新卷(目标复制卷)的创建。
其中,创建新卷过程分为两步:基于当前时刻对镜像卷创建快照,基于快照创建克隆卷。
步骤3,修改iscsi(磁盘挂载服务)映射的元数据,将镜像卷的存储池名称、卷名称和映射的对应关系修改为新卷的存储池名称、卷名称。此时,iscsi协议的卷映射关系已修改完成。
步骤4,将iscsi服务内存中的镜像卷句柄关闭,重新打开新卷的句柄,此时已将iscsi服务内存中内存映射卷替换完成。
步骤5,数据复制。
其中,数据复制为在线复制,以上4个步骤做完之后即可开始进行用户的正常读写业务,数据读写流程:
当有写数据时,首先判断存储系统中该读写对象是否存在。情况1:若不存在,则读取父卷的对象位置,若父卷的对象位置存在,则将新写的数据与父卷该对象数据合并写入,若不存在父卷的对象位置,直接将数据写入新卷;情况2:若存在,说明数据已进行过复制,则直接写入新数据。
当有读数据请求时,判断存储系统中该对象是否存在数据,若不存在,则读取父卷数据,若均不存在则返回为空。若父卷存在数据,则将父卷数据复制到新卷中,该读写对象数据完成复制。
步骤6,后台复制任务。
当有用户数据读写的业务进行中,可对读写对象进行复制,但并不能覆盖所有对象,此时则需要后台复制任务同步进行全量的数据复制。
也就是,对新卷数据对象进行覆盖flatten(连续检测函数)请求,若对象存在,则无需flatten,若对象不存在,则将父卷数据复制到新卷对象,完成新卷flatten。
步骤7,最后删除新卷和镜像卷的链接关系元数据,完成卷的在线复制。
可见,本实施例通过先基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,然后接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,也就是在复制的过程中还可以通过挂载在虚拟机中的镜像卷对读写请求进行处理,避免业务读写的中断,同时在进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,避免由于数据读写造成的数据错误的问题,提高进行数据复制的效果和可靠性。
下面对本申请实施例提供的分布式块存储系统的复制装置进行介绍,下文描述的分布式块存储系统的复制装置与上文描述的分布式块存储系统的复制方法可相互对应参照。
请参考图3,图3为本申请实施例所提供的一种分布式块存储系统的复制装置的结构示意图。
本实施例中,该装置可以包括:
新卷创建模块100,用于基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
读写处理模块200,用于当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
读写复制模块300,用于当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
连接关系删除模块400,用于当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
可选的,该新卷创建模块100,具体用于当接收到复制任务时,进行数据读写阻塞处理;基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷;基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改;当修改完成时进行数据复制,并关闭所述数据读写阻塞处理。
可选的,该新卷创建模块100中的基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷,可以包括:
基于所述复制任务中的存储池名称和卷名称创建快照;基于所述快照创建所述目标复制卷。
可选的,该新卷创建模块100中的基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改,可以包括:
基于所述目标复制卷对磁盘挂载服务中的元数据的名称信息和映射关系进行修改;其中,名称信息包括存储池名称和卷名称;对所述磁盘挂载服务的内存映射卷的句柄进行重启。
可选的,该读写处理模块200,具体用于判断所述写数据请求对应的读写对象是否存在于存储系统中;若是,则将所述写数据请求的数据写入所述目标复制卷若否,则基于所述读写对象读取对应父卷中的对象位置;若读取到对应父卷中的对象位置时,将写数据请求的数据与所述对象位置的数据合并写入所述目标复制卷;若读取不到对应父卷中的对象位置时,将所述写数据请求的数据写入所述目标复制卷。
可选的,该读写处理模块200,具体用于判断所述读数据请求对应的读写对象是否存在于存储系统中;若存在,则返回对应读写对象的数据;若不存在,则基于所述读写对象读取对应父卷中的数据;若读取不到对应父卷中的数据时,则返回空数据;若读取到对应父卷中的数据时,将所述对应父卷中的数据复制到所述目标复制卷中,并反馈所述数据。
可选的,该读写复制模块300,具体用于当进行读写处理时,判断所述目标复制卷中是否存在对应的读写对象;若否,将所述读写对象在父卷中的数据复制到所述目标复制卷中。
可见,本实施例通过先基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,然后接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,也就是在复制的过程中还可以通过挂载在虚拟机中的镜像卷对读写请求进行处理,避免业务读写的中断,同时在进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,避免由于数据读写造成的数据错误的问题,提高进行数据复制的效果和可靠性。
本申请还提供了一种服务器,请参考图4,图4为本申请实施例所提供的一种服务器的结构示意图,该服务器可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时可实现如上述任意一种分布式块存储系统的复制方法的步骤。
如图4所示,为服务器的组成结构示意图,服务器可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行异常IP识别方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图4所示的结构并不构成对本申请实施例中服务器的限定,在实际应用中服务器可以包括比图4所示的更多或更少的部件,或者组合某些部件。
可见,本实施例通过先基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,然后接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,也就是在复制的过程中还可以通过挂载在虚拟机中的镜像卷对读写请求进行处理,避免业务读写的中断,同时在进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,避免由于数据读写造成的数据错误的问题,提高进行数据复制的效果和可靠性。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种分布式块存储系统的复制方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种分布式块存储系统的复制方法、复制装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种分布式块存储系统的复制方法,其特征在于,包括:
基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
2.根据权利要求1所述的复制方法,其特征在于,基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制,包括:
当接收到复制任务时,进行数据读写阻塞处理;
基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷;
基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改;
当修改完成时进行数据复制,并关闭所述数据读写阻塞处理。
3.根据权利要求2所述的复制方法,其特征在于,基于所述镜像卷创建快照,基于所述快照创建所述目标复制卷,包括:
基于所述复制任务中的存储池名称和卷名称创建快照;
基于所述快照创建所述目标复制卷。
4.根据权利要求2所述的复制方法,其特征在于,基于所述目标复制卷对磁盘挂载服务中的元数据和内存映射卷进行修改,包括:
基于所述目标复制卷对磁盘挂载服务中的元数据的名称信息和映射关系进行修改;其中,名称信息包括存储池名称和卷名称;
对所述磁盘挂载服务的内存映射卷的句柄进行重启。
5.根据权利要求1所述的复制方法,其特征在于,当读写请求为写数据请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,包括:
判断所述写数据请求对应的读写对象是否存在于存储系统中;
若是,则将所述写数据请求的数据写入所述目标复制卷;
若否,则基于所述读写对象读取对应父卷中的对象位置;
若读取到对应父卷中的对象位置时,将写数据请求的数据与所述对象位置的数据合并写入所述目标复制卷;
若读取不到对应父卷中的对象位置时,将所述写数据请求的数据写入所述目标复制卷。
6.根据权利要求1所述的复制方法,其特征在于,当读写请求为读数据请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理,包括:
判断所述读数据请求对应的读写对象是否存在于存储系统中;
若存在,则返回对应读写对象的数据;
若不存在,则基于所述读写对象读取对应父卷中的数据;
若读取不到对应父卷中的数据时,则返回空数据;
若读取到对应父卷中的数据时,将所述对应父卷中的数据复制到所述目标复制卷中,并反馈所述数据。
7.根据权利要求1所述的复制方法,其特征在于,当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷,包括:
当进行读写处理时,判断所述目标复制卷中是否存在对应的读写对象;
若否,将所述读写对象在父卷中的数据复制到所述目标复制卷中。
8.一种分布式块存储系统的复制装置,其特征在于,包括:
新卷创建模块,用于基于接收到的复制任务创建镜像卷对应的目标复制卷,并进行数据复制;其中,所述镜像卷为挂载至虚拟机中的存储卷;
读写处理模块,用于当接收到所述虚拟机的读写请求时,基于所述读写请求对应的读写对象的存储状态对所述读写请求进行读写处理;
读写复制模块,用于当进行读写处理时,将对应的读写对象全量复制至所述目标复制卷;
连接关系删除模块,用于当所述数据复制完成时,删除所述镜像卷与所述目标复制卷之间的连接关系。
9.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的分布式块存储系统的复制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式块存储系统的复制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501215.0A CN116560795A (zh) | 2023-04-28 | 2023-04-28 | 一种分布式块存储系统的复制方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501215.0A CN116560795A (zh) | 2023-04-28 | 2023-04-28 | 一种分布式块存储系统的复制方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116560795A true CN116560795A (zh) | 2023-08-08 |
Family
ID=87497603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310501215.0A Pending CN116560795A (zh) | 2023-04-28 | 2023-04-28 | 一种分布式块存储系统的复制方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560795A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407125A (zh) * | 2023-12-14 | 2024-01-16 | 中电云计算技术有限公司 | Pod高可用实现方法、装置、设备及可读存储介质 |
-
2023
- 2023-04-28 CN CN202310501215.0A patent/CN116560795A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407125A (zh) * | 2023-12-14 | 2024-01-16 | 中电云计算技术有限公司 | Pod高可用实现方法、装置、设备及可读存储介质 |
CN117407125B (zh) * | 2023-12-14 | 2024-04-16 | 中电云计算技术有限公司 | Pod高可用实现方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10802921B2 (en) | Systems and methods including committing a note to master and slave copies of a data volume based on sequential operation numbers | |
US11836155B2 (en) | File system operation handling during cutover and steady state | |
CN114341792B (zh) | 存储集群之间的数据分区切换 | |
US10019194B1 (en) | Eventually consistent synchronous data replication in a storage system | |
JP6353924B2 (ja) | ブロックベースストレージに対するデータボリュームの耐久性状態の低減 | |
US8392680B1 (en) | Accessing a volume in a distributed environment | |
JP4809040B2 (ja) | ストレージ装置及びスナップショットのリストア方法 | |
US8433869B1 (en) | Virtualized consistency group using an enhanced splitter | |
US9256605B1 (en) | Reading and writing to an unexposed device | |
US9098452B2 (en) | Selecting files to backup in a block level backup | |
JP4152373B2 (ja) | リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム | |
EP2304569B1 (en) | Performing a data write on a storage device | |
US20140208012A1 (en) | Virtual disk replication using log files | |
US20070168707A1 (en) | Data protection in storage systems | |
US9519581B2 (en) | Storage integration for host-based write-back caching | |
US10235087B1 (en) | Distributing journal data over multiple journals | |
CN107430494B (zh) | 用于远程直接存储器访问的系统、方法和介质 | |
US8555009B1 (en) | Method and apparatus for enabling and managing application input/output activity while restoring a data store | |
CN107533537B (zh) | 存储系统、用于存储的方法和非暂时性计算机可读介质 | |
JP2008225616A (ja) | ストレージシステム、リモートコピーシステム、及びデータ復元方法 | |
US8019953B2 (en) | Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log | |
US8090907B2 (en) | Method for migration of synchronous remote copy service to a virtualization appliance | |
US20170220249A1 (en) | Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks | |
CN116560795A (zh) | 一种分布式块存储系统的复制方法及相关装置 | |
US11068299B1 (en) | Managing file system metadata using persistent cache |
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 |