CN111913663A - 存储卷在线迁移的方法、装置和存储卷在线迁移的系统 - Google Patents

存储卷在线迁移的方法、装置和存储卷在线迁移的系统 Download PDF

Info

Publication number
CN111913663A
CN111913663A CN202010745909.5A CN202010745909A CN111913663A CN 111913663 A CN111913663 A CN 111913663A CN 202010745909 A CN202010745909 A CN 202010745909A CN 111913663 A CN111913663 A CN 111913663A
Authority
CN
China
Prior art keywords
volume
migration
data
instruction
storage
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
CN202010745909.5A
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.)
Xsky Beijing Data Technology Corp ltd
Original Assignee
Xsky Beijing Data Technology Corp 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 Xsky Beijing Data Technology Corp ltd filed Critical Xsky Beijing Data Technology Corp ltd
Priority to CN202010745909.5A priority Critical patent/CN111913663A/zh
Publication of CN111913663A publication Critical patent/CN111913663A/zh
Pending legal-status Critical Current

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本申请提供了一种存储卷在线迁移的方法、装置和存储卷在线迁移的系统,该方法包括:接收迁移指令;根据迁移指令将源卷的数据迁移至目标卷;在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中;在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。该方法在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,解决了现有技术中无法实现存储卷在线迁移的问题。

Description

存储卷在线迁移的方法、装置和存储卷在线迁移的系统
技术领域
本申请涉及在线迁移技术领域,具体而言,涉及一种存储卷在线迁移的方法、装置、计算机可读存储介质、处理器和存储卷在线迁移的系统。
背景技术
snap based基于cow快照的迁移,这种方式的迁移建立在快照机制的基础上,虚拟机的快照包含了所有的存储数据,snap based的虚拟机迁移过程就是不断给虚拟机打快照-迁移快照,直到得到一个小于预定值的快照为止,此时暂时停止虚拟机,然后迅速把最后的差异数据迁移到目标上,再在目标机上启动虚拟机。此方案的特点是,打快照会造成性能损耗,快照本身还占用磁盘空间,在最后一次迁移完成后需要一次停机迁移处理。
DBT based基于脏数据的迁移,这种方式是使用一种称作DBT(Dirty BlockTrack)的方法,在迁移数据的同时,使用DBT记录下新写入的数据位置,每次迁移一轮数据之后,迁移刚刚记录的DBT对应位置的数据,同时用DBT再记录更新的数据写入,直到得到一个小于预定大小的DBT记录,此时暂时停止虚拟机,把最后的DBT记录的数据迁移到目标上,再在目标机器上启动虚拟机。
OpenStack是目前云计算领域最活跃的开源项目之一,是一个开源的云计算管理平台项目。它主要是利用虚拟化技术对多种硬件资源进行资源虚拟化,形成一个大的资源池,然后对虚拟化资源进行统一管理。它主要由几个服务模块构成:keystone(身份认证服务)、nova(计算服务)、glance(镜像服务)、neutron(网络服务)、cinder(块存储服务)、swift(对象存储服务)等,其中nova控制着迁移的主要操作,OpenStack支持两种类型的虚拟机迁移:
冷迁移(Cold migration),也叫静态迁移,在迁移过程中虚拟机必须关机,用户也不能访问虚拟机。因为要关机,所以他适用于用户对系统可用性要求不是很高的时候。
热迁移(Live migration),也叫动态迁移。在迁移的过程中虚拟机仍旧工作,用户可以继续使用虚拟机。热迁移又分为下面二种类型:
1、虚拟机30’的数据存在共享磁盘10’上(Shared storage-based livemigration),虚拟机监视器50’通过物理机20’执行虚拟机30’,虚拟机30’的内存40’执行计算,以执行业务指令,如图1所示。Ceph RBD裸盘基于此种情况,只在线迁移计算,即迁移内存数据,不迁移共享磁盘。
2、虚拟机30’的数据存在本地磁盘60’(block migration),虚拟机监视器50’通过物理机20’执行虚拟机30’,虚拟机30’的内存40’执行计算,以执行业务指令,如图2所示,需要对镜像文件和内存数据同时迁移。OpenStack通过块迁移实现这这类迁移,QCOW2文件系统可以记录增量数据,而裸卷Ceph RBD不能记录增量数据,所以此方法不能支持CEPHRBD的存储数据迁移。
由上可知,DBT based基于脏数据的迁移和DBT based基于脏数据的迁移均在最后一次迁移完成后需要一次停机迁移处理,这两种方式只适合部分场景的灾备处理,不适合在线迁移特性。OpenStack只支持QCOW2格式数据的在线迁移,不支持Ceph RBD裸卷格式数据的在线迁移。
但是,在虚拟化及数据场景下,用户有在线迁移的需求,要求虚拟机在迁移过程中不宕机可持续提供服务或数据库在迁移过程中支持访问且迁移后平滑过渡至新数据库。
为此,急需一种分布式存储卷在线迁移的方法。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种存储卷在线迁移的方法、装置、计算机可读存储介质、处理器和存储卷在线迁移的系统,以解决现有技术中无法实现存储卷在线迁移的问题。
根据本发明实施例的一个方面,提供了一种存储卷在线迁移的方法,包括:接收迁移指令;根据所述迁移指令将源卷的数据迁移至目标卷;在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入所述源卷和所述目标卷中;在所述源卷的所有数据迁移至所述目标卷的情况下,将所述写入业务指令的执行对象由所述源卷转换为所述目标卷,并删除所述源卷。
可选地,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入所述源卷和所述目标卷中,包括:在所述写入业务指令的执行对象为迁移数据块的情况下,将所述写入业务指令进行上锁,所述迁移数据块为所述源卷和所述目标卷中处于迁移状态的数据块;在所述写入业务指令的执行对象不是迁移数据块的情况下,将所述业务数据同步写入所述源卷和所述目标卷中对应的数据块中。
可选地,在接收迁移指令之后,根据所述迁移指令将源卷的数据迁移至目标卷之前,所述方法还包括:检测所有的存储卷是否需要迁移;在所述存储卷需要迁移的情况下,确定所述存储卷为所述源卷。
可选地,在根据所述迁移指令将源卷的数据迁移至目标卷之后,在将所述写入业务指令的执行对象由所述源卷转换为所述目标卷之前,所述方法还包括:在出现异常的情况下,记录所述源卷的迁移状态为迁移失败状态,并删除所述目标卷。
可选地,在根据所述迁移指令将源卷的数据迁移至目标卷之后,在将所述写入业务指令的执行对象由所述源卷转换为所述目标卷之前,所述方法还包括:在接收到读取业务指令的情况下,读取所述源卷的数据。
可选地,在根据所述迁移指令将源卷的数据迁移至目标卷之后,在将所述写入业务指令的执行对象由所述源卷转换为所述目标卷之前,所述方法还包括:查询所述源卷的迁移进度。
根据本发明实施例的另一方面,还提供了一种存储卷在线迁移的装置,包括:接收单元,用于接收迁移指令;第一处理单元,用于根据所述迁移指令将源卷的数据迁移至目标卷;第二处理单元,用于在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入所述源卷和所述目标卷中;第三处理单元,用于在所述源卷的所有数据迁移至所述目标卷的情况下,将所述业务指令的执行对象由所述源卷转换为所述目标卷,并删除所述源卷。
根据本发明实施例的再一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的存储卷在线迁移的方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的存储卷在线迁移的方法。
根据本发明实施例的再一方面,还提供了一种存储卷在线迁移的系统,包括多个存储池和存储卷在线迁移的装置,所述存储池包括至少一个所述存储卷,所述存储卷在线迁移的装置包括用于执行任意一种所述的存储卷在线迁移的方法。
在本发明实施例中,上述存储卷在线迁移的方法中,首先,采接收迁移指令,然后,根据迁移指令将源卷的数据迁移至目标卷,之后,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,最后,在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述方法在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,解决了现有技术中无法实现存储卷在线迁移的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了虚拟机的数据存在共享磁盘的OpenStack平台进行热迁移的示意图;
图2示出了虚拟机的数据存在本地磁盘的OpenStack平台进行热迁移的示意图;
图3示出了根据本申请的一种实施例的存储卷在线迁移的方法的流程图;
图4示出了根据本申请的一种实施例的存储卷在线迁移的方法的应用场景的示意图;以及
图5示出了根据本申请的一种实施例的存储卷在线迁移的装置的示意图。
其中,上述附图包括以下附图标记:
10’、共享磁盘;20’、物理机;30’、虚拟机;40’、内存;50’、虚拟机监视器;60’、本地磁盘;10、虚拟机;20、接口;30、第一存储池;31、源卷;40、第二存储池;41、目标卷。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
XDC:XSKY Data Client,是指给客户端提供数据访问的接口,支持RBD、iSCSI、FC和SCSI等不同类型的访问路径网关;
RBD:Rados Block Device,云计算块存储对外的接口,对QEMU/KVM等虚拟化提供接口;
SNAP:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品;
COW:存储快照的一种技术,数据第一次写入到某个存储位置时,首先将原有的内容读取出来,写到另一位置处,然后再将数据写入到存储设备中;
DBT:Dirty Block Track,一种在线迁移的方法,记录跟踪脏数据的使用情况,对新写入的数据进行脏数据记录,增量迁移只需要对脏数据迁移即可;
Watch-Notify机制:一种消息互通的机制,提供的Watch/Notify机制实现了不同rados client之间的通信,使得不同客户端的数据保持一致;
Cinder:openstack存储服务,通过调用不同存储后端类型的驱动接口来管理相对应的后端存储,为用户提供统一的卷相关操作的存储接口。提供包括卷的创建、删除、快照、克隆、备份等管理服务;
Nova:openstack计算服务,提供包括虚机实例(instances)生命周期的所有活动的管理接口,包括虚机创建、删除、挂载磁盘、迁移等操作;
Glance:openstack镜像管理服务,提供包括镜像上传、下载、创建、删除等接口,后端支持ceph、cinder、s3、sheepdog等系统作为后端存储;
QCOW2:QCOW2镜像格式是Qemu支持的磁盘镜像格式之一,它可以使用一个文件来表示一个固定大小的块设备;
Openstack:云计算领域最活跃的开源项目之一,是一个开源的云计算管理平台项目;
存储集群:将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池。
在线迁移:在线迁移是指在线将卷从同一个存储集群的一个存储池迁移到另一个存储池,在迁移过程中,保证业务IO不中断;迁移完成后,原卷自动删除,应用端无需做任何修改,真正做到应用无感知。
正如背景技术中所说的,现有技术中无法实现存储卷在线迁移,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种存储卷在线迁移的方法、装置、计算机可读存储介质、处理器和存储卷在线迁移的系统。
根据本申请的实施例,提供了一种存储卷在线迁移的方法。
图3是根据本申请实施例的存储卷在线迁移的方法的流程图。如图3所示,该方法包括以下步骤:
步骤S101,接收迁移指令;
步骤S102,根据上述迁移指令将源卷的数据迁移至目标卷;
步骤S103,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入上述源卷和上述目标卷中;
步骤S104,在上述源卷的所有数据迁移至上述目标卷的情况下,将上述写入业务指令的执行对象由上述源卷转换为上述目标卷,并删除上述源卷。
上述存储卷在线迁移的方法中,首先,采接收迁移指令,然后,根据迁移指令将源卷的数据迁移至目标卷,之后,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,最后,在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述方法在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,解决了现有技术中无法实现存储卷在线迁移的问题。
需要说明的是,在迁移过程中,需要修改存储卷的数据来完成业务指令时,该业务指令即为写入业务指令,则将写入业务指令对应的业务数据同步写入源卷和目标卷中,使得迁移过程不中断业务指令的执行,具体地,采用IO mirror双写技术完成业务数据同步写入源卷和目标卷中。
还需要说明的是,上述方法不仅可以避免snap based基于cow快照的迁移和DBTbased基于脏数据的迁移需要一次离线处理的缺点,实现在线迁移,并且将上述方法应用于OpenStack平台,使得OpenStack平台支持QCOW2格式数据和Ceph RBD裸卷格式数据的在线迁移。
还需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入上述源卷和上述目标卷中,包括:在上述写入业务指令的执行对象为迁移数据块的情况下,将上述写入业务指令进行上锁,上述迁移数据块为上述源卷和上述目标卷中处于迁移状态的数据块;在上述写入业务指令的执行对象不是迁移数据块的情况下,将上述业务数据同步写入上述源卷和上述目标卷中对应的数据块中。具体地,上述源卷中的数据以数据块为单位进行数据迁移,处于迁移状态的数据块即为迁移数据块,在上述写入业务指令的执行对象为迁移数据块的情况下,即需要将业务数据写入迁移数据块,如果将业务数据同时写入源卷和目标卷的迁移数据块中,则可能导致目标卷中迁移数据覆盖写入的业务数据,使得目标卷与源卷的数据不一致,此时将写入业务指令进行上锁,等到迁移数据块的数据迁移完毕,即写入业务指令的执行对象不是迁移数据块的情况下,将上述业务数据同步写入上述源卷和上述目标卷中对应的数据块中,从而确保目标卷与源卷的数据保持一致。更为具体地,采用watch-notify机制实现对写入业务指令进行上锁。
本申请的一种实施例中,在接收迁移指令之后,根据上述迁移指令将源卷的数据迁移至目标卷之前,上述方法还包括:检测所有的存储卷是否需要迁移;在上述存储卷需要迁移的情况下,确定上述存储卷为上述源卷。具体地,启动迁移扫描线程检测所有的存储卷是否需要迁移,确定需要迁移的存储卷为源卷,根据资源的多少确定启动数据迁移线程的数量,以对对应的源卷进行数据迁移,一个数据迁移线程对应一个源卷,提高迁移效率。
本申请的一种实施例中,在根据上述迁移指令将源卷的数据迁移至目标卷之后,在将上述写入业务指令的执行对象由上述源卷转换为上述目标卷之前,上述方法还包括:在出现异常的情况下,记录上述源卷的迁移状态为迁移失败状态,并删除上述目标卷。具体地,在出现异常的情况下,数据迁移线程退出,记录上述源卷的迁移状态为迁移失败状态,并删除目标卷,不支持断点续传。
本申请的一种实施例中,在根据上述迁移指令将源卷的数据迁移至目标卷之后,在将上述写入业务指令的执行对象由上述源卷转换为上述目标卷之前,上述方法还包括:在接收到读取业务指令的情况下,读取上述源卷的数据。具体地,业务指令还包括读取业务指令,在存储卷在线迁移的过程中,在接收到读取业务指令的情况下,读取上述源卷的数据,从而进一步保证存储卷迁移不影响业务指令的执行,无感知地完成存储卷在线迁移。
本申请的一种具体的实施例中,如图4所示,虚拟机10通过接口20与分布式存储集群连接,分布式存储集群包括多个存储池,例如,第一存储池30和第二存储池40,在线迁移将第一存储池30的数据迁移至第二存储池40,则第一存储池30的存储卷即为源卷,第二存储池40的存储卷即为目标卷41,迁移过程中,虚拟机执行读取业务指令时,即执行读操作,通过接口20读取源卷31的数据,虚拟机执行写入业务指令时,即执行写操作,通过接口20将业务数据同步写入源卷31和目标卷41。更为具体地,上述虚拟机10可以在openstack、zstack、easystack和vmware上创建,上述接口20可以为XDC接口,当然,上述虚拟机和接口也不限于此,本领域技术人员可以根据实际情况选择合适的软件创建虚拟机和选择合适的接口。
本申请的一种实施例中,在根据上述迁移指令将源卷的数据迁移至目标卷之后,在将上述写入业务指令的执行对象由上述源卷转换为上述目标卷之前,上述方法还包括:查询上述源卷的迁移进度。具体地,查询源卷的迁移进度,在迁移进度为100%的情况下,即可确定源卷的所有数据迁移至目标卷,从而将业务指令的执行对象由源卷转换为目标卷,并删除源卷,确保迁移完成后业务指令正常执行。
本申请实施例还提供了一种存储卷在线迁移的装置,需要说明的是,本申请实施例的存储卷在线迁移的装置可以用于执行本申请实施例所提供的用于存储卷在线迁移的方法。以下对本申请实施例提供的存储卷在线迁移的装置进行介绍。
图5是根据本申请实施例的存储卷在线迁移的装置的示意图。如图5所示,该装置包括:
接收单元100,用于接收迁移指令;
第一处理单元200,用于根据上述迁移指令将源卷的数据迁移至目标卷;
第二处理单元300,用于在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入上述源卷和上述目标卷中;
第三处理单元400,用于在上述源卷的所有数据迁移至上述目标卷的情况下,将上述业务指令的执行对象由上述源卷转换为上述目标卷,并删除上述源卷。
上述存储卷在线迁移的装置中,接收单元接收迁移指令,第一处理单元根据迁移指令将源卷的数据迁移至目标卷,第二处理单元在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,第三处理单元在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述装置在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,解决了现有技术中无法实现存储卷在线迁移的问题。
需要说明的是,在迁移过程中,需要修改存储卷的数据来完成业务指令时,该业务指令即为写入业务指令,则将写入业务指令对应的业务数据同步写入源卷和目标卷中,使得迁移过程不中断业务指令的执行,具体地,采用IO mirror双写技术完成业务数据同步写入源卷和目标卷中。
还需要说明的是,上述方法不仅可以避免snap based基于cow快照的迁移和DBTbased基于脏数据的迁移需要一次离线处理的缺点,实现在线迁移,并且将上述方法应用于OpenStack平台,使得OpenStack平台支持QCOW2格式数据和Ceph RBD裸卷格式数据的在线迁移。
本申请的一种实施例中,上述第二处理单元包括第一处理模块和第二处理模块,其中,上述第一处理模块用于在上述写入业务指令的执行对象为迁移数据块的情况下,将上述写入业务指令进行上锁,上述迁移数据块为上述源卷和上述目标卷中处于迁移状态的数据块;上述第二处理模块用于在上述写入业务指令的执行对象不是迁移数据块的情况下,将上述业务数据同步写入上述源卷和上述目标卷中对应的数据块中。具体地,上述源卷中的数据以数据块为单位进行数据迁移,处于迁移状态的数据块即为迁移数据块,在上述写入业务指令的执行对象为迁移数据块的情况下,即需要将业务数据写入迁移数据块,如果将业务数据同时写入源卷和目标卷的迁移数据块中,则可能导致目标卷中迁移数据覆盖写入的业务数据,使得目标卷与源卷的数据不一致,此时将写入业务指令进行上锁,等到迁移数据块的数据迁移完毕,即写入业务指令的执行对象不是迁移数据块的情况下,将上述业务数据同步写入上述源卷和上述目标卷中对应的数据块中,从而确保目标卷与源卷的数据保持一致。更为具体地,采用watch-notify机制实现对写入业务指令进行上锁。
本申请的一种实施例中,上述装置还包括检测单元,上述检测单元包括检测模块和确定模块,其中,上述检测模块用于在接收迁移指令之后,根据上述迁移指令将源卷的数据迁移至目标卷之前,检测所有的存储卷是否需要迁移;上述确定模块用于在上述存储卷需要迁移的情况下,确定上述存储卷为上述源卷。具体地,启动迁移扫描线程检测所有的存储卷是否需要迁移,确定需要迁移的存储卷为源卷,根据资源的多少确定启动数据迁移线程的数量,以对对应的源卷进行数据迁移,一个数据迁移线程对应一个源卷,提高迁移效率。
本申请的一种实施例中,上述装置还包括第四处理单元,上述第四处理单元用于在根据上述迁移指令将源卷的数据迁移至目标卷之后,在将上述写入业务指令的执行对象由上述源卷转换为上述目标卷之前,在出现异常的情况下,记录上述源卷的迁移状态为迁移失败状态,并删除上述目标卷。具体地,在出现异常的情况下,数据迁移线程退出,记录上述源卷的迁移状态为迁移失败状态,并删除目标卷,不支持断点续传。
本申请的一种实施例中,上述装置还包括第五处理单元,上述第五处理单元用于在根据上述迁移指令将源卷的数据迁移至目标卷之后,在将上述写入业务指令的执行对象由上述源卷转换为上述目标卷之前,在接收到读取业务指令的情况下,读取上述源卷的数据。具体地,业务指令还包括读取业务指令,在存储卷在线迁移的过程中,在接收到读取业务指令的情况下,读取上述源卷的数据,从而进一步保证存储卷迁移不影响业务指令的执行,无感知地完成存储卷在线迁移。
本申请的一种具体的实施例中,如图4所示,虚拟机10通过接口20与分布式存储集群连接,分布式存储集群包括多个存储池,例如,第一存储池30和第二存储池40,在线迁移将第一存储池30的数据迁移至第二存储池40,则第一存储池30的存储卷即为源卷,第二存储池40的存储卷即为目标卷41,迁移过程中,虚拟机执行读取业务指令时,即执行读操作,通过接口20读取源卷31的数据,虚拟机执行写入业务指令时,即执行写操作,通过接口20将业务数据同步写入源卷31和目标卷41。更为具体地,上述虚拟机10可以在openstack、zstack、easystack和vmware上创建,上述接口20可以为XDC接口,当然,上述虚拟机和接口也不限于此,本领域技术人员可以根据实际情况选择合适的软件创建虚拟机和选择合适的接口。
本申请的一种实施例中,上述装置还包括查询单元,上述查询单元用于在根据上述迁移指令将源卷的数据迁移至目标卷之后,在将上述写入业务指令的执行对象由上述源卷转换为上述目标卷之前,查询上述源卷的迁移进度。具体地,查询源卷的迁移进度,在迁移进度为100%的情况下,即可确定源卷的所有数据迁移至目标卷,从而将业务指令的执行对象由源卷转换为目标卷,并删除源卷,确保迁移完成后业务指令正常执行。
本申请实施例还提供了一种存储卷在线迁移的系统,包括多个存储池和存储卷在线迁移的装置,上述存储池包括至少一个上述存储卷,上述存储卷在线迁移的装置包括用于执行任意一种上述的存储卷在线迁移的方法。
上述存储卷在线迁移的系统中,包括多个存储池和存储卷在线迁移的装置,接收单元采接收迁移指令,第一处理单元根据迁移指令将源卷的数据迁移至目标卷,第二处理单元在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,第三处理单元在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述装置在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,即可将一个存储池的存储卷通过在线迁移至另一个存储池,解决了现有技术中无法实现存储卷在线迁移的问题。
存储卷在线迁移的装置包括处理器和存储器,上述接收单元、第一处理单元、第二处理单元和第三处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中无法实现存储卷在线迁移的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现存储卷在线迁移的方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行存储卷在线迁移的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,接收迁移指令;
步骤S102,根据上述迁移指令将源卷的数据迁移至目标卷;
步骤S103,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入上述源卷和上述目标卷中;
步骤S104,在上述源卷的所有数据迁移至上述目标卷的情况下,将上述写入业务指令的执行对象由上述源卷转换为上述目标卷,并删除上述源卷。
本文中的设备可以是服务器。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,接收迁移指令;
步骤S102,根据上述迁移指令将源卷的数据迁移至目标卷;
步骤S103,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入上述源卷和上述目标卷中;
步骤S104,在上述源卷的所有数据迁移至上述目标卷的情况下,将上述写入业务指令的执行对象由上述源卷转换为上述目标卷,并删除上述源卷。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的存储卷在线迁移的方法中,首先,采接收迁移指令,然后,根据迁移指令将源卷的数据迁移至目标卷,之后,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,最后,在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述方法在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,解决了现有技术中无法实现存储卷在线迁移的问题。
2)、本申请的存储卷在线迁移的装置中,接收单元采接收迁移指令,第一处理单元根据迁移指令将源卷的数据迁移至目标卷,第二处理单元在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,第三处理单元在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述装置在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,解决了现有技术中无法实现存储卷在线迁移的问题。
3)、本申请的存储卷在线迁移的系统中,包括多个存储池和存储卷在线迁移的装置,接收单元采接收迁移指令,第一处理单元根据迁移指令将源卷的数据迁移至目标卷,第二处理单元在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入源卷和目标卷中,第三处理单元在源卷的所有数据迁移至目标卷的情况下,将写入业务指令的执行对象由源卷转换为目标卷,并删除源卷。上述装置在进行数据迁移的过程中,通过将业务数据同步写入源卷和目标卷中,从而不中断业务指令的执行,实现了存储卷的在线迁移,即可将一个存储池的存储卷通过在线迁移迁移至另一个存储池,解决了现有技术中无法实现存储卷在线迁移的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种存储卷在线迁移的方法,其特征在于,包括:
接收迁移指令;
根据所述迁移指令将源卷的数据迁移至目标卷;
在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入所述源卷和所述目标卷中;
在所述源卷的所有数据迁移至所述目标卷的情况下,将所述写入业务指令的执行对象由所述源卷转换为所述目标卷,并删除所述源卷。
2.根据权利要求1所述的方法,其特征在于,在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入所述源卷和所述目标卷中,包括:
在所述写入业务指令的执行对象为迁移数据块的情况下,将所述写入业务指令进行上锁,所述迁移数据块为所述源卷和所述目标卷中处于迁移状态的数据块;
在所述写入业务指令的执行对象不是迁移数据块的情况下,将所述业务数据同步写入所述源卷和所述目标卷中对应的数据块中。
3.根据权利要求1所述的方法,其特征在于,在接收迁移指令之后,根据所述迁移指令将源卷的数据迁移至目标卷之前,所述方法还包括:
检测所有的存储卷是否需要迁移;
在所述存储卷需要迁移的情况下,确定所述存储卷为所述源卷。
4.根据权利要求1所述的方法,其特征在于,在根据所述迁移指令将源卷的数据迁移至目标卷之后,在将所述写入业务指令的执行对象由所述源卷转换为所述目标卷之前,所述方法还包括:
在出现异常的情况下,记录所述源卷的迁移状态为迁移失败状态,并删除所述目标卷。
5.根据权利要求1所述的方法,其特征在于,在根据所述迁移指令将源卷的数据迁移至目标卷之后,在将所述写入业务指令的执行对象由所述源卷转换为所述目标卷之前,所述方法还包括:
在接收到读取业务指令的情况下,读取所述源卷的数据。
6.根据权利要求1所述的方法,其特征在于,在根据所述迁移指令将源卷的数据迁移至目标卷之后,在将所述写入业务指令的执行对象由所述源卷转换为所述目标卷之前,所述方法还包括:
查询所述源卷的迁移进度。
7.一种存储卷在线迁移的装置,其特征在于,包括:
接收单元,用于接收迁移指令;
第一处理单元,用于根据所述迁移指令将源卷的数据迁移至目标卷;
第二处理单元,用于在迁移过程中接收到写入业务指令的情况下,将业务数据同步写入所述源卷和所述目标卷中;
第三处理单元,用于在所述源卷的所有数据迁移至所述目标卷的情况下,将所述业务指令的执行对象由所述源卷转换为所述目标卷,并删除所述源卷。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至6中任意一项所述的存储卷在线迁移的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的存储卷在线迁移的方法。
10.一种存储卷在线迁移的系统,包括多个存储池和存储卷在线迁移的装置,其特征在于,所述存储池包括至少一个所述存储卷,所述存储卷在线迁移的装置包括用于执行权利要求1至6中任意一项所述的存储卷在线迁移的方法。
CN202010745909.5A 2020-07-29 2020-07-29 存储卷在线迁移的方法、装置和存储卷在线迁移的系统 Pending CN111913663A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010745909.5A CN111913663A (zh) 2020-07-29 2020-07-29 存储卷在线迁移的方法、装置和存储卷在线迁移的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010745909.5A CN111913663A (zh) 2020-07-29 2020-07-29 存储卷在线迁移的方法、装置和存储卷在线迁移的系统

Publications (1)

Publication Number Publication Date
CN111913663A true CN111913663A (zh) 2020-11-10

Family

ID=73288156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010745909.5A Pending CN111913663A (zh) 2020-07-29 2020-07-29 存储卷在线迁移的方法、装置和存储卷在线迁移的系统

Country Status (1)

Country Link
CN (1) CN111913663A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527193A (zh) * 2020-12-04 2021-03-19 北京浪潮数据技术有限公司 一种云硬盘数据迁移方法、装置、设备及存储介质
CN112667148A (zh) * 2020-11-30 2021-04-16 上海七牛信息技术有限公司 一种集群存储数据在线迁移的方法及系统
CN112698794A (zh) * 2021-02-02 2021-04-23 南京群顶科技有限公司 一种实现分布式存储卷在线迁移的方法及装置
CN112732679A (zh) * 2021-01-20 2021-04-30 维沃移动通信有限公司 数据迁移方法、装置、电子设备及可读存储介质
CN113126924A (zh) * 2021-04-21 2021-07-16 山东英信计算机技术有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN113805804A (zh) * 2021-08-27 2021-12-17 济南浪潮数据技术有限公司 一种数据离线迁移的方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945131A (zh) * 2010-09-16 2011-01-12 华中科技大学 一种基于存储虚拟化的数据迁移方法
US20160164722A1 (en) * 2014-12-04 2016-06-09 Microsoft Technology Licensing, Llc Zero-downtime, reversible, client-driven service migration
CN111078121A (zh) * 2018-10-18 2020-04-28 深信服科技股份有限公司 一种分布式存储系统数据迁移方法、系统、及相关组件
CN111367470A (zh) * 2020-02-21 2020-07-03 苏州浪潮智能科技有限公司 分布式存储卷在线迁移方法、系统、装置及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945131A (zh) * 2010-09-16 2011-01-12 华中科技大学 一种基于存储虚拟化的数据迁移方法
US20160164722A1 (en) * 2014-12-04 2016-06-09 Microsoft Technology Licensing, Llc Zero-downtime, reversible, client-driven service migration
CN111078121A (zh) * 2018-10-18 2020-04-28 深信服科技股份有限公司 一种分布式存储系统数据迁移方法、系统、及相关组件
CN111367470A (zh) * 2020-02-21 2020-07-03 苏州浪潮智能科技有限公司 分布式存储卷在线迁移方法、系统、装置及可读存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667148A (zh) * 2020-11-30 2021-04-16 上海七牛信息技术有限公司 一种集群存储数据在线迁移的方法及系统
CN112527193A (zh) * 2020-12-04 2021-03-19 北京浪潮数据技术有限公司 一种云硬盘数据迁移方法、装置、设备及存储介质
CN112527193B (zh) * 2020-12-04 2023-12-22 北京浪潮数据技术有限公司 一种云硬盘数据迁移方法、装置、设备及存储介质
CN112732679A (zh) * 2021-01-20 2021-04-30 维沃移动通信有限公司 数据迁移方法、装置、电子设备及可读存储介质
CN112698794A (zh) * 2021-02-02 2021-04-23 南京群顶科技有限公司 一种实现分布式存储卷在线迁移的方法及装置
CN113126924A (zh) * 2021-04-21 2021-07-16 山东英信计算机技术有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN113126924B (zh) * 2021-04-21 2023-02-28 山东英信计算机技术有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN113805804A (zh) * 2021-08-27 2021-12-17 济南浪潮数据技术有限公司 一种数据离线迁移的方法、装置、设备和介质
CN113805804B (zh) * 2021-08-27 2024-02-13 济南浪潮数据技术有限公司 一种数据离线迁移的方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN111913663A (zh) 存储卷在线迁移的方法、装置和存储卷在线迁移的系统
US8473462B1 (en) Change tracking for shared disks
US10126946B1 (en) Data protection object store
US10296423B2 (en) System and method for live virtual incremental restoring of data from cloud storage
US8117168B1 (en) Methods and systems for creating and managing backups using virtual disks
US9697093B2 (en) Techniques for recovering a virtual machine
US8510271B1 (en) Application and file system data virtualization from image backup
US9377964B2 (en) Systems and methods for improving snapshot performance
US10169165B2 (en) Restoring data
US8990164B1 (en) Systems and methods for performing incremental backups
US7523277B1 (en) Transient point-in-time images for continuous data protection
CN109582443A (zh) 基于分布式存储技术的虚拟机备份系统
US9176853B2 (en) Managing copy-on-writes to snapshots
US9047108B1 (en) Systems and methods for migrating replicated virtual machine disks
CA2613419A1 (en) System and method for virtualizing backup images
US11630741B2 (en) System and method for backing up data in a load-balanced clustered environment
CN104216801A (zh) 一种面向虚拟化环境的数据复制方法及系统
US10114703B2 (en) Flash copy for disaster recovery (DR) testing
US9251020B1 (en) Systems and methods for file-level replication
US11281543B2 (en) Application-level recovery from an enterprise-level image copy
CN111367856A (zh) 数据复制方法、装置、电子设备及机器可读存储介质
TW201516655A (zh) 基於分散式文檔系統的資料備份還原系統及方法
CN109376036A (zh) 一种用于备份虚拟机的方法和装置
US11500741B2 (en) Data write method and storage system
US11495262B1 (en) Duplexing data from multiple file systems onto a shared tape

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
CB02 Change of applicant information

Address after: 100094 101, floors 1-5, building 7, courtyard 3, fengxiu Middle Road, Haidian District, Beijing

Applicant after: Beijing Xingchen Tianhe Technology Co.,Ltd.

Address before: 100097 room 806-1, block B, zone 2, Jinyuan times shopping center, indigo factory, Haidian District, Beijing

Applicant before: XSKY BEIJING DATA TECHNOLOGY Corp.,Ltd.

CB02 Change of applicant information