CN112035062B - 云计算的本地存储的迁移方法、计算机设备及存储介质 - Google Patents
云计算的本地存储的迁移方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112035062B CN112035062B CN202010838845.3A CN202010838845A CN112035062B CN 112035062 B CN112035062 B CN 112035062B CN 202010838845 A CN202010838845 A CN 202010838845A CN 112035062 B CN112035062 B CN 112035062B
- Authority
- CN
- China
- Prior art keywords
- target
- migrated
- container set
- volume
- persistent
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本发明公开了一种云计算的本地存储的迁移方法、计算机设备及存储介质,该方法包括:监听到待迁移容器集合的迁移操作时,记载待迁移容器管理工具的存储卷、源持久卷声明和源持久化存储卷列表;创建目标容器集合,记载目标容器集合的目标持久卷声明和目标持久化存储卷列表;下线待迁移容器集合;将源持久卷声明中的数据迁移至目标持久卷声明;解绑目标持久卷声明与目标持久化存储卷的绑定,建立源持久卷声明与目标持久化存储卷的绑定;将待迁移容器集合重新上线。实现在监听到待迁移容器集合的迁移操作时,将源持久卷声明中的数据迁移至目标持久卷声明,将目标持久化存储卷绑定至源持久卷声明,实现容器集合和存储数据的迁移,提高可靠性。
Description
技术领域
本发明实施例涉及云计算技术,尤其涉及一种云计算的本地存储的迁移方法、计算机设备及存储介质。
背景技术
在Kubernetes分布式管理系统中,有状态的应用通过容器管理工具Statefulset进行部署,并挂载本地存储以实现数据持久化。当节点退役、节点故障或者业务节点调整时,需要将容器集合pod调度到其他的节点,但是本地存储不会随着节点的调度而迁移,导致无法正常提供服务,可靠性差。
发明内容
本发明实施例提供一种云计算的本地存储的迁移方法、计算机设备及存储介质,以实现本地存储跟随容器集合pod调度进行迁移,提高可靠性。
第一方面,本发明实施例提供了一种云计算的本地存储的迁移方法,包括:
监听到待迁移容器集合pod的迁移操作时,在待迁移容器集合pod所在的命名空间中创建客户自定义资源CRD;
通过客户自定义资源CRD记载待迁移容器管理工具Statefulset的存储卷、源持久卷声明PVC和源持久化存储卷PV列表;
创建目标容器集合pod,目标容器集合pod与待迁移容器集合pod具有相同的属性;
当目标容器集合pod正常运行后,通过客户自定义资源CRD记载目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表;
下线待迁移容器集合pod;
根据客户自定义资源CRD的记载,将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC;
解绑目标持久卷声明PVC与目标持久化存储卷PV的绑定,建立源持久卷声明PVC与目标持久化存储卷PV的绑定;
将待迁移容器集合pod重新上线。
第二方面,本发明实施例还提供了一种计算机设备,包括处理器和存储器,存储器用于存储指令,当指令执行时使得处理器执行以下操作:
监听到待迁移容器集合pod的迁移操作时,在待迁移容器集合pod所在的命名空间中创建客户自定义资源CRD;
通过客户自定义资源CRD记载待迁移容器管理工具Statefulset的存储卷、源持久卷声明PVC和源持久化存储卷PV列表;
创建目标容器集合pod,目标容器集合pod与待迁移容器集合pod具有相同的属性;
当目标容器集合pod正常运行后,通过客户自定义资源CRD记载目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表;
下线待迁移容器集合pod;
根据客户自定义资源CRD的记载,将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC;
解绑目标持久卷声明PVC与目标持久化存储卷PV的绑定,建立源持久卷声明PVC与目标持久化存储卷PV的绑定;
将待迁移容器集合pod重新上线。
第三方面,本发明实施例还提供了包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例所示的云计算的本地存储的迁移方法。
本发明实施例提供的云计算的本地存储的迁移方法,能够在监听到待迁移容器集合pod的迁移操作时,建立目标容器集合pod,通过客户自定义资源CRD记录源持久卷声明PVC、源持久化存储卷PV列表、目标持久卷声明PVC和目标持久化存储卷PV列表。将待迁移容器集合pod下线后,将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC,实现将存储数据进行便宜。将目标持久化存储卷PV绑定至源持久卷声明PVC,实现待迁移容器集合pod与目标持久化存储卷PV的关联,完成待迁移容器集合pod的迁移。将待迁移容器集合pod重新上线后,可以实现容器集合pod和存储数据的迁移,提高可靠性。
附图说明
图1为本发明实施例一提供的一种云计算的本地存储的迁移方法的流程图;
图2为本发明实施例二提供的一种云计算的本地存储的迁移装置的结构示意图;
图3为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“pod”称为容器集合,是Kubernetes集群中所有业务类型的基础,是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在容器集合pod中,所有容器都被统一安排和调度,并运行在共享的上下文中。对于具体应用而言,容器集合pod是它们的逻辑主机,容器集合pod包含业务相关的多个应用容器。
本文使用的术语“CRD”为客户自定义资源CRD,其英文全称为Custom ResourceDefinition,本申请中客户自定义资源CRD客户自定义资源CRD用于记载容器集合pod迁移涉及的部分参数。
本文使用的术语“Statefulset”为容器管理工具,Kubernetes的一个组件,容器管理工具Statefulsets旨在与有状态的应用及分布式系统一起使用,用于对容器集合pod进行管理,如对容器集合pod进行创建、删除、扩容/缩容和更新等操作。
本文使用的术语“Volume”为存储卷。
本文使用的术语“PVC”为持久卷声明,是Kubernetes中的Persistent VolumeClaim,代表用户的存储请求。
本文使用的术语“PV列表”为持久化存储卷列表,其中PV中文为持久化存储卷,英文全称为PersistentVolume,持久化存储卷是存储在kubernetes中的抽象,可以与持久卷声明PVC进行动态绑定,以便用户访问该PV。
本文使用的术语“Affinity”为亲和性,用于表示运行时的调度策略。
本文使用的术语“Toleration”为容忍属性,用于表示容器集合pod能够部署到的有污点配置的节点nodes。
本文使用的术语“NodeSelector”为节点选择器,用于选择容器集合pod所在的节点node。
本文使用的术语“rsync”为备份工具,是linux系统下的数据镜像备份工具,用于远程同步,支持本地复制等。英文全称为,remote synchronization,是开源、高速、可实现本地及远程、全量以及增量的数据复制(拷贝)工具。
本文使用的术语“SSH”为安全外壳协议,英文全称为Secure Shell,安全外壳协议SSH为建立在应用层基础上的安全协议。
本文使用的术语“Provisioner”为存储分配器,用于决定使用哪个卷插件分配持久化存储卷PV。可以指定内部分配器,也可以指定外部分配器。
Kubernetes是一套基于容器技术并以Apache 2.0许可协议发布的开源软件框架。针对一些有状态、需要持久化存储数据的应用,比如数据库应用,kubernetes引入了持久卷声明(Persistent Volume Claim,PVC)和持久化存储卷(Persistent Volume,PV)的API对象。
持久化存储拥有独立的生命周期,具备持久化存储能力,其后端一般是独立的存储系统。常用的存储系统可以分为本地存储(DAS),网络存储(NAS),存储局域网(SAN)和软件定义存储(SDS)四大类。其中本地存储以直插服务器的本地磁盘为存储介质,由于其数据私密性、安全性、对网络带宽要求低等优点,成为在私有云环境中使用最为广泛的存储系统。
以Portworx为代表,现有的云场景本地存储迁移解决方案主要基于分布式存储架构:采用计算和存储融合的架构,将集群中所有节点的本地存储聚合成到资源池,使得每个节点既提供计算能力,也提供本地磁盘作为存储,使得运行在节点中的容器可从本地直接访问数据。
本发明实施例适用的场景中,各节点中数据存储相互独立,如果某个节点出现故障或进行下线维护,该节点上的容器可以被上层的调度器重新调度到其他节点上。通过本发明实施例提供的技术方案能够将数据迁移到其他节点,容器在新节点上可直接使用本地数据,提高了数据访问的效率。
本发明实施例面向云平台本地存储迁移场景,在节点迁移之后,本地存储的所有数据可以随着容器集合pod的重新调度而迁移到新的节点,并保证数据的完整性和可靠性。
实施例一
图1为本发明实施例一提供的云计算的本地存储的迁移方法的流程图,本实施例可适用于Kubernetes云平台本地存储迁移的情况,该方法可以由执行Kubernetes平台的服务器来执行,具体包括如下步骤:
步骤110、监听到待迁移容器集合pod的迁移操作时,在待迁移容器集合pod所在的命名空间中创建客户自定义资源CRD。
Kubernetes平台可具备多个节点node,当某个节点node发生故障或退役时,可以将该节点node中的容器集合pod迁移到其他健康的节点node中。若触发某个节点中容器集合pod的迁移,则该容器集合pod被称为待迁移容器集合pod。可以建立一个监听进程对容器集合pod的迁移进行监听,若监听到待迁移容器集合pod的迁移操作,则在待迁移容器集合pod所在的命名空间中创建客户自定义资源CRD(CustomResourceDefinition,客户自定义资源CRD)。
客户自定义资源CRD设有客户自定义资源CRD状态字段,创建客户自定义资源CRD后,客户自定义资源CRD状态可以为创建(Created)状态。
可选的,为了保证数据迁移的安全性,防止非法用户创建的非法客户自定义资源CRD以及不可靠的容器管理工具Statefulset对数据进行处理,在创建客户自定义资源CRD后,检测客户自定义资源CRD的合法性;检测待迁移容器管理工具Statefulset的合法性。
待迁移容器管理工具Statefulset用于管理待迁移容器集合pod。通过对客户自定义资源CRD和待迁移容器管理工具Statefulset的合法性进行检测,可以保障待迁移容器集合pod的迁移操作的合法性,提高安全性。
当进行合法性检验后,客户自定义资源CRD状态可以为验证完成(Validatedfalsed)状态。
步骤120、通过客户自定义资源CRD记载待迁移容器管理工具Statefulset的存储卷Volume、源持久卷声明PVC和源持久化存储卷PV列表。
获取待迁移容器管理工具Statefulset的存储卷Volume、源持久卷声明PVC和源持久化存储卷PV列表。将获取到的存储卷Volume更新至步骤110创建的客户自定义资源CRD的存储卷名称VolumeName字段。将获取到的源持久卷声明PVC更新至步骤110创建的客户自定义资源CRD的源持久卷声明sourcePersistentVolumeClaim字段。将获取到的源持久化存储卷PV列表更新至步骤110创建的客户自定义资源CRD的源持久化存储卷sourcePersistentVolume字段。
在一种实现方式中,为了保证后续数据传输的可靠性,可以再生成传输时使用的公钥和私钥。生成保密信息Secret,保密信息Secret包括安全外壳协议SSH公钥和安全外壳协议SSH私钥。安全外壳协议SSH公钥和安全外壳协议SSH私钥用于备份工具Rsync的安全外壳协议SSH安全认证。
步骤120用于完成迁移的准备工作,包括在客户自定义资源CRD中记载待迁移容器管理工具Statefulset的存储卷Volume、源持久卷声明PVC和源持久化存储卷PV列表。以及生成用于后续数据传输的保密信息Secret。当准备工作完成时,客户自定义资源CRD状态可以为已准备(Prepared)状态。
步骤130、创建目标容器集合pod,目标容器集合pod与待迁移容器集合pod具有相同的属性。
在节点中创建目标容器集合pod,目标容器集合pod用于接收待迁移容器集合pod迁移的数据,目标容器集合pod将在目标节点中运行的容器集合pod。
示例性的,在待迁移容器管理工具Statefulset所在的命名空间中创建目标容器管理工具Statefulset。
使用目标容器管理工具Statefulset创建与待迁移容器集合pod具有相同属性的目标容器集合pod。
其中,属性包括亲和性Affinity、容忍属性Toleration、节点选择器NodeSelector、内存、中央处理器CPU、磁盘大小和挂载路径中的一个或多个的组合。通过目标容器管理工具Statefulset可以启动容器集合pod和存储分配器Provisioner的功能。
待迁移容器管理工具Statefulset所在的命名空间中创建目标容器管理工具Statefulset,能够快速准确的生成与待迁移容器集合pod具有相同属性的目标容器集合pod。
步骤140、当目标容器集合pod正常运行后,通过客户自定义资源CRD记载目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表。
当通过目标容器管理工具Statefulset启动目标容器集合pod,使得目标容器集合pod正常运行后,将目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表记载到客户自定义资源CRD中。
示例性的,将目标容器集合pod的目标持久卷声明PVC更新至客户自定义资源CRD的目标持久卷声明targetPersistentVolumeClaim字段。将目标容器集合pod的目标持久化存储卷PV列表更新至客户自定义资源CRD的目标持久卷声明targetPersistentVolumeClaim字段。
此时,客户自定义资源CRD中记载了待迁移容器集合pod的存储卷Volume、源持久卷声明PVC和源持久化存储卷PV列表以及目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表。
进一步的,在目标容器集合pod的目标持久化存储卷PV上添加回滚信息。
回滚信息用于进行不同版本容器集合pod的回滚。回滚信息包括:迁移版本、迁移时间、源持久化存储卷PV名称,以及待迁移容器集合pod中的一个或多个的组合。
迁移成功完成之后,原节点上持久化存储卷PV的数据由使用者自行回收删除。由于持久化存储卷PV中保存了迁移版本、迁移时间和源持久化存储卷PV等信息,因此可以实现历史版本的查看、维护和回滚操作。当使用者需要回滚至历史数据时,将当前持久卷声明PVC和持久化存储卷PV解绑,然后与历史版本的持久化存储卷PV绑定,进而实现迁移的回滚和历史数据保留策略。
步骤150、下线待迁移容器集合pod。
可以通过待迁移容器集合pod下线待迁移容器集合pod。待迁移容器集合pod下线后,此时业务数据不再写入,以保证数据迁移前后的一致性。
步骤130至步骤150用于进行迁移的初始化,执行至步骤150时,客户自定义资源CRD状态可以为已初始化(Initialized)状态。
步骤160、根据客户自定义资源CRD的记载,将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC。
分别根据每个源持久卷声明PVC启动一个传输通道,进行数据迁移。该数据为本地数据。
示例性的,根据客户自定义资源CRD的记载确定源持久卷声明PVC和目标持久卷声明PVC;使用备份工具rsync进行源持久卷声明PVC和目标持久卷声明PVC之间数据的迁移。
可以为每个源持久卷声明PVC启动备份工具rsync作为传输通道。待迁移容器集合pod与目标容器集合pod之间通过备份工具rsync完成数据的迁移。如果在传输过程中如果服务断开,依赖备份工具rsync的重试机制进行重新传输。由于备份工具rsync的增量传输特性,重试的时候可以避免已传输的数据重传。等待所有备份工具rsync结束,说明数据迁移结束。
在上述实现方式中,在目标容器集合pod中挂载安全外壳协议SSH私钥;备份工具rsync对应安全外壳协议SSH公钥。根据步骤120生成的保密信息Secret,在目标容器集合pod中挂在安全外壳协议SSH私钥。
可以为每个源持久卷声明PVC启动备份工具rsync作为传输通道,备份工具rsync有对应的安全外壳协议SSH公钥,并且挂载源持久卷声明PVC。在使用备份工具rsync进行传输时,使用安全外壳协议SSH公钥和安全外壳协议SSH私钥进行数据加密,提高数据迁移的安全性。
步骤160可以实现本地数据的迁移,但完成本地数据迁移时,客户自定义资源CRD的状态可以更新为Sync完成(SyncCompleted)状态。
步骤170、解绑目标持久卷声明PVC与目标持久化存储卷PV的绑定,建立源持久卷声明PVC与目标持久化存储卷PV的绑定。
将目标持久化存储卷PV从目标持久卷声明PVC重绑定到源持久化存储卷PV,进而实现持久卷声明PVC的重绑定。
当完成持久卷声明PVC的重绑定时,客户自定义资源CRD的状态可以更新为迁移完成(MigrateCompleted)状态。
步骤180、将待迁移容器集合pod重新上线。
重新上线的待迁移容器集合pod,由于源持久卷声明PVC已经和目标持久化存储卷PV绑定,所以容器集合pod会调度到新节点上。完成迁移后,待迁移容器集合pod已迁移至新节点,将待迁移容器集合pod重新上线,使待迁移容器集合pod在新节点中运行。此时,可以将客户自定义资源CRD的状态更新为容器集合上线(podOnline)状态。
进一步的,在步骤180、将待迁移容器集合pod重新上线之后,还包括:
清理临时资源,临时资源包括:保密信息Secret、备份工具rsync或目标容器管理工具Statefulset。
可以响应于使用者主动发起的清理操作,清理临时资源。也可以在执行步骤180之后,有计算机设备自动执行清理临时资源的操作。临时资源包括上述步骤中生成的保密信息Secret、备份工具rsync或目标容器管理工具Statefulset。实现在迁移完成之后,使用者手动删除历史数据,不会生成冗余的数据副本,节省不必要的存储成本。
若执行了清理临时资源,则客户自定义资源CRD状态可以更新为完成(Finished)状态。
进一步的,在创建客户自定义资源CRD之后,还包括:根据迁移进度更新客户自定义资源CRD状态;响应于管理员的查询操作,反馈客户自定义资源CRD状态。
在上述步骤给出的客户自定义资源CRD更新节点,会对客户自定义资源CRD状态字段进行更新。使用者可以通过查询客户自定义资源CRD状态字段了解容器集合pod迁移的进度,提高易用性。
本发明实施例提供的云计算的本地存储的迁移方法,能够在监听到待迁移容器集合pod的迁移操作时,建立目标容器集合pod,通过客户自定义资源CRD记录源持久卷声明PVC、源持久化存储卷PV列表、目标持久卷声明PVC和目标持久化存储卷PV列表。将待迁移容器集合pod下线后,将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC,实现将存储数据进行便宜。将目标持久化存储卷PV绑定至源持久卷声明PVC,实现待迁移容器集合pod与目标持久化存储卷PV的关联,完成待迁移容器集合pod的迁移。将待迁移容器集合pod重新上线后,可以实现容器集合pod和存储数据的迁移,提高可靠性。
实施例二
图2为本发明实施例二提供的一种云计算的本地存储的迁移装置的结构示意图。该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。如图2所示,装置包括:监听模块210、客户自定义资源处理模块220、容器集合控制模块230、迁移模块240以及绑定模块250。
监听模块210,用于监听本地的待迁移容器集合pod的操作。该操作包括新增、修改、迁移等操作。
客户自定义资源处理模块220,用于监听模块210监听到待迁移容器集合pod的迁移操作时,在待迁移容器集合pod所在的命名空间中创建客户自定义资源CRD;通过客户自定义资源CRD记载待迁移容器管理工具Statefulset的存储卷Volume、源持久卷声明PVC和源持久化存储卷PV列表;
容器集合控制模块230,用于创建目标容器集合pod,目标容器集合pod与待迁移容器集合pod具有相同的属性;
客户自定义资源处理模块220还用于,当目标容器集合pod正常运行后,通过客户自定义资源CRD记载目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表;
容器集合控制模块230还用于下线待迁移容器集合pod;
迁移模块240,用于根据客户自定义资源CRD的记载,将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC;
绑定模块250,用于解绑目标持久卷声明PVC与目标持久化存储卷PV的绑定,建立源持久卷声明PVC与目标持久化存储卷PV的绑定;
容器集合控制模块230还用于将待迁移容器集合pod重新上线。
在上述各实施例的基础上,还包括合法性检测模块,用于检测客户自定义资源CRD的合法性;
检测待迁移容器管理工具Statefulset的合法性。
在上述各实施例的基础上,容器集合控制模块230用于:
在待迁移容器管理工具Statefulset所在的命名空间中创建目标容器管理工具Statefulset;
使用目标容器管理工具Statefulset创建与待迁移容器集合pod具有相同属性的目标容器集合pod,属性包括亲和性Affinity、容忍属性Toleration、节点选择器NodeSelector、内存、中央处理器CPU、磁盘大小和挂载路径中的一个或多个的组合。
在上述各实施例的基础上,还包括回滚信息添加模块,用于在目标容器集合pod的目标持久化存储卷PV上添加回滚信息,回滚信息包括:迁移版本、迁移时间、源持久化存储卷PV名称,以及待迁移容器集合pod中的一个或多个的组合。
在上述各实施例的基础上,迁移模块240用于:
根据客户自定义资源CRD的记载确定源持久卷声明PVC和目标持久卷声明PVC;
使用备份工具rsync进行源持久卷声明PVC和目标持久卷声明PVC之间数据的迁移。
在上述各实施例的基础上,还包括保密模块,用于生成保密信息Secret,保密信息Secret包括安全外壳协议SSH公钥和安全外壳协议SSH私钥;
创建目标容器集合pod之后,还包括:
在目标容器集合pod中挂载安全外壳协议SSH私钥;
备份工具rsync对应安全外壳协议SSH公钥。
在上述各实施例的基础上,还包括清理模块,用于清理临时资源,临时资源包括:保密信息Secret、备份工具rsync或目标容器管理工具Statefulset。
在上述各实施例的基础上,还包括状态反馈模块,用于根据迁移进度更新客户自定义资源CRD状态;
响应于管理员的查询操作,反馈客户自定义资源CRD状态。
本发明实施例提供的云计算的本地存储的迁移装置,客户自定义资源处理模块220能够在监听模块210监听到待迁移容器集合pod的迁移操作时,建立目标容器集合pod,客户自定义资源处理模块220通过客户自定义资源CRD记录源持久卷声明PVC、源持久化存储卷PV列表、目标持久卷声明PVC和目标持久化存储卷PV列表。容器集合控制模块230将待迁移容器集合pod下线后,迁移模块240将源持久卷声明PVC中的数据迁移至目标持久卷声明PVC,实现将存储数据进行便宜。绑定模块250将目标持久化存储卷PV绑定至源持久卷声明PVC,实现待迁移容器集合pod与目标持久化存储卷PV的关联,完成待迁移容器集合pod的迁移。容器集合控制模块230将待迁移容器集合pod重新上线后,可以实现容器集合pod和存储数据的迁移,提高可靠性。
本发明实施例所提供的云计算的本地存储的迁移装置可执行本发明任意实施例所提供的云计算的本地存储的迁移方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3为本发明实施例三提供的一种计算机设备的结构示意图,如图3所示,该计算机设备包括处理器30、存储器31、输入装置32和输出装置33;计算机设备中处理器30的数量可以是一个或多个,图3中以一个处理器30为例;计算机设备中的处理器30、存储器31、输入装置32和输出装置33可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器31作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的云计算的本地存储的迁移方法对应的程序指令/模块(例如,云计算的本地存储的迁移装置中的监听模块210、客户自定义资源处理模块220、容器集合控制模块230、迁移模块240以及绑定模块250)。处理器30通过运行存储在存储器31中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的云计算的本地存储的迁移方法。
存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器31可进一步包括相对于处理器30远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置32可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置33可包括显示屏等显示设备。
实施例四
本发明实施例四提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行本发明任一实施例所提供的云计算的本地存储的迁移方法,该方法包括:
监听到待迁移容器集合pod的迁移操作时,在所述待迁移容器集合pod所在的命名空间中创建客户自定义资源CRD;
通过所述客户自定义资源CRD记载待迁移容器管理工具Statefulset的存储卷Volume、源持久卷声明PVC和源持久化存储卷PV列表;
创建目标容器集合pod,所述目标容器集合pod与所述待迁移容器集合pod具有相同的属性;
当所述目标容器集合pod正常运行后,通过所述客户自定义资源CRD记载所述目标容器集合pod的目标持久卷声明PVC和目标持久化存储卷PV列表;
下线所述待迁移容器集合pod;
根据所述客户自定义资源CRD的记载,将所述源持久卷声明PVC中的数据迁移至所述目标持久卷声明PVC;
解绑所述目标持久卷声明PVC与所述目标持久化存储卷PV的绑定,建立所述源持久卷声明PVC与所述目标持久化存储卷PV的绑定;
将所述待迁移容器集合pod重新上线。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的云计算的本地存储的迁移方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述云计算的本地存储的迁移装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种云计算的本地存储的迁移方法,其特征在于,包括:
监听到待迁移容器集合的迁移操作时,在所述待迁移容器集合所在的命名空间中创建客户自定义资源;
通过所述客户自定义资源记载待迁移容器管理工具的存储卷、源持久卷声明和源持久化存储卷列表;
创建目标容器集合,所述目标容器集合与所述待迁移容器集合具有相同的属性,所述属性包括亲和性、容忍属性、 节点选择器、 内存、中央处理器、磁盘大小和挂载路径中的一个或多个的组合;
当所述目标容器集合正常运行后,通过所述客户自定义资源记载所述目标容器集合的目标持久卷声明和目标 持久化存储卷列表;
下线所述待迁移容器集合;
根据所述客户自定义资源的记载,将所述源持久卷声明中的数据迁移至所述目标持久卷声明;
解绑所述目标持久卷声明与所述目标持久化存储卷的绑定,建立所述源持久卷声明与所述目标持久化存储卷的绑定;
将所述待迁移容器集合重新上线;
在创建客户自定义资源之后,还包括:
根据迁移进度更新所述客户自定义资源状态,所述客户自定义资源状态包括:创建状态、验证完成状态、已准备状态、已初始化状态、Sync完成状态、迁移完成状态、容器集合上线状态或更新为完成状态;
响应于管理员的查询操作,反馈所述客户自定义资源状态。
2.根据权利要求1所述的方法,其特征在于,在创建客户自定义资源之后,还包括:
检测所述客户自定义资源的合法性;
检测所述待迁移容器管理工具的合法性。
3.根据权利要求1所述的方法,其特征在于,所述创建目标容器集合,所述目标容器集合与所述待迁移容器集合具有相同的属性,包括:
在所述待迁移容器管理工具所在的命名空间中创建目标容器管理工具;
使用所述目标容器管理工具创建与待迁移容器集合具有相同属性的目标容器集合,所述属性包括亲和性、容忍属性、 节点选择器、 内存、中央处理器、磁盘大小和挂载路径中的一个或多个的组合。
4.根据权利要求1所述的方法,其特征在于,当所述目标容器集合正常运行后,还包括:
在所述目标容器集合的目标持久化存储卷上添加回滚信息,所述回滚信息包括:迁移版本、迁移时间、源持久化存储卷名称,以及所述待迁移容器集合中的一个或多个的组合。
5.根据权利要求3所述的方法,其特征在于,根据所述客户自定义资源的记载,将所述源持久卷声明中的数据迁移至所述目标持久卷声明,包括:
根据所述客户自定义资源的记载确定源持久卷声明和目标持久卷声明;
使用备份工具进行所述源持久卷声明和所述目标持久卷声明之间数据的迁移。
6.根据权利要求5所述的方法,其特征在于,在创建目标容器集合之前,还包括:
生成保密信息,所述保密信息包括安全外壳协议公钥和安全外壳协议私钥;
所述创建目标容器集合之后,还包括:
在所述目标容器集合中挂载所述安全外壳协议私钥;
所述备份工具对应所述安全外壳协议公钥。
7.根据权利要求6所述的方法,其特征在于,在将所述待迁移容器集合重新上线之后,还包括:
清理临时资源,所述临时资源包括:所述保密信息、所述备份工具或所述目标容器管理工具。
8.一种计算机设备,包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
监听到待迁移容器集合的迁移操作时,在所述待迁移容器集合所在的命名空间中创建客户自定义资源;
通过所述客户自定义资源记载待迁移容器管理工具的存储卷、源持久卷声明和源持久化存储卷列表;
创建目标容器集合,所述目标容器集合与所述待迁移容器集合具有相同的属性,所述属性包括亲和性、容忍属性、 节点选择器、 内存、中央处理器、磁盘大小和挂载路径中的一个或多个的组合;
当所述目标容器集合正常运行后,通过所述客户自定义资源记载所述目标容器集合的目标持久卷声明和目标 持久化存储卷列表;
下线所述待迁移容器集合;
根据所述客户自定义资源的记载,将所述源持久卷声明中的数据迁移至所述目标持久卷声明;
解绑所述目标持久卷声明与所述目标持久化存储卷的绑定,建立所述源持久卷声明与所述目标持久化存储卷的绑定;
将所述待迁移容器集合重新上线;
所述处理器在创建客户自定义资源之后,还被设置为:
根据迁移进度更新所述客户自定义资源状态,所述客户自定义资源状态包括:创建状态、验证完成状态、已准备状态、已初始化状态、Sync完成状态、迁移完成状态、容器集合上线状态或更新为完成状态;
响应于管理员的查询操作,反馈所述客户自定义资源状态。
9.根据权利要求8所述的计算机设备,其特征在于,所述处理器在创建客户自定义资源之后,还被设置为:
检测所述客户自定义资源的合法性;
检测所述待迁移容器管理工具的合法性。
10.根据权利要求8所述的计算机设备,其特征在于,所述处理器还设置为通过以下方式创建目标容器集合:
在所述待迁移容器管理工具所在的命名空间中创建目标容器管理工具;
使用所述目标容器管理工具创建与待迁移容器集合具有相同属性的目标容器集合,所述属性包括亲和性、容忍属性、 节点选择器、 内存、中央处理器、磁盘大小和挂载路径中的一个或多个的组合。
11.根据权利要求8所述的计算机设备,其特征在于,所述处理器在所述目标容器集合正常运行后,还被设置为:
在所述目标容器集合的目标持久化存储卷上添加回滚信息,所述回滚信息包括:迁移版本、迁移时间、源持久化存储卷名称,以及所述待迁移容器集合中的一个或多个的组合。
12.根据权利要求10所述的计算机设备,其特征在于,所述处理器还设置为通过以下方式根据所述客户自定义资源的记载,将所述源持久卷声明中的数据迁移至所述目标持久卷声明:
根据所述客户自定义资源的记载确定源持久卷声明和目标持久卷声明;
使用备份工具进行所述源持久卷声明和所述目标持久卷声明之间数据的迁移。
13.根据权利要求12所述的计算机设备,其特征在于,所述处理器在创建目标容器集合之前,还被设置为:
生成保密信息,所述保密信息包括安全外壳协议公钥和安全外壳协议私钥;
所述处理器在创建目标容器集合之后,还被设置包括:
在所述目标容器集合中挂载所述安全外壳协议私钥;
所述备份工具对应所述安全外壳协议公钥。
14.根据权利要求13所述的计算机设备,其特征在于,所述处理器在将所述待迁移容器集合重新上线之后,还被设置为:
清理临时资源,所述临时资源包括:所述保密信息、所述备份工具或所述目标容器管理工具。
15.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的云计算的本地存储的迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838845.3A CN112035062B (zh) | 2020-08-19 | 2020-08-19 | 云计算的本地存储的迁移方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838845.3A CN112035062B (zh) | 2020-08-19 | 2020-08-19 | 云计算的本地存储的迁移方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035062A CN112035062A (zh) | 2020-12-04 |
CN112035062B true CN112035062B (zh) | 2021-09-28 |
Family
ID=73577692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010838845.3A Active CN112035062B (zh) | 2020-08-19 | 2020-08-19 | 云计算的本地存储的迁移方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035062B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048240B (zh) * | 2022-05-17 | 2023-08-29 | 广州鼎甲计算机科技有限公司 | 基于Kubernetes的数据处理方法、系统及介质 |
CN116166204B (zh) * | 2023-04-19 | 2023-07-07 | 安元科技股份有限公司 | 一种多版本加密存储的迁移方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193499A (zh) * | 2017-05-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种容器数据卷的迁移方法及装置 |
CN109690487A (zh) * | 2016-09-09 | 2019-04-26 | 华睿泰科技有限责任公司 | 用于执行软件容器的实时迁移的系统和方法 |
CN110515546A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种系统间数据迁移的方法、装置、设备及存储介质 |
CN111061432A (zh) * | 2019-12-06 | 2020-04-24 | 北京浪潮数据技术有限公司 | 一种业务迁移方法、装置、设备及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107728947A (zh) * | 2017-10-13 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种容器冷迁移方法与系统 |
US10860444B2 (en) * | 2018-07-30 | 2020-12-08 | EMC IP Holding Company LLC | Seamless mobility for kubernetes based stateful pods using moving target defense |
CN110851236A (zh) * | 2019-11-11 | 2020-02-28 | 星环信息科技(上海)有限公司 | 一种实时资源调度方法、装置、计算机设备及存储介质 |
CN111404753B (zh) * | 2020-03-23 | 2021-08-20 | 星环信息科技(上海)股份有限公司 | 一种扁平网络配置方法、计算机设备及存储介质 |
CN111352717B (zh) * | 2020-03-24 | 2023-04-07 | 广西梯度科技股份有限公司 | 一种实现kubernetes自定义调度器的方法 |
CN111506391B (zh) * | 2020-03-31 | 2022-08-30 | 新华三大数据技术有限公司 | 一种容器部署方法及装置 |
-
2020
- 2020-08-19 CN CN202010838845.3A patent/CN112035062B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109690487A (zh) * | 2016-09-09 | 2019-04-26 | 华睿泰科技有限责任公司 | 用于执行软件容器的实时迁移的系统和方法 |
CN107193499A (zh) * | 2017-05-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种容器数据卷的迁移方法及装置 |
CN110515546A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种系统间数据迁移的方法、装置、设备及存储介质 |
CN111061432A (zh) * | 2019-12-06 | 2020-04-24 | 北京浪潮数据技术有限公司 | 一种业务迁移方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
A Novel Automated Cloud Storage Tiering System through Hot-Cold Data Classification;Ying-Feng Hsu; Ryo Irie; Shuuichirou Murata; Morito Matsuoka;《2018 IEEE 11th International Conference on Cloud Computing (CLOUD)》;20180910;第492-499页 * |
计算机云存储中数据迁移问题的分析;计算机云存储中数据迁移问题的分析;《中国信息化》;20190620;第42-43页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112035062A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907254B2 (en) | Provisioning and managing replicated data instances | |
US11829263B2 (en) | In-place cloud instance restore | |
US11416346B2 (en) | Methods for securely facilitating data protection workflows and devices thereof | |
CN113169952B (zh) | 一种基于区块链技术的容器云管理系统 | |
US11016935B2 (en) | Centralized multi-cloud workload protection with platform agnostic centralized file browse and file retrieval time machine | |
US10055300B2 (en) | Disk group based backup | |
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
US11360867B1 (en) | Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event | |
US11003362B2 (en) | Disaster recovery practice mode for application virtualization infrastructure | |
US8423734B2 (en) | Making automated use of data volume copy service targets | |
US10452502B2 (en) | Handling node failure in multi-node data storage systems | |
CN112035062B (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
US8065561B1 (en) | Method and apparatus for automating device recovery using device configuration information | |
CN114281600A (zh) | 一种容灾备份和容灾恢复方法、装置、设备及存储介质 | |
CN111385334B (zh) | 一种数据配送方法、装置、设备及存储介质 | |
CN106844058B (zh) | 一种虚拟化资源的管理方法和装置 | |
CN117389713B (zh) | 存储系统应用业务数据迁移方法、装置、设备及介质 | |
US10929250B2 (en) | Method and system for reliably restoring virtual machines | |
CN116501544A (zh) | 一种数据库备份方法及系统、电子设备、存储介质 | |
CN111162951A (zh) | 一种nas集群节点恢复方法及装置 |
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: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai Applicant after: Star link information technology (Shanghai) Co.,Ltd. Address before: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai Applicant before: TRANSWARP TECHNOLOGY (SHANGHAI) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |