CN110334079B - 一种数据迁移方法及装置 - Google Patents

一种数据迁移方法及装置 Download PDF

Info

Publication number
CN110334079B
CN110334079B CN201910542899.2A CN201910542899A CN110334079B CN 110334079 B CN110334079 B CN 110334079B CN 201910542899 A CN201910542899 A CN 201910542899A CN 110334079 B CN110334079 B CN 110334079B
Authority
CN
China
Prior art keywords
cloud disk
cloud
data
storage cluster
cluster
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.)
Active
Application number
CN201910542899.2A
Other languages
English (en)
Other versions
CN110334079A (zh
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.)
Beijing Haiyunjiexun Technology Co ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910542899.2A priority Critical patent/CN110334079B/zh
Publication of CN110334079A publication Critical patent/CN110334079A/zh
Application granted granted Critical
Publication of CN110334079B publication Critical patent/CN110334079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据迁移方法及装置,所述方法包括:预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应;响应于云盘挂载请求,挂载第二云盘;其中,所述第二云盘与第二存储集群相对应,第一存储集群和第二存储集群处于不同的局域网中;对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中;响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中。本申请能够将不同存储集群的云盘分别挂载给同一云主机,通过数据在云盘之间的迁移,实现数据的在线异地存储迁移。

Description

一种数据迁移方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据迁移方法及装置。
背景技术
Ceph是一种性能优良、具有高可靠性和可扩展性的开源分布式文件系统。基于Ceph的分布式云存储集群Server SAN(Storage Area Network,存储区域网络),由多台部署Ceph软件的x86服务器组成存储资源池,通过以太网络向计算节点x86服务器(Ceph客户端)挂载云盘,目前支持块、对象、文件三种存储方式。随着云计算相关软硬件技术的迅速发展,基于Ceph的Server SAN,在某些场景下已经可以取代传统光纤网络+磁盘阵列的FC-SAN,部署和运行相关数据库,使数据库获得云存储的软件定义扩展、低成本、运维灵活等优势。
现有的技术方案在对数据进行迁移时,存在以下问题:由于数据库一般部署在传统的集中式存储设备中,无法进行异地迁移存储;在使用镜像拷贝迁移存储时,数据库需要停机。
发明内容
本申请所要解决的技术问题在于,提供一种数据迁移方法及装置,能够将不同存储集群的云盘分别挂载给同一云主机,通过数据在云盘之间的迁移,实现数据的在线异地存储迁移。
为了解决上述技术问题,本申请实施例提供了一种数据迁移方法,可应用于云主机侧,所述方法包括:
预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应;
响应于云盘挂载请求,挂载第二云盘;其中,所述第二云盘与第二存储集群相对应,所述第一存储集群和所述第二存储集群处于不同的局域网中;
对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中;
响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中。
本申请实施例还提供了另一种数据迁移方法,可应用于存储集群管理侧,所述方法包括:
根据预设集群框架,创建第二存储集群,所述第二存储集群与预设的第一存储集群处于不同的局域网中;其中,所述第一存储集群对应第一云盘;
创建与所述第二存储集群相对应的第二云盘;
将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘;
当检测到所述第一云盘中的数据迁移到所述第二云盘时,将所述第一存储集群的相应数据迁移到所述第二存储集群中。
本申请实施例还提供了一种数据迁移装置,所述装置包括:
预处理模块,用于预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应;
挂载请求响应模块,用于响应于云盘挂载请求,挂载第二云盘;其中,所述第二云盘与第二存储集群相对应,所述第一存储集群和所述第二存储集群处于不同的局域网中;
第一重平衡模块,用于对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中;
第二重平衡模块,用于响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中。
本申请实施例还提供了另外一种数据迁移装置,所述装置包括:
第二集群创建模块,用于根据预设集群框架,创建第二存储集群,所述第二存储集群与预设的第一存储集群处于不同的局域网中;其中,所述第一存储集群对应第一云盘;
第二云盘创建模块,用于创建与所述第二存储集群相对应的第二云盘;
文件发送模块,用于将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘;
数据迁移模块,用于当检测到所述第一云盘中的数据迁移到所述第二云盘时,将所述第一存储集群的相应数据迁移到所述第二存储集群中。
本申请实施例还提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的数据迁移方法。
本申请实施例还提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述的数据迁移方法。
本申请实施例通过预先挂载第一云盘,并将数据存储在第一云盘上,其中第一云盘与第一存储集群相对应;在接收到云盘挂载请求时,挂载第二云盘,其中第二云盘与第二存储集群相对应,第一存储集群和第二存储集群处于不同的局域网中;进行第一次数据重平衡,将第一云盘中的数据均匀存储在第一云盘和第二云盘中;在接收到第一云盘删除请求后,进行第二次数据重平衡,将第一云盘中的数据全部迁移到第二云盘中。由于不同的云盘可通过网络挂载给同一云主机,与地理位置无关,可实现跨机房、跨城市的异地存储迁移;可以在数据库不停机、应用正常访问的情况下,完成存储的异地迁移。
附图说明
图1是本申请实施例提供的应用场景示意图;
图2是本申请实施例提供的一种数据迁移方法流程图;
图3是本申请实施例提供的一种云盘挂载方法流程图;
图4是本申请实施例提供的一种数据重平衡方法流程图;
图5是本申请实施例提供的一种云盘处理方法流程图;
图6是本申请实施例提供的一种云盘删除方法流程图;
图7是本申请实施例提供的另一种数据迁移方法流程图;
图8是本申请实施例提供的另一种云盘挂载方法流程图;
图9是本申请实施例提供的一种云存储异地迁移部署结构示意图;
图10是本申请实施例提供的云存储异地迁移过程中存储集群加入过程示意图;
图11是本申请实施例提供的云存储异地迁移过程中存储集群裁撤过程示意图;
图12是本申请实施例提供的一种数据迁移装置示意图;
图13是本申请实施例提供的挂载请求响应模块示意图;
图14是本申请实施例提供的第一重平衡模块示意图;
图15是本申请实施例提供的云盘加入模块示意图;
图16是本申请实施例提供的云盘删除模块示意图;
图17是本申请实施例提供的另一种数据迁移装置示意图;
图18是本申请实施例提供的文件发送模块示意图;
图19是本申请实施例提供的一种设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
请参见图1,其示出了本申请的应用场景示意图,该场景中包括云主机110和至少两个存储集群:第一存储集群120和第二存储集群130,其中,第一存储集群120和第二存储集群130可分别通过网络与云主机110进行通信,第一存储集群120和第二存储集群130之间也可通过网络进行通信。
其中,所述云主机110可以为计算节点、物理机或者虚拟机等,所述云主机110中安装有与存储集群相关的客户端,以便于通过客户端对后端的存储集群进行相关操作。所述云主机110上运行的操作系统可以包括但不限于linux、windows等。所述云主机110中的数据可存储在存储集群中。
所述第一存储集群120和所述第二存储集群130可分别由服务器组成,这里的服务器可以是一个独立运行的服务器,也可以是由多个服务器组成的服务器集群,其中服务器可以是云端服务器。
在图1所示的应用场景中,当需要对存储在存储集群中的数据进行数据迁移时,可通过云主机110中安装的相关客户端进行数据迁移操作,从而实现数据在存储集群之间进行迁移。
对于数据存储迁移问题,现有的技术方案中一般将数据库部署在传统的集中式存储上,无法实现数据的异地迁移;另外相关数据库在使用镜像拷贝迁移存储时,数据库需要停机,会影响业务的正常运行。
为此,本申请实施例提供了一种数据迁移方法,请参见图2,该方法可应用于云主机侧,本实施例中的云主机是通过计算资源池创建的,创建好的云主机上会安装相关的管理客户端。具体地,所述数据迁移方法包括:
S210.预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应。
对于在云主机上处理生成的相关数据需要进行存储,此时云主机可通过挂载云盘的方式,将数据存储到后端的存储集群中。需要说明的是,这里实际存储数据的存储集群并不是直接的与云主机相连,而是通过存储集群创建的云盘挂载给云主机,云主机通过管理客户端可实现将数据存储到云盘的操作,从而对应到后端是将数据存储在存储集群中;即可以理解为对于云主机来说,通过操作管理客户端,云盘是可见的并且可操作的,而真正存储数据的存储集群是不可见的。
本实施例中,云主机通过挂载第一云盘,第一云盘是根据第一存储集群创建的,从而实现了数据在第一存储集群中的存储。
S220.响应于云盘挂载请求,挂载第二云盘;其中,所述第二云盘与第二存储集群相对应,所述第一存储集群和所述第二存储集群处于不同的局域网中。
对于云主机来说,在只挂载第一云盘的情况下,其数据只能存储在第一云盘中,即对应存储在第一存储集群中,当出现第一存储集群出现故障需要维修,或者第一存储集群容量不够,或者需要进行数据的异地迁移等情况时,需要对已存储在第一存储集群中的数据进行迁移。此时云主机需要挂载新的云盘,以便于数据从旧云盘迁移到新云盘。
在默认方式下,云主机只能挂载来自同一个存储集群的云盘,但是通过将其他集群的配置文件和密钥文件重命名后,并使用新的配置和密钥文件挂载云盘,可以使云主机挂载来自多个不同集群的云盘,支持多个后端集群。
本实施例中,第一存储集群和第二存储集群分别处于异地的不同局域网中。
具体地,请参见图3,其示出了一种云盘挂载方法,包括:
S310.接收所述第二存储集群发送的集群配置文件和密钥文件,对所述集群配置文件和所述密钥文件进行重命名。
为了避免与已有的第一存储集群的配置文件以及密钥文件冲突,这里云主机可以通过对第二存储集群发送的集群配置文件和密钥文件进行重命名,例如命名前的集群配置文件名称和密钥文件名称分别为:ceph.conf和keyring,则可以将其重命名为:ceph.conf.B和keyring.B。
S320.根据重命名的集群配置文件和重命名的密钥文件,挂载所述第二云盘。
云主机读取到与第二存储集群对应的重命名后的配置文件和重命名后的密钥文件后,挂载第二云盘。
本实施例中,在需要挂载新云盘时,云主机会收到云盘挂载请求,云盘挂载请求中可以包括云盘标识以及相关的文件,从而云主机可以根据云盘标识以及相关文件,挂载当前的云盘。
S230.对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中。
请参见图4,其示出了一种数据重平衡方法,所述方法包括:
S410.设置数据重平衡的速度参数。
本实施例中的数据重平衡可以看成是一种数据迁移方法,涉及到数据的迁移,就会关系到当前正在运行的业务,因为数据的迁移可能会影响到当前业务的正常运行,此时云主机可设置数据重平衡的参数,以实现数据的平稳迁移且不影响正常业务的运行。
S420.根据所述速度参数,在所述第一云盘和所述第二云盘之间进行数据迁移,其中,所述数据迁移的方向为从所述第一云盘到所述第二云盘。
根据所述速度参数,云主机会在第一云盘和第二云盘之间进行数据的重平衡,在本实施例中,由于原来的数据是存储在第一云盘上的,而第二云盘是新挂载的空云盘,所以第一次数据重平衡的数据迁移方向为从第一云盘到第二云盘。
S430.当所述第一云盘中的数据和所述第二云盘中的数据均匀分布时,停止数据重平衡。
第一次数据重平衡的目的就是为了实现数据在第一云盘和第二云盘之间均匀分布,当云主机检测到数据在两个云盘上均匀分布时,就会停止数据重平衡。
需要说明的是,这里的数据均匀分布并不是关于数据量的绝对均匀分布,只是一个概念性的描述。
S240.响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中。
本实施例中,由于最终目的是实现将第一云盘中的数据全部迁移到第二云盘中,并将第一云盘从云主机中去除,所以在经过第一次数据重平衡之后,云主机在接收到第一云盘删除请求时,会触发第二次数据重平衡,经过第二次数据重平衡之后,第一云盘中的数据被全部迁移到第二云盘中。
需要说明的是,在云主机接收到第一云盘删除请求时,此时并没有真正执行第一云盘的相关删除操作,只是响应了第一云盘删除请求,提前将第一云盘上的数据迁移掉,以便于后续第一云盘的删除,从而避免了数据的丢失。
本实施例中在进行数据迁移时,通过云主机作为中间转接节点,具体地,当需要将第一存储集群中的数据迁移到第二存储集群中时,云主机可通过操作将数据从第一存储集群对应的第一云盘迁移到第二存储集群对应的第二云盘,从而实现了数据从第一存储集群到第二存储集群的迁移。
上述方法中,云主机挂载第二云盘之后,还需要对新挂载的第二云盘进行处理,具体可参见图5,所述处理方法可以包括:
S510.将挂载的所述第二云盘处理为裸设备,并修改所述裸设备的权限。
S520.将所述裸设备加入到磁盘组中。
云主机挂载第二云盘之后,只是形式上的挂载,要使第二云盘能够被云主机中的操作系统以及存储系统操作调用,需要对其进行进一步处理,将其注册配置到系统中。
图5所示的云盘处理方法是在云盘被挂载给云主机之后,需要对其进行配置添加到系统的过程;相应地,在云盘需要被删除时,其删除过程应该与图5相反,具体地,可参见图6,其示出了一种云盘删除方法,包括:
S610.删除与所述第一云盘对应的裸设备。
S620.卸载所述第一云盘。
通过图6所示的方法删除了云盘,也从云主机系统中彻底删除了第一云盘的相关配置文件。
请参见图7,其示出了本申请实施例提供的另一种数据迁移方法,可应用于存储集群管理侧,所述方法包括:
S710.根据预设集群框架,创建第二存储集群,所述第二存储集群与预设的第一存储集群处于不同的局域网中;其中,所述第一存储集群对应第一云盘。
S720.创建与所述第二存储集群相对应的第二云盘。
存储集群管理端可以根据现有的云主机需要存储的数据量大小来创建与第二存储集群对应的第二云盘。
S730.将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘。
所述云主机中安装有与所述第二存储集群相应的客户端,云主机通过该客户端可以实现对第二存储集群对应的第二云盘进行操作,具体地,请参见图8,其示出了另一种云盘挂载方法,包括:
S810.对所述第二存储集群的所述集群配置文件和所述密钥文件进行拷贝。
存储集群管理端找到与第二存储集群对应的集群配置文件和配置文件,并对其进行复制。
S820.将拷贝的集群配置文件和拷贝的密钥文件发送至所述云主机,以使得所述云主机根据拷贝的集群配置文件和拷贝的密钥文件将所述第二云盘挂载给所述客户端。
根据拷贝的集群配置文件和拷贝文件,最终是将第二云盘挂载给云主机的客户端,以使得通过该客户端可以实现对云盘的直接操作,比如云盘数据迁移操作、云盘删除操作等。
S740.当检测到所述第一云盘中的数据迁移到所述第二云盘时,将所述第一存储集群的相应数据迁移到所述第二存储集群中。
数据从第一云盘向第二云盘迁移,对应到后端集群就是存储集群管理端将数据从第一存储集群向第二存储集群迁移。
具体地,为了清楚地说明本申请的具体实施过程,以下将以一具体示例来进行说明。
请参见图9,其示出了本申请实施例提供的一种部署结构示意图,具体是基于Ceph的Oracle云存储异地迁移部署结构示意图,从图9中可以看出:
1.A城市和B城市两地的机房,均由多台x86服务器部署相同版本的Ceph软件,通过以太网组成两个分布式存储集群。
2.通过计算资源池创建Oracle云主机(计算节点,物理或虚拟机),Oracle云主机上安装有Ceph客户端和Oracle数据库软件;其中,通过Ceph客户端可以使得挂载的Ceph可作为文件系统来使用。
3.A城市云存储集群为Oracle云主机创建块存储设备(Pool A/ImageA),通过IP网络挂载给云主机中的Ceph客户端,作为云主机的云盘;并将A城市云存储集群对应的云盘处理为云盘裸设备,并将云盘裸设备加入到数据库的磁盘组中。
4.云主机使用Oracle ASM(Automatic Storage Management,自动存储管理)将云盘块设备组成Oracle文件系统,创建并运行Oracle数据库。
5.B城市机房的云存储集群作为待迁移的目的存储集群。
结合图9所示的部署结构图,具体来说明一下本申请的具体实施过程。请参见图10和图11,其分别示出了Oracle云存储异地迁移过程中存储集群的加入方法,以及Oracle云存储异地迁移过程中存储集群的裁撤方法,现结合图10和图11中的步骤标号来进行说明。
从图10中可以看出:
1.存储集群管理端将B城市Ceph集群monitor节点的集群配置文件(ceph.conf)和密钥文件(keyring)拷贝并发送至云主机(Ceph客户端),为了避免与已有的A集群配置文件冲突,云主机将其重命名为ceph.conf.B和keyring.B;
2.在B城市Ceph集群,存储集群管理端根据现有Oracle数据库大小,创建对应大小、副本数的Ceph块存储云盘(Pool B/Image B);
3.Oracle云主机(计算节点)上,使用从B集群拷贝来的配置和密钥文件(ceph.conf.B,keyring.B),挂载B城市集群的云盘块设备;
4.Oracle云主机通过raw命令处理新挂载的OS块设备为裸设备(rawdevices),并修改裸设备权限;
5.Oracle云主机将B城市集群的云盘裸设备加入数据库ASM磁盘组,根据业务繁忙程度,设置数据重平衡速度参数rebalance power;这里的数据重平衡参数的一般取值范围为1~11,可根据具体情况进行设定;
6.Oracle云主机中的ASM根据数据重平衡参数开始第一次数据重平衡,将Oracle数据均匀分布在新、老两个云盘块设备中(其后端对应A、B两地的Ceph存储集群)。
从图11中可以看出:
7.可通过观察云主机中的Oracle自带的v$asm_operation视图,来查看数据重平衡的过程,待重平衡完成后,从ASM磁盘组中删除A城市Ceph存储集群对应的云盘(DATA_0000);
8.ASM再次进行数据重平衡,通过IP网络,Oracle云主机将数据全部移至B城市Ceph存储集群对应的云盘(/dev/raw/raw2);
9.观察v$asm_operation视图,待第二次数据重平衡完成后,使用raw命令删除Oracle云主机上的旧云盘裸设备(/dev/raw/raw1),并相应修改udev配置文件;
10.在Oracle云主机上使用ceph rbd命令卸载A城市集群的云盘块设备;
11.对迁移之后B城市存储集群中的数据进行验证,验证无问题后,删除A城市Ceph集群的块存储云盘(Pool A/Image A)。
在本申请中,通过配置云主机的多后端存储集群,将多套异地存储集群的云盘块设备挂载给云主机,加入已有Oracle数据库的ASM磁盘组,利用Oracle ASM(AutomaticStorage Management)数据重平衡的机制,将Oracle数据均匀分布在新老云盘块设备上(对应后端A,B两地的Ceph集群),再从ASM磁盘组中删除旧存储集群的云盘块设备,ASM数据再次重平衡后,达到将Oracle数据迁移到异地存储集群的目的。
在基于SAN(存储区域网络)的Oracle环境中,由于计算与存储的分离,经常有计算节点不变,将数据迁移到其他存储的需求。在传统的FC-SAN中,由于光纤交换网络的覆盖距离限制,无法实现跨机房/城市的存储迁移。而在本申请中,由于Ceph的软件定义存储、通过IP网络挂载云盘等特性,Ceph存储集群云盘可通过IP网络挂载给同一计算节点,使得计算节点与存储集群的地理位置无关,并支持计算节点和云盘的多对多映射(一块云盘可以挂载给多个计算节点,一个计算节点可以挂载多块云盘),可实现跨机房/城市的异地Oracle存储迁移;利用Oracle ASM的在线数据重平衡特性,可以在数据库不停机,应用正常访问的情况下,完成存储的异地迁移;解决了现有技术中由于数据库一般部署在传统的集中式存储设备中,无法进行异地迁移存储的问题,以及在使用镜像拷贝迁移存储时,数据库需要停机的问题。
本实施例还提供了一种数据迁移装置,请参见图12,所述装置包括:
预处理模块1210,用于预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应。
挂载请求响应模块1220,用于响应于云盘挂载请求,挂载第二云盘;其中,所述第二云盘与第二存储集群相对应,所述第一存储集群和所述第二存储集群处于不同的局域网中。
第一重平衡模块1230,用于对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中。
第二重平衡模块1240,用于响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中。
请参见图13,所述挂载请求响应模块1220包括:
文件接收模块1310,用于接收所述第二存储集群发送的集群配置文件和密钥文件,对所述集群配置文件和所述密钥文件进行重命名。
第一挂载模块1320,用于根据重命名的集群配置文件和重命名的密钥文件,挂载所述第二云盘。
请参见图14,所述第一重平衡模块1230包括:
参数设置模块1410,用于设置数据重平衡的速度参数。
第一迁移模块1420,用于根据所述速度参数,在所述第一云盘和所述第二云盘之间进行数据迁移,其中,所述数据迁移的方向为从所述第一云盘到所述第二云盘。
重平衡停止模块1430,用于当所述第一云盘中的数据和所述第二云盘中的数据均匀分布时,停止数据重平衡。
请参见图15,所述装置还包括云盘加入模块,所述云盘加入模块包括:
第一处理模块1510,用于将挂载的所述第二云盘处理为裸设备,并修改所述裸设备的权限。
第一加入模块1520,用于将所述裸设备加入到磁盘组中。
请参见图16,所述装置还包括云盘删除模块,所述云盘删除模块包括:
第一删除模块1610,用于删除与所述第一云盘对应的裸设备。
第一卸载模块1620,用于卸载所述第一云盘。
请参见图17,本申请实施例还提供了另一种数据迁移装置,所述装置包括:
第二集群创建模块1710,用于根据预设集群框架,创建第二存储集群,所述第二存储集群与预设的第一存储集群处于不同的局域网中;其中,所述第一存储集群对应第一云盘。
第二云盘创建模块1720,用于创建与所述第二存储集群相对应的第二云盘;具体地,可根据所述云主机中的数据量,创建所述第二云盘。
文件发送模块1730,用于将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘。
数据迁移模块1740,用于当检测到所述第一云盘中的数据迁移到所述第二云盘时,将所述第一存储集群的相应数据迁移到所述第二存储集群中。
请参见图18,所述文件发送模块1730包括:
拷贝模块1810,用于对所述第二存储集群的所述集群配置文件和所述密钥文件进行拷贝。
第一发送模块1820,用于将拷贝的集群配置文件和拷贝的密钥文件发送至所述云主机,以使得所述云主机根据拷贝的集群配置文件和拷贝的密钥文件将所述第二云盘挂载给所述客户端。
上述实施例中提供的装置可执行本申请任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令由处理器加载并本实施例上述的任一方法。
本实施例还提供了一种设备,其结构图请参见图19,该设备1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对设备中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在设备1900上执行存储介质1930中的一系列指令操作。设备1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。本实施例上述的任一方法均可基于图19所示的设备进行实施。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (17)

1.一种数据迁移方法,其特征在于,应用于云主机侧,所述云主机上安装管理客户端,所述方法包括:
预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应;
响应于云盘挂载请求,根据第二存储集群发送的集群配置文件和密钥文件挂载第二云盘;其中,所述第二云盘与所述第二存储集群相对应,所述第一存储集群和所述第二存储集群处于不同的局域网中;
对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中;
响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中;所述云主机通过所述管理客户端实现对云盘的直接操作,包括云盘数据迁移操作以及云盘删除操作,所述云主机与所述第一存储集群以及所述第二存储集群的地理位置无关。
2.根据权利要求1所述的一种数据迁移方法,其特征在于,所述响应于云盘挂载请求,根据第二存储集群发送的集群配置文件和密钥文件挂载第二云盘包括:
接收所述第二存储集群发送的集群配置文件和密钥文件,对所述集群配置文件和所述密钥文件进行重命名;
根据重命名的集群配置文件和重命名的密钥文件,挂载所述第二云盘。
3.根据权利要求1所述的一种数据迁移方法,其特征在于,所述对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中包括:
设置数据重平衡的速度参数;
根据所述速度参数,在所述第一云盘和所述第二云盘之间进行数据迁移,其中,所述数据迁移的方向为从所述第一云盘到所述第二云盘;
当所述第一云盘中的数据和所述第二云盘中的数据均匀分布时,停止数据重平衡。
4.根据权利要求1所述的一种数据迁移方法,其特征在于,所述响应于云盘挂载请求,挂载第二云盘之后还包括:
将挂载的所述第二云盘处理为裸设备,并修改所述裸设备的权限;
将所述裸设备加入到磁盘组中。
5.根据权利要求1所述的一种数据迁移方法,其特征在于,所述响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中之后还包括:
删除与所述第一云盘对应的裸设备;
卸载所述第一云盘。
6.一种数据迁移方法,其特征在于,应用于存储集群管理侧,所述方法包括:
根据预设集群框架,创建第二存储集群,所述第二存储集群与预设的第一存储集群处于不同的局域网中;其中,所述第一存储集群对应第一云盘;
创建与所述第二存储集群相对应的第二云盘;
将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘;
当检测到所述第一云盘中的数据迁移到所述第二云盘时,将所述第一存储集群的相应数据迁移到所述第二存储集群中;所述云主机上安装管理客户端,所述云主机通过所述管理客户端实现对云盘的直接操作,包括云盘数据迁移操作以及云盘删除操作,所述云主机与所述第一存储集群以及所述第二存储集群的地理位置无关。
7.根据权利要求6所述的一种数据迁移方法,其特征在于,所述创建与所述第二存储集群相对应的第二云盘包括:
根据所述云主机中的数据量,创建所述第二云盘。
8.根据权利要求6所述的一种数据迁移方法,其特征在于,所述云主机中安装有与所述第二存储集群相应的客户端,所述将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘包括:
对所述第二存储集群的所述集群配置文件和所述密钥文件进行拷贝;
将拷贝的集群配置文件和拷贝的密钥文件发送至所述云主机,以使得所述云主机根据拷贝的集群配置文件和拷贝的密钥文件将所述第二云盘挂载给所述客户端。
9.一种数据迁移装置,其特征在于,应用于云主机侧,所述云主机上安装管理客户端,包括:
预处理模块,用于预先挂载第一云盘,将数据存储在所述第一云盘中,其中,所述第一云盘与第一存储集群相对应;
挂载请求响应模块,用于响应于云盘挂载请求,根据第二存储集群发送的集群配置文件和密钥文件挂载第二云盘;其中,所述第二云盘与所述第二存储集群相对应,所述第一存储集群和所述第二存储集群处于不同的局域网中;
第一重平衡模块,用于对存储在所述第一云盘中的数据进行第一次数据重平衡,将所述第一云盘中的数据均匀存储在所述第一云盘和所述第二云盘中;
第二重平衡模块,用于响应于第一云盘删除请求,进行第二次数据重平衡,将经过第一次数据重平衡之后的所述第一云盘中的数据迁移到所述第二云盘中;所述云主机通过所述管理客户端实现对云盘的直接操作,包括云盘数据迁移操作以及云盘删除操作,所述云主机与所述第一存储集群以及所述第二存储集群的地理位置无关。
10.根据权利要求9所述的装置,其特征在于,所述挂载请求响应模块包括:
文件接收模块,用于接收所述第二存储集群发送的集群配置文件和密钥文件,对所述集群配置文件和所述密钥文件进行重命名;
第一挂载模块,用于根据重命名的集群配置文件和重命名的密钥文件,挂载所述第二云盘。
11.根据权利要求9所述的装置,其特征在于,所述第一重平衡模块包括:
参数设置模块,用于设置数据重平衡的速度参数;
第一迁移模块,用于根据所述速度参数,在所述第一云盘和所述第二云盘之间进行数据迁移,其中,所述数据迁移的方向为从所述第一云盘到所述第二云盘;
重平衡停止模块,用于当所述第一云盘中的数据和所述第二云盘中的数据均匀分布时,停止数据重平衡。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括云盘加入模块,所述云盘加入模块包括:
第一处理模块,用于将挂载的所述第二云盘处理为裸设备,并修改所述裸设备的权限;
第一加入模块,用于将所述裸设备加入到磁盘组中。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括云盘删除模块,所述云盘删除模块包括:
第一删除模块,用于删除与所述第一云盘对应的裸设备;
第一卸载模块,用于卸载所述第一云盘。
14.一种数据迁移装置,其特征在于,应用于存储集群管理侧,包括:
第二集群创建模块,用于根据预设集群框架,创建第二存储集群,所述第二存储集群与预设的第一存储集群处于不同的局域网中;其中,所述第一存储集群对应第一云盘;
第二云盘创建模块,用于创建与所述第二存储集群相对应的第二云盘;
文件发送模块,用于将所述第二存储集群的集群配置文件和密钥文件发送至云主机,以使得所述云主机根据所述集群配置文件和所述密钥文件挂载所述第二云盘;
数据迁移模块,用于当检测到所述第一云盘中的数据迁移到所述第二云盘时,将所述第一存储集群的相应数据迁移到所述第二存储集群中;所述云主机上安装管理客户端,所述云主机通过所述管理客户端实现对云盘的直接操作,包括云盘数据迁移操作以及云盘删除操作,所述云主机与所述第一存储集群以及所述第二存储集群的地理位置无关。
15.根据权利要求14所述的装置,其特征在于,所述文件发送模块包括:
拷贝模块,用于对所述第二存储集群的所述集群配置文件和所述密钥文件进行拷贝;
第一发送模块,用于将拷贝的集群配置文件和拷贝的密钥文件发送至所述云主机,以使得所述云主机根据拷贝的集群配置文件和拷贝的密钥文件将所述第二云盘挂载给所述客户端。
16.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-8任一项所述的数据迁移方法。
17.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如权利要求1-8任一项所述的数据迁移方法。
CN201910542899.2A 2019-06-21 2019-06-21 一种数据迁移方法及装置 Active CN110334079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910542899.2A CN110334079B (zh) 2019-06-21 2019-06-21 一种数据迁移方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910542899.2A CN110334079B (zh) 2019-06-21 2019-06-21 一种数据迁移方法及装置

Publications (2)

Publication Number Publication Date
CN110334079A CN110334079A (zh) 2019-10-15
CN110334079B true CN110334079B (zh) 2024-03-15

Family

ID=68142486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910542899.2A Active CN110334079B (zh) 2019-06-21 2019-06-21 一种数据迁移方法及装置

Country Status (1)

Country Link
CN (1) CN110334079B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625189B (zh) * 2020-05-19 2023-07-28 华云数据控股集团有限公司 一种数据重平衡状态的检测方法、装置、设备及介质
CN113093995B (zh) * 2021-04-12 2023-05-26 深圳软通动力信息技术有限公司 一种云盘数据的迁移方法和系统
CN114816571B (zh) * 2022-04-15 2023-06-16 西安广和通无线通信有限公司 外挂闪存的方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200936A (zh) * 2011-05-11 2011-09-28 杨钧 适用于云存储的智能配置存储备份方法
CN106687911A (zh) * 2014-09-15 2017-05-17 微软技术许可有限责任公司 不损害数据完整性的在线数据移动
CN107783720A (zh) * 2016-08-24 2018-03-09 深圳市深信服电子科技有限公司 一种数据均衡方法及存储设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771553B2 (en) * 2015-04-30 2020-09-08 Quest Software Inc. Access to disparate cloud services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200936A (zh) * 2011-05-11 2011-09-28 杨钧 适用于云存储的智能配置存储备份方法
CN106687911A (zh) * 2014-09-15 2017-05-17 微软技术许可有限责任公司 不损害数据完整性的在线数据移动
CN107783720A (zh) * 2016-08-24 2018-03-09 深圳市深信服电子科技有限公司 一种数据均衡方法及存储设备

Also Published As

Publication number Publication date
CN110334079A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
US11755232B2 (en) Transferring of snapshot data blocks to a virtual storage volume
US20190384678A1 (en) System and method for managing backup and restore of objects over cloud platforms
CN110334079B (zh) 一种数据迁移方法及装置
US11029993B2 (en) System and method for a distributed key-value store
US8291159B2 (en) Monitoring and updating mapping of physical storage allocation of virtual machine without changing identifier of the storage volume assigned to virtual machine
US10158579B2 (en) Resource silos at network-accessible services
US10146636B1 (en) Disaster recovery rehearsals
US9733989B1 (en) Non-disruptive load-balancing of virtual machines between data centers
US9886260B2 (en) Managing software version upgrades in a multiple computer system environment
US9645753B2 (en) Overlapping write detection and processing for sync replication
US9792150B1 (en) Detecting site change for migrated virtual machines
CN111045854B (zh) 用于管理服务容器的方法、设备和计算机可读介质
CN106936623A (zh) 分布式缓存系统及缓存集群的管理方法
US10031682B1 (en) Methods for improved data store migrations and devices thereof
US11431798B2 (en) Data storage system
US11550633B2 (en) Intra-footprint computing cluster bring-up
WO2021120968A1 (zh) 一种服务器扩容方法及扩容系统
CN114174993A (zh) 优化集群基础设施中的集群应用
US20230325253A1 (en) Distributed control plane for reformatting communication between a container orchestration platform and a distributed storage architecture
CN113467882A (zh) 部署容器的方法及系统
US20240036770A1 (en) Distributed control plane tracking object ownership changes within a distributed storage architecture
US20240028255A1 (en) Distributed control plane for facilitating communication between a container orchestration platform and a distributed storage architecture
US20160043894A1 (en) Automatic reconfiguration of network parameters during file system failover
US10664190B1 (en) Geographically dispersed data protection and replication
US20210149566A1 (en) DEGRADED REDUNDANT METADATA, DRuM, TECHNIQUE

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240617

Address after: Room 1101, 11th Floor, Pacific International Building, No.106 Zhichun Road, Haidian District, Beijing, 100000

Patentee after: Beijing Haiyunjiexun Technology Co.,Ltd.

Country or region after: China

Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Country or region before: China