CN116483274A - 一种分布式块存储卷在线迁移方法、装置、设备及介质 - Google Patents

一种分布式块存储卷在线迁移方法、装置、设备及介质 Download PDF

Info

Publication number
CN116483274A
CN116483274A CN202310454719.1A CN202310454719A CN116483274A CN 116483274 A CN116483274 A CN 116483274A CN 202310454719 A CN202310454719 A CN 202310454719A CN 116483274 A CN116483274 A CN 116483274A
Authority
CN
China
Prior art keywords
storage volume
migration
target storage
data
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.)
Pending
Application number
CN202310454719.1A
Other languages
English (en)
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.)
Inspur Jinan data Technology Co ltd
Original Assignee
Inspur Jinan data Technology 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 Inspur Jinan data Technology Co ltd filed Critical Inspur Jinan data Technology Co ltd
Priority to CN202310454719.1A priority Critical patent/CN116483274A/zh
Publication of CN116483274A publication Critical patent/CN116483274A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种分布式块存储卷在线迁移方法、装置、设备及介质,涉及分布式存储技术领域。通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。

Description

一种分布式块存储卷在线迁移方法、装置、设备及介质
技术领域
本申请涉及分布式存储技术领域,特别是涉及一种分布式块存储卷在线迁移方法、装置、设备及介质。
背景技术
块存储主要是将裸磁盘空间整个映射给主机使用的存储服务,例如传统存储区域网络(Storage Area Network,SAN)技术就是块存储。分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
分布式块存储一般使用Internet小型计算机系统接口(Internet SmallComputer System Interface,iSCSI)等标准协议对接上层业务。当实现跨存储池的资源迁移时,对于业务层面来说主要涉及应用改造、架构变更以及数据安全等方面的资源划分的变动;为了不影响上层业务的正常进行,分布式存储系统卷的在线迁移应做到上层业务无感知。然而,目前一些迁移方案需要上层配合操作,在使用不同的云平台产品时,操作大相径庭,增加了客户操作的复杂度。
鉴于上述问题,如何更好地实现分布式块存储卷在线迁移,避免对上层业务的影响,是该领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种分布式块存储卷在线迁移方法、装置、设备及介质,以更好地实现分布式块存储卷在线迁移,避免对上层业务的影响。
为解决上述技术问题,本申请提供一种分布式块存储卷在线迁移方法,包括:
获取迁移任务,并根据所述迁移任务在目标存储池中创建目标存储卷;
建立源存储卷与所述目标存储卷的迁移关系,并设置迁移状态为准备迁移;
将所述源存储卷对应的业务进程从所述源存储卷切换至所述目标存储卷,以便于业务进程处理;
设置所述迁移状态为迁移中,并启动所述源存储卷至所述目标存储卷的数据迁移,直至完成数据迁移。
优选地,在所述设置迁移状态为准备迁移之前,所述根据所述迁移任务在目标存储池中创建目标存储卷之后,还包括:
将所述源存储卷中的元数据复制至所述目标存储卷中;
其中,所述元数据至少包含所述源存储卷的属性信息、配置信息、创建时间以及存储空间大小。
优选地,所述将所述源存储卷对应的业务进程从所述源存储卷切换至所述目标存储卷包括:
判断所述目标存储卷是否能够正常打开;
若否,则设置所述迁移状态为迁移失败,并停止当前的所述迁移任务;
若是,则将所述业务进程对应的新的IO请求放入等待队列;在所述业务进程对应的处理中的IO请求处理完成后,通过所述目标存储卷对所述新的IO请求进行处理。
优选地,所述通过所述目标存储卷对所述新的IO请求进行处理包括:
根据所述新的IO请求判断所述目标存储卷内对应位置的读写对象是否存在;
若是,则根据所述新的IO请求直接执行读操作和/或写操作;
若否,则当所述新的IO请求为所述读操作时,通过所述源存储卷中对应的数据执行所述读操作;
当所述新的IO请求为所述写操作时,将待写入的数据和所述源存储卷中对应的数据组合后写入所述目标存储卷。
优选地,所述启动所述源存储卷至所述目标存储卷的数据迁移包括:
获取所述源存储卷的快照信息,并根据所述快照信息在所述目标存储卷中创建对应的快照;
依次读取所述源存储卷中的快照数据和对象数据,并复制所述快照数据和所述对象数据至所述目标存储卷。
优选地,所述复制所述快照数据和所述对象数据至所述目标存储卷包括:
判断所述目标存储卷对应位置是否存在所述对象数据;
若是,则跳过复制该所述对象数据。
优选地,在所述完成数据迁移之后,还包括:
设置所述迁移状态为清理中,并将所述源存储卷中的快照数据和对象数据清除;
保留所述源存储卷与所述目标存储卷的所述迁移关系。
为解决上述技术问题,本申请还提供一种分布式块存储卷在线迁移装置,包括:
创建模块,用于获取迁移任务,并根据所述迁移任务在目标存储池中创建目标存储卷;
建立模块,用于建立源存储卷与所述目标存储卷的迁移关系,并设置迁移状态为准备迁移;
切换模块,用于将所述源存储卷对应的业务进程从所述源存储卷切换至所述目标存储卷,以便于业务进程处理;
迁移模块,用于设置所述迁移状态为迁移中,并启动所述源存储卷至所述目标存储卷的数据迁移,直至完成数据迁移。
优选地,还包括:
元数据复制模块,用于将所述源存储卷中的元数据复制至所述目标存储卷中;
其中,所述元数据至少包含所述源存储卷的属性信息、配置信息、创建时间以及存储空间大小。
优选地,所述切换模块包括:
第一判断模块,用于判断所述目标存储卷是否能够正常打开;若否,则触发停止模块;若是,则触发处理模块;
所述停止模块,用于设置所述迁移状态为迁移失败,并停止当前的所述迁移任务;
所述处理模块,用于将所述业务进程对应的新的IO请求放入等待队列;在所述业务进程对应的处理中的IO请求处理完成后,通过所述目标存储卷对所述新的IO请求进行处理。
优选地,所述处理模块包括:
第二判断模块,用于根据所述新的IO请求判断所述目标存储卷内对应位置的读写对象是否存在;若是,则根据所述新的IO请求直接执行读操作和/或写操作;若否,则当所述新的IO请求为所述读操作时,通过所述源存储卷中对应的数据执行所述读操作;当所述新的IO请求为所述写操作时,将待写入的数据和所述源存储卷中对应的数据组合后写入所述目标存储卷。
优选地,所述迁移模块包括:
快照创建模块,用于获取所述源存储卷的快照信息,并根据所述快照信息在所述目标存储卷中创建对应的快照;
数据复制模块,用于依次读取所述源存储卷中的快照数据和对象数据,并复制所述快照数据和所述对象数据至所述目标存储卷。
优选地,所述数据复制模块包括:
第三判断模块,用于判断所述目标存储卷对应位置是否存在所述对象数据;
若是,则跳过复制该所述对象数据。
优选地,还包括:
数据清除模块,用于设置所述迁移状态为清理中,并将所述源存储卷中的快照数据和对象数据清除;
迁移关系保留模块,用于保留所述源存储卷与所述目标存储卷的所述迁移关系。
为解决上述技术问题,本申请还提供一种分布式块存储卷在线迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的分布式块存储卷在线迁移方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的分布式块存储卷在线迁移方法的步骤。
本申请所提供的分布式块存储卷在线迁移方法,通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。
此外,本申请实施例还提供一种分布式块存储卷在线迁移装置、设备及介质,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种分布式块存储卷在线迁移方法的流程图;
图2为本申请实施例提供的一种分布式块存储卷在线迁移装置的示意图;
图3为本申请实施例提供的一种分布式块存储卷在线迁移设备的示意图;
图4为本申请实施例提供的分布式块存储卷在线迁移方法在应用场景中的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种分布式块存储卷在线迁移方法、装置、设备及介质,以更好地实现分布式块存储卷在线迁移,避免对上层业务的影响。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
分布式块存储一般使用iSCSI等标准协议对接上层业务。存储卷在线迁移应做到上层业务无感知。目前,一些迁移方案需要上层配合操作,在使用不同的云平台产品时,操作大相径庭,增加了客户操作的复杂度。因此,本申请在标准协议之下,提出了一种在线存储卷迁移手段,可以在使用不同协议时做到业务无感知的迁移,且支持多客户端访问和跨集群功能。
图1为本申请实施例提供的一种分布式块存储卷在线迁移方法的流程图。如图1所示,分布式块存储卷在线迁移方法包括:
S10:获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷。
当分布式存储卷需要进行迁移时,首先由分布式存储集群中的某个节点获取对应的迁移任务,进一步根据迁移任务在目标存储池中创建目标存储卷。迁移任务具体包含将源存储池的源存储卷中的数据迁移至目标存储池的目标存储卷的任务内容。
在具体实施中,在迁移前的迁移准备阶段,首先通过管理界面下发迁移任务,迁移任务调用,将任务信息存储在源存储池中,由任务分配模块分配到某个节点处理。可以理解的是,管理界面是分布式存储系统中用户执行操作的可视化界面,用户能够通过管理界面管理存储资源与状态监控等。迁移任务即从管理界面下发的迁移操作;由于存储卷数据迁移涉及数据移动,需要花费一定的时间,因此可通过后台任务的方式在后台执行。
进一步地,由于分布式存储系统由多个节点组成,任务可以分别在不同节点处理。为保证各个节点的任务压力均衡分摊,任务分配模块可根据每个节点的任务数量选择任务少的节点执行。本实施例中对于执行迁移任务的具体节点不做限制,根据具体的实施情况而定。
S11:建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移。
在目标存储池创建了目标存储卷之后,进一步建立起源存储卷与目标存储卷的迁移关系,设置当前的迁移状态为准备迁移状态,以通知上层业务准备迁移。
S12:将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理。
当源存储卷对应的上层的业务进程确认当前迁移状态为准备迁移时,将业务进程从源存储卷切换至目标存储卷,以进行业务进程的后续处理,这样保证了业务进程在存储卷迁移时不受影响。需要注意的是,本实施例中对于将源存储卷对应的业务进程从源存储卷切换至目标存储卷的具体过程不做限制,根据具体的实施情况而定。
S13:设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。
最后,在将业务进程由源存储卷切换至目标存储卷之后,设置迁移状态为迁移中,正式启动源存储卷数据向目标存储卷的迁移,直至数据迁移完成,整个迁移过程结束。
需要注意的是,本实施例中对于源存储卷至目标存储卷的数据迁移的具体过程不做限制,根据具体的实施情况而定;对于源存储卷至目标存储卷的数据迁移的具体数据内容也不做限制,根据具体的实施情况而定。
本实施例中,通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。
在上述实施例的基础上,为了更好地进行迁移准备工作,作为一种优选的实施例,在设置迁移状态为准备迁移之前,根据迁移任务在目标存储池中创建目标存储卷之后,还包括:
将源存储卷中的元数据复制至目标存储卷中;
其中,元数据至少包含源存储卷的属性信息、配置信息、创建时间以及存储空间大小。
具体地,在创建目标存储卷之后,设置源存储卷与目标存储卷之间的迁移关系的同时,还可同时将源存储卷中的元数据复制至目标存储卷中。
需要注意的是,存储卷的元数据一般包含存储卷的属性信息和存储卷的配置信息等内容,包括存储卷存储空间大小,存储卷创建时间等。而元数据又分为可变元数据与不可变元数据,在本实施例中源存储卷向目标存储卷复制的元数据为不可变元数据。此外,在建立源存储卷与目标存储卷的迁移关系时,可将迁移关系的元数据写入源存储卷和目标存储卷,从而实现了迁移关系的设置,使得目标存储卷获取与源存储卷的迁移关系。
本实施例中,通过将源存储卷中的元数据复制至目标存储卷中,更好地实现了迁移准备工作。
在上述实施例的基础上,为了在迁移过程中不影响上层业务,将源存储卷对应的业务进程从源存储卷切换至目标存储卷包括:
判断目标存储卷是否能够正常打开;
若否,则设置迁移状态为迁移失败,并停止当前的迁移任务;
若是,则将业务进程对应的新的IO请求放入等待队列;在业务进程对应的处理中的IO请求处理完成后,通过目标存储卷对新的IO请求进行处理。
在具体实施中,为了能够将源存储卷对应的业务进程从源存储卷切换至目标存储卷,首先需要判断目标存储卷是否能够正常打开。若目标存储卷无法正常打开,可确认目标存储卷创建失败,无法进行后续的迁移过程,此时终止当前的迁移任务。若目标存储卷可以正常打开,则将业务进程对应的新的IO请求放入等待队列,以阻塞本业务进程的IO请求,等待正在处理中的IO请求处理完成;可以理解的是,正在处理中的IO请求是由源存储卷处理。在业务进程对应的处理中的IO请求处理完成后,通过目标存储卷对新的IO请求进行处理,从而完成业务进程从源存储卷至目标存储卷的切换。
需要注意的是,本实施例中对于目标存储卷对新的IO请求的处理过程不做限制,根据具体的实施情况而定。
本实施例中,通过判断目标存储卷是否能够正常打开;若否,则设置迁移状态为迁移失败,并停止当前的迁移任务;若是,则将业务进程对应的新的IO请求放入等待队列;在业务进程对应的处理中的IO请求处理完成后,通过目标存储卷对新的IO请求进行处理。实现了业务进程从源存储卷至目标存储卷的切换,避免了在迁移过程中影响上层业务。
在上述实施例的基础上,为了实现目标存储卷对IO请求的处理,作为一种优选的实施例,通过目标存储卷对新的IO请求进行处理包括:
根据新的IO请求判断目标存储卷内对应位置的读写对象是否存在;
若是,则根据新的IO请求直接执行读操作和/或写操作;
若否,则当新的IO请求为读操作时,通过源存储卷中对应的数据执行读操作;
当新的IO请求为写操作时,将待写入的数据和源存储卷中对应的数据组合后写入目标存储卷。
可以理解的是,新的IO请求为对目标存储卷中对应对象进行读操作和/或写操作的请求。在具体实施中,目标存储器在得到新的IO请求后,根据新的IO请求判断目标存储卷内对应位置的读写对象是否存在。在具体实施中对读写对象是否存在的判断有两种方式,一是通过存储卷的位图元数据来进行判断,二是通过stat操作来进行判断。由于存储卷的读写操作需要有偏移量和长度,因此根据偏移量和长度可唯一的确定要读写的对象。
若确认目标存储卷内对应位置的读写对象存在,则根据新的IO请求直接在目标存储卷中执行读操作和/或写操作;若确认目标存储卷内对应位置的读写对象不存在,则需要根据新的IO请求的操作类型来进行具体处理。
具体地,当确认目标存储卷内对应位置的读写对象不存在,且新的IO请求为读操作时,由于目标存储卷中不包含新的IO请求对应的对象,此时需通过源存储卷中对应的数据执行读操作。当确认目标存储卷内对应位置的读写对象不存在,且新的IO请求为写操作时,需将本次IO请求待写入的数据和源存储卷中对应的数据组合后写入目标存储卷。
本实施例中,根据新的IO请求判断目标存储卷内对应位置的读写对象是否存在;若是,则根据新的IO请求直接执行读操作和/或写操作;若否,则当新的IO请求为读操作时,通过源存储卷中对应的数据执行读操作;当新的IO请求为写操作时,将待写入的数据和源存储卷中对应的数据组合后写入目标存储卷。实现了目标存储卷对IO请求的处理。
为了实现了存储卷间数据的在线迁移,在上述实施例的基础上,作为一种优选的实施例,启动源存储卷至目标存储卷的数据迁移包括:
获取源存储卷的快照信息,并根据快照信息在目标存储卷中创建对应的快照;
依次读取源存储卷中的快照数据和对象数据,并复制快照数据和对象数据至目标存储卷。
具体地,在迁移过程中,首先要获取源存储卷的快照信息,并根据快照信息在目标存储卷中创建对应的快照。需要注意的是,快照信息包括快照大小、创建时间以及快照身份证标识号(Identity document,ID)等,快照信息包含在源存储卷的元数据中,属于可变元数据。
进一步获取需要迁移的对象的起止对象号,依次读取源存储卷中的快照数据和对象数据,并复制快照数据和对象数据至目标存储卷。需要注意的是,快照数据不是快照信息,对象数据为存储卷的直接数据。此外,迁移过程中每复制一定的对象数量需更新对应的任务进度,以用于进度显示和续传。
本实施例中,通过获取源存储卷的快照信息,并根据快照信息在目标存储卷中创建对应的快照;依次读取源存储卷中的快照数据和对象数据,并复制快照数据和对象数据至目标存储卷。最终实现了源存储卷至目标存储卷的数据迁移。
在上述实施例的基础上,作为一种优选的实施例,复制快照数据和对象数据至目标存储卷包括:
判断目标存储卷对应位置是否存在对象数据;
若是,则跳过复制该对象数据。
为了保证数据迁移的正常进行,在进行数据迁移的过程中,还需检查目标存储卷对应位置是否有对象数据;如果有,则证明已经进行过数据迁移动作,需要跳过此对象。
作为一种优选的实施例,在完成数据迁移之后,还包括:
设置迁移状态为清理中,并将源存储卷中的快照数据和对象数据清除;
保留源存储卷与目标存储卷的迁移关系。
具体地,在数据迁移完成后,设置迁移状态为清理中,将源存储卷的对象数据和快照数据清除,保留存储卷的基本信息和迁移关系。清理完成后,设置迁移状态为保存关系。对与不同的业务均可以根据此关系定位到迁移后的目标存储卷,无需在业务端进行切换。对于特定的业务,可以在管理界面手动清理存储卷间的迁移关系,清理后无法访问源存储卷。
本实施例中,通过清理迁移后源存储卷中的数据,节省了存储资源。
在上述实施例中,对于分布式块存储卷在线迁移方法进行了详细描述,本申请还提供分布式块存储卷在线迁移装置对应的实施例。
图2为本申请实施例提供的一种分布式块存储卷在线迁移装置的示意图。如图2所示,分布式块存储卷在线迁移装置包括:
创建模块10,用于获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷。
建立模块11,用于建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移。
切换模块12,用于将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理。
迁移模块13,用于设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。
作为一种优选的实施例,还包括:
元数据复制模块,用于将源存储卷中的元数据复制至目标存储卷中;
其中,元数据至少包含源存储卷的属性信息、配置信息、创建时间以及存储空间大小。
作为一种优选的实施例,切换模块包括:
第一判断模块,用于判断目标存储卷是否能够正常打开;若否,则触发停止模块;若是,则触发处理模块;
停止模块,用于设置迁移状态为迁移失败,并停止当前的迁移任务;
处理模块,用于将业务进程对应的新的IO请求放入等待队列;在业务进程对应的处理中的IO请求处理完成后,通过目标存储卷对新的IO请求进行处理。
在具体实施中,为了能够将源存储卷对应的业务进程从源存储卷切换至目标存储卷,首先需要通过第一判断模块判断目标存储卷是否能够正常打开。若目标存储卷无法正常打开,可确认目标存储卷创建失败,无法进行后续的迁移过程,此时通过停止模块终止当前的迁移任务。若目标存储卷可以正常打开,则通过处理模块将业务进程对应的新的IO请求放入等待队列,以阻塞本业务进程的IO请求,等待正在处理中的IO请求处理完成;可以理解的是,正在处理中的IO请求是由源存储卷处理。在业务进程对应的处理中的IO请求处理完成后,通过目标存储卷对新的IO请求进行处理,从而完成业务进程从源存储卷至目标存储卷的切换。
作为一种优选的实施例,处理模块包括:
第二判断模块,用于根据新的IO请求判断目标存储卷内对应位置的读写对象是否存在;若是,则根据新的IO请求直接执行读操作和/或写操作;若否,则当新的IO请求为读操作时,通过源存储卷中对应的数据执行读操作;当新的IO请求为写操作时,将待写入的数据和源存储卷中对应的数据组合后写入目标存储卷。
可以理解的是,新的IO请求为对目标存储卷中对应对象进行读操作和/或写操作的请求。在具体实施中,目标存储器在得到新的IO请求后,利用第二判断模块根据新的IO请求判断目标存储卷内对应位置的读写对象是否存在。在具体实施中对读写对象是否存在的判断有两种方式,一是通过存储卷的位图元数据来进行判断,二是通过stat操作来进行判断。由于存储卷的读写操作需要有偏移量和长度,因此根据偏移量和长度可唯一的确定要读写的对象。若确认目标存储卷内对应位置的读写对象存在,则根据新的IO请求直接在目标存储卷中执行读操作和/或写操作;若确认目标存储卷内对应位置的读写对象不存在,则需要根据新的IO请求的操作类型来进行具体处理。具体地,当确认目标存储卷内对应位置的读写对象不存在,且新的IO请求为读操作时,由于目标存储卷中不包含新的IO请求对应的对象,此时需通过源存储卷中对应的数据执行读操作。当确认目标存储卷内对应位置的读写对象不存在,且新的IO请求为写操作时,需将本次IO请求待写入的数据和源存储卷中对应的数据组合后写入目标存储卷。
作为一种优选的实施例,迁移模块包括:
快照创建模块,用于获取源存储卷的快照信息,并根据快照信息在目标存储卷中创建对应的快照;
数据复制模块,用于依次读取源存储卷中的快照数据和对象数据,并复制快照数据和对象数据至目标存储卷。
作为一种优选的实施例,数据复制模块包括:
第三判断模块,用于判断目标存储卷对应位置是否存在对象数据;
若是,则跳过复制该对象数据。
作为一种优选的实施例,还包括:
数据清除模块,用于设置迁移状态为清理中,并将源存储卷中的快照数据和对象数据清除;
迁移关系保留模块,用于保留源存储卷与目标存储卷的迁移关系。
本实施例中,分布式块存储卷在线迁移装置包括创建模块、建立模块、切换模块和迁移模块。分布式块存储卷在线迁移装置在运行时能够实现上述分布式块存储卷在线迁移方法的全部步骤。通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。
图3为本申请实施例提供的一种分布式块存储卷在线迁移设备的示意图。如图3所示,分布式块存储卷在线迁移设备包括:
存储器20,用于存储计算机程序。
处理器21,用于执行计算机程序时实现如上述实施例中所提到的分布式块存储卷在线迁移的方法的步骤。
本实施例提供的分布式块存储卷在线迁移设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的分布式块存储卷在线迁移方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于分布式块存储卷在线迁移方法涉及到的数据。
在一些实施例中,分布式块存储卷在线迁移设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对分布式块存储卷在线迁移设备的限定,可以包括比图示更多或更少的组件。
本实施例中,分布式块存储卷在线迁移设备包括存储器和处理器。存储器用于存储计算机程序,处理器用于执行计算机程序时实现如上述实施例中所提到的分布式块存储卷在线迁移的方法的步骤。通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。
为了使本领域的技术人员更好的理解本申请的技术方案,下面结合附图4对上述本申请作进一步的详细说明。图4为本申请实施例提供的分布式块存储卷在线迁移方法在应用场景中的流程图。如图4所示,该方法包括:
S20:在迁移准备阶段,通过管理界面下发迁移任务至目标节点。
S21:根据迁移任务在目标存储池创建目标存储卷。
S22:设置源存储卷与目标存储卷间迁移关系,并设置迁移状态为准备迁移。
S23:通知业务进程将业务从源存储卷切换至目标存储卷,以进行业务处理。
S24:设置迁移状态为迁移中,开启源存储卷至目标存储卷的数据迁移。
S25:设置迁移状态为清理中,将源存储卷中的数据清除,并保留源存储卷与目标存储卷的迁移关系。
具体地,在迁移准备阶段,通过分布式存储系统的管理界面下发迁移任务,即源存储卷向目标存储卷进行数据迁移的任务。将迁移任务的任务信息存储至源存储卷的存储池中,由任务分配模块分配至分布式集群中某个节点进行处理,可具体为全部节点中任务最少的节点。
进一步地,任务处理进程接收迁移任务后,在目标集群的目标存储池创建目标存储卷;同时将源存储卷中的元数据拷贝至目标存储卷。设置源存储卷与目标存储卷间的迁移关系,并设置迁移状态为准备迁移状态。
在迁移状态设置完成后,通知业务进程将业务从源存储卷切换至目标存储卷。具体地,业务进程接收到迁移状态后为准备迁移状态后,首先尝试打开目标存储卷;若目标存储卷打开失败,则设置迁移状态为迁移失败,并停止当前的迁移任务;若目标存储卷打开成功,则阻塞当前业务进程的IO请求,将新的IO请求放入等待队列中,等待正在处理的IO请求处理完成。完成后使用目标存储卷进行IO请求处理。需要注意的是,由于此时目标存储卷为空,业务进行的IO请求的处理,需要判断目标存储卷内对应位置的读写对象是否存在。具体地,当确认目标存储卷内对应位置的读写对象不存在,且新的IO请求为读操作时,由于目标存储卷中不包含新的IO请求对应的对象,此时需通过源存储卷中对应的数据执行读操作。当确认目标存储卷内对应位置的读写对象不存在,且新的IO请求为写操作时,需将本次IO请求待写入的数据和源存储卷中对应的数据组合后写入目标存储卷。在业务进程切换完成后,通知任务处理进程,进行下一步的迁移操作。
进一步地,任务处理进程设置迁移状态为迁移中,并开始进行源存储卷数据向目标存储卷的迁移。迁移任务是首先获取源存储卷的快照信息,并在目标存储卷创建对应的快照,获取需要迁移对象的起止对象号,依次读取源存储卷快照数据和对象数据,并复制至目标存储卷。需要注意的是,复制对象数据时需要检查目标存储卷中对应位置是否存在数据;若是存在,则证明此处已经进行过数据迁移动作,需要跳过此对象。此外,迁移过程中每复制一定的对象数据,可更新对应的任务进度,以用于进度显示和续传。
在迁移完成后,设置迁移状态为清理中,将源存储卷的对象数据和快照数据清除,保留存储卷的迁移关系。在清理完成后,设置迁移状态为保存关系,对于不同的业务均可根据此迁移关系定位至目标存储卷,从而无需业务端进行存储卷的切换。而对于特定的业务,可以在管理界面手动清理迁移关系,在迁移关系清理后则无法访问源存储卷。
本实施例中的分布式块存储卷在线迁移方法,通过获取迁移任务,并根据迁移任务在目标存储池中创建目标存储卷;建立源存储卷与目标存储卷的迁移关系,并设置迁移状态为准备迁移;将源存储卷对应的业务进程从源存储卷切换至目标存储卷,以便于业务进程处理;设置迁移状态为迁移中,并启动源存储卷至目标存储卷的数据迁移,直至完成数据迁移。由此可知,上述方案实现了集群内或跨集群存储池间的存储卷在线迁移,支持多协议接入多客户端访问,无需上层业务配合;在迁移过程通过将源存储卷对应的业务进程从源存储卷切换至目标存储卷,避免了对上层业务产生影响,极大地的提高了用户体验。
以上对本申请所提供的一种分布式块存储卷在线迁移方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种分布式块存储卷在线迁移方法,其特征在于,包括:
获取迁移任务,并根据所述迁移任务在目标存储池中创建目标存储卷;
建立源存储卷与所述目标存储卷的迁移关系,并设置迁移状态为准备迁移;
将所述源存储卷对应的业务进程从所述源存储卷切换至所述目标存储卷,以便于业务进程处理;
设置所述迁移状态为迁移中,并启动所述源存储卷至所述目标存储卷的数据迁移,直至完成数据迁移。
2.根据权利要求1所述的分布式块存储卷在线迁移方法,其特征在于,在所述设置迁移状态为准备迁移之前,所述根据所述迁移任务在目标存储池中创建目标存储卷之后,还包括:
将所述源存储卷中的元数据复制至所述目标存储卷中;
其中,所述元数据至少包含所述源存储卷的属性信息、配置信息、创建时间以及存储空间大小。
3.根据权利要求1所述的分布式块存储卷在线迁移方法,其特征在于,所述将所述源存储卷对应的业务进程从所述源存储卷切换至所述目标存储卷包括:
判断所述目标存储卷是否能够正常打开;
若否,则设置所述迁移状态为迁移失败,并停止当前的所述迁移任务;
若是,则将所述业务进程对应的新的IO请求放入等待队列;在所述业务进程对应的处理中的IO请求处理完成后,通过所述目标存储卷对所述新的IO请求进行处理。
4.根据权利要求3所述的分布式块存储卷在线迁移方法,其特征在于,所述通过所述目标存储卷对所述新的IO请求进行处理包括:
根据所述新的IO请求判断所述目标存储卷内对应位置的读写对象是否存在;
若是,则根据所述新的IO请求直接执行读操作和/或写操作;
若否,则当所述新的IO请求为所述读操作时,通过所述源存储卷中对应的数据执行所述读操作;
当所述新的IO请求为所述写操作时,将待写入的数据和所述源存储卷中对应的数据组合后写入所述目标存储卷。
5.根据权利要求1所述的分布式块存储卷在线迁移方法,其特征在于,所述启动所述源存储卷至所述目标存储卷的数据迁移包括:
获取所述源存储卷的快照信息,并根据所述快照信息在所述目标存储卷中创建对应的快照;
依次读取所述源存储卷中的快照数据和对象数据,并复制所述快照数据和所述对象数据至所述目标存储卷。
6.根据权利要求5所述的分布式块存储卷在线迁移方法,其特征在于,所述复制所述快照数据和所述对象数据至所述目标存储卷包括:
判断所述目标存储卷对应位置是否存在所述对象数据;
若是,则跳过复制该所述对象数据。
7.根据权利要求1至6任意一项所述的分布式块存储卷在线迁移方法,其特征在于,在所述完成数据迁移之后,还包括:
设置所述迁移状态为清理中,并将所述源存储卷中的快照数据和对象数据清除;
保留所述源存储卷与所述目标存储卷的所述迁移关系。
8.一种分布式块存储卷在线迁移装置,其特征在于,包括:
创建模块,用于获取迁移任务,并根据所述迁移任务在目标存储池中创建目标存储卷;
建立模块,用于建立源存储卷与所述目标存储卷的迁移关系,并设置迁移状态为准备迁移;
切换模块,用于将所述源存储卷对应的业务进程从所述源存储卷切换至所述目标存储卷,以便于业务进程处理;
迁移模块,用于设置所述迁移状态为迁移中,并启动所述源存储卷至所述目标存储卷的数据迁移,直至完成数据迁移。
9.一种分布式块存储卷在线迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的分布式块存储卷在线迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式块存储卷在线迁移方法的步骤。
CN202310454719.1A 2023-04-21 2023-04-21 一种分布式块存储卷在线迁移方法、装置、设备及介质 Pending CN116483274A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310454719.1A CN116483274A (zh) 2023-04-21 2023-04-21 一种分布式块存储卷在线迁移方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310454719.1A CN116483274A (zh) 2023-04-21 2023-04-21 一种分布式块存储卷在线迁移方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116483274A true CN116483274A (zh) 2023-07-25

Family

ID=87224717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310454719.1A Pending CN116483274A (zh) 2023-04-21 2023-04-21 一种分布式块存储卷在线迁移方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116483274A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701049A (zh) * 2023-08-09 2023-09-05 苏州浪潮智能科技有限公司 一种有归属卷配置方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701049A (zh) * 2023-08-09 2023-09-05 苏州浪潮智能科技有限公司 一种有归属卷配置方法、装置、设备及存储介质
CN116701049B (zh) * 2023-08-09 2023-11-14 苏州浪潮智能科技有限公司 一种有归属卷配置方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11079966B2 (en) Enhanced soft fence of devices
US20210011817A1 (en) Virtual Machine Recovery Method and Virtual Machine Management Device
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
CN105872016B (zh) 一种桌面云中虚拟机的运行方法
CN111488241A (zh) 在容器编排平台实现无代理备份与恢复操作的方法和系统
CN111338773A (zh) 一种分布式定时任务调度方法、调度系统及服务器集群
US10592373B2 (en) Integrating external services with a clustered file system
CN106528327A (zh) 一种数据处理方法以及备份服务器
US10459643B2 (en) Method and apparatus for storage system
CN109408115A (zh) 一种基于容器环境中迁移对象的方法及计算系统
US9984139B1 (en) Publish session framework for datastore operation records
JP7469524B2 (ja) クラウドプラットフォーム間の仮想マシン移行方法、装置、記憶媒体及び電子機器
CN109495555A (zh) 一种基于云平台创建云主机的方法和装置
CN111666266A (zh) 一种数据迁移方法及相关设备
CN116483274A (zh) 一种分布式块存储卷在线迁移方法、装置、设备及介质
US9760450B2 (en) Restoring a clone point-in-time copy
CN112433812B (zh) 一种虚拟机跨集群迁移方法、系统、设备及计算机介质
CN113535087A (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
US11055017B1 (en) Throttling a point-in-time snapshot copy operation within a data consistency application
CN112433669A (zh) 一种分布式存储卷在线迁移的方法、系统、设备及介质
US10942821B1 (en) Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system
CN115174596A (zh) 一种设备远程复制方法、装置以及介质
CN109766220A (zh) 应用系统的备份恢复方法、装置及计算机可读存储介质
CN114296882A (zh) 一种虚拟机内存快照的导出方法、装置及介质
CN113821174A (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