CN114860378A - 一种文件系统迁移方法、装置、系统及其介质 - Google Patents

一种文件系统迁移方法、装置、系统及其介质 Download PDF

Info

Publication number
CN114860378A
CN114860378A CN202210466730.5A CN202210466730A CN114860378A CN 114860378 A CN114860378 A CN 114860378A CN 202210466730 A CN202210466730 A CN 202210466730A CN 114860378 A CN114860378 A CN 114860378A
Authority
CN
China
Prior art keywords
file
migration
placeholder
file system
container
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
CN202210466730.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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210466730.5A priority Critical patent/CN114860378A/zh
Publication of CN114860378A publication Critical patent/CN114860378A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

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

Abstract

本申请公开了一种文件系统迁移方法、装置、系统及其介质,涉及虚拟化技术领域,用于进行容器的数据迁移,针对目前的文件系统迁移中,在进行容器层的迁移时会出现重复迁移的问题,提供了一种文件系统迁移方法,利用Docker以增量形式修改文件的特点,通过确定出现修改文件的原部分所对应的镜像文件,以该镜像文件的ID、名称、大小和起始位置生成对应的占位符,从而使得目标节点可以根据该占位符从镜像层中获取对应的镜像文件以恢复文件的原部分。以占位符代替文件重复数据的迁移,进一步提高了文件系统的迁移效率,节省了网络资源开销。

Description

一种文件系统迁移方法、装置、系统及其介质
技术领域
本申请涉及虚拟化技术领域,特别是涉及一种文件系统迁移方法、装置、系统及其介质。
背景技术
容器是一种操作系统层面的虚拟化方式,相比作为另一种虚拟方式的虚拟机而言,容器有着启停迅速,内存占用少,性能高效的优势。因此相比于虚拟机,容器更加适合作为现有云计算的服务提供载体。且在目前的容器应用中,通常使用应用容器引擎(Docker)来实现。Docker能够支持多种文件系统,但这些文件系统都是一种联合文件系统,于Docker中,这些文件系统大体可以分成三层:只读层(又称镜像层),读写层(又称容器层)和联合挂载层。联合挂载就是容器对外提供的文件视角,只读层则是容器的镜像层,存储有文件,读写层则是真正的容器层。仅当出现需要对某个文件进行修改时(Docker中所有的修改都是以增量的方式被分发和更新),将镜像层中对应的文件拷贝到容器层中,进行相应的修改并存储。
目前在进行文件系统的迁移时,通常先迁移联合文件系统中的镜像层,将镜像层中的所有文件迁移到目标节点中;再迁移容器层,将容器层中发生修改的全部文件(容器层仅存在发生修改的文件)迁移至目标节点中;最后再根据迁移完成的容器层和镜像层,重建联合挂载层。
由于在Docker中,对文件的修改都以增量的方式来实现,因此,容器层中出现修改的文件相对于镜像层中的原文件,相当于为两部分,一部分为增量部分,为本次修改增量的数据,一部分为原部分,与镜像层中的原文件完全相同。所以,在进行文件系统迁移时,该文件的原部分就于镜像层和容器层的迁移中迁移了两次,出现了重复迁移的情况,不利于文件系统迁移效率的提升。
所以,现在本领域的技术人员亟需要一种文件系统迁移方法,解决于目前的文件系统迁移中,在进行容器层的迁移时会出现重复迁移的情况,不利于文件系统迁移效率提升的问题。
发明内容
本申请的目的是提供一种文件系统迁移方法、装置、系统及其介质,解决于目前的文件系统迁移中,在进行容器层的迁移时会出现重复迁移的情况,不利于文件系统迁移效率提升的问题。
为解决上述技术问题,本申请提供一种文件系统迁移方法,应用于被迁移节点侧,包括:
解析容器层中的各文件,将每一文件分成增量部分和原文件部分;
获取每一文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置,并据此确定与文件对应的占位符;
将文件的增量部分和对应的占位符迁移到目标节点中。
优选地,还包括:
获取网络附加存储的静态配置信息,并发送至目标节点;
当接收到网络附加存储迁移完成信号之后,卸载与网络附加存储迁移完成信号对应的网络附加存储的挂载;其中,网络附加存储迁移完毕信号由目标节点在网络附加存储迁移完成后生成,并返回至被迁移节点。
优选地,还包括:
获取各远程盘文件对应绑定的PVC对象、以及PVC对象对应的容器挂载路径;
发送PVC对象和容器挂载路径至目标节点;
当接收到远程盘文件迁移完毕信号后,卸载对应的远程盘文件的挂载。
为解决上述技术问题,本申请还提供一种文件系统迁移方法,应用于目标节点侧,包括:
接收各文件的增量部分和与文件一一对应的占位符;其中,占位符包括文件对应的镜像文件的ID、名称、大小和起始位置;
根据占位符确定镜像层中与文件对应的镜像文件;
根据镜像文件和增量部分,确定文件。
优选地,还包括:
接收静态配置信息;其中,静态配置信息与网络附加存储对应;
根据静态配置信息挂载对应的网络附加存储;
生成网络附加存储迁移完成信号,并发送至被迁移节点。
优选地,还包括:
接收PVC对象和容器挂载路径;
根据PVC对象和容器挂载路径挂载对应的远程盘文件于节点中;
当所有与PVC对象和容器挂载路径对应的远程盘文件被挂载后,发送远程盘文件迁移完毕信号至被迁移节点。
为解决上述技术问题,本申请还提供一种文件系统迁移装置,包括:
解析模块,用于解析容器层中的各文件,将每一文件分成增量部分和原文件部分;
获取模块,用于获取每一文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置,并据此确定与文件对应的占位符;
迁移模块,用于将文件的增量部分和对应的占位符迁移到目标节点中。
优选地,还包括:
静态配置信息获取模块,用于获取网络附加存储的静态配置信息,并发送至目标节点。
网络附加存储卸载模块,用于当接收到网络附加存储迁移完成信号之后,卸载与网络附加存储迁移完成信号对应的网络附加存储的挂载;其中,网络附加存储迁移完毕信号由目标节点在网络附加存储迁移完成后生成,并返回至被迁移节点。
远程盘文件信息获取模块,用于获取各远程盘文件对应绑定的PVC对象、以及PVC对象对应的容器挂载路径,并发送PVC对象和容器挂载路径至目标节点。
远程盘文件卸载模块,用于当接收到远程盘文件迁移完毕信号后,卸载对应的远程盘文件的挂载。
为解决上述技术问题,本申请还提供一种文件系统迁移装置,包括:
接收模块,用于接收各文件的增量部分和与文件一一对应的占位符;其中,占位符包括文件对应的镜像文件的ID、名称、大小和起始位置;
第一确定模块,用于根据占位符确定镜像层中与文件对应的镜像文件;
第二确定模块,用于根据镜像文件和增量部分,确定文件。
优选地,还包括:
静态配置信息接收模块,用于接收静态配置信息;其中,静态配置信息与网络附加存储对应。
网络附加存储挂载模块,用于根据静态配置信息挂载对应的网络附加存储。
第一信号发送模块,用于生成网络附加存储迁移完成信号,并发送至被迁移节点。
远程盘文件信息接收模块,用于接收PVC对象和容器挂载路径。
远程盘文件挂载模块,用于根据PVC对象和容器挂载路径挂载对应的远程盘文件于节点中。
第二信号发送模块,用于当所有与PVC对象和容器挂载路径对应的远程盘文件被挂载后,发送远程盘文件迁移完毕信号至被迁移节点。
为解决上述技术问题,本申请还提供一种文件系统迁移系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的文件系统迁移的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的文件系统迁移的步骤。
本申请提供的一种文件系统迁移方法,针对Docker容器在进行文件修改时都是以增量的方式实现的特点,在文件系统进行容器层的迁移时,将修改后的文件解析成增量部分和原部分两部分;其中,增量部分正常迁移至目标节点中,而原部分则以占位符代替,占位符由镜像文件的ID、名称、大小和起始位置确定,包括上述信息,所以目标节点在接收到占位符时可以根据占位符从镜像层中获取对应的镜像文件还原进行修改的文件的原部分,从而完成容器层的迁移。这种方式无需在进行文件系统迁移时,对于容器层和镜像层中同一文件的相同部分(即原部分)进行重复迁移,而使以包含镜像文件的ID、名称、大小和起始位置的占位符所代替,从而避免了大量数据的重复迁移,节省了网络资源开销也降低了迁移时间,进一步提高了文件系统迁移的效率。
本申请提供的文件系统迁移装置、系统及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种文件系统迁移方法的流程图;
图2为本发明提供的另一种文件系统迁移方法的流程图;
图3为本发明提供的另一种文件系统迁移方法的流程图;
图4为本发明提供的一种文件系统迁移装置的结构图;
图5为本发明提供的另一种文件系统迁移装置的结构图;
图6为本发明提供的一种文件系统迁移系统的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种文件系统迁移方法、装置、系统及其介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
服务迁移作为云服务商最普遍的操作之一,在主机维护、负载均衡、服务升级运维等方面有着重要的地位。又随着容器使用范围越来越广,容器已经逐步取代虚拟机成为提供资源和服务的载体,对结合现有数据中心生态的容器迁移方案的需求也越来越迫切。
在目前的容器迁移中,第一步是完成对Pod(由一个或多个容器组成,是Kubernetes系统中的最小部署单元)静态配置信息的收集,并把这些静态配置信息整理成另一种标记语言(YAML Ain't Markup Language,yaml)文件,用于目标节点上Pod的创建。
Kubernetes:简称为K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用。其目的是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。
之后,进行容器镜像和文件系统的迁移。首先,先将被迁移节点的Pod中每个Docker镜像都迁移至目标节点中(也即先进行镜像层的迁移),并于目标节点中创建Pod。
其次,进行容器层应用的迁移,目前通常采用将容器层的所有文件都迁移至目标节点的方法。但是,由上述可知,Docker容器存在支持的文件系统中对于文件的修改都是采用增量的方式来实现的特点。所以对于容器层的文件中,每一文件的包括与镜像层对应的镜像文件完全相同的一部分(即上述的原部分)、以及增量更新的一部分(即上述的增量部分)。考虑到在进行镜像层的迁移中,已经迁移过镜像文件,也即目标节点中已经存在原部分对应的文件,所以在进行容器层的迁移时,无需重复迁移文件的原部分,以实现减少文件系统迁移过程中的数据重复迁移的问题,进一步提高迁移效率。
因此,本申请提供一种文件系统迁移方法,用于提供一种在进行容器层文件的迁移时,通过包含文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置的占位符,代替对应文件进行迁移,并在迁移后于目标节点中重建原文件的方法,实现避免数据重复迁移的效果。
本申请所提供的一种文件系统迁移方法分为应用在被迁移节点侧和目标节点侧两侧的步骤,下面根据应用侧的不同,于两方面分别进行说明。
应用于被迁移节点侧,如图1所示,本方法包括:
S11:解析容器层中的各文件,将每一文件分成增量部分和原文件部分。
由上述可知,对于Docker所支持的文件系统中,对于文件的修改是采用增量的方式来进行的,所以可以通过解析文件来获取其增量部分和原部分。
S12:获取每一文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置,并据此确定与文件对应的占位符。
上述已经说明仅当在对文件进行修改时,才将镜像层的文件拷贝到容器层进行增量修改,所以容器层中存在的文件必然在镜像层中存在对应的镜像文件,获取对应的镜像文件的ID、名称、大小和起始位置,并生成占位符,以便于当文件被迁移至目标节点中,可以根据占位符于镜像层中找到对应的镜像文件还原文件的原部分。
S13:将文件的增量部分和对应的占位符迁移到目标节点中。
在上述步骤之后,容器层中的每个文件即转换成了占位符+增量部分的形式,将其中的增量部分不做操作的直接迁移至目标节点中,覆盖到对应位置,而占位符再被迁移到目标节点后,目标节点可以以此来还原对应文件的原部分,以得到完整的文件,最终实现容器层文件的增量迁移,避免容器层文件数据的重复迁移。
另一方面,应用于目标节点侧,如图1所示,本方法包括:
S21:接收各文件的增量部分和与文件一一对应的占位符。
其中,由上述可知,占位符是根据与文件对应的镜像文件的ID、名称、大小和起始位置所生成的,应包含上述信息,以便于目标节点根据占位符于镜像层中获取到对应的镜像文件。
S22:根据占位符确定镜像层中与文件对应的镜像文件。
在根据占位符找到镜像层中与文件对应的镜像文件后,将其拷贝到容器层,作为对应文件的原部分。
S23:根据镜像文件和增量部分,确定文件。
经过上述的步骤之后,目标节点的容器层中存在每一文件的增量部分和原部分,其中,增量部分是直接迁移得到的,原部分是根据占位符获取镜像文件拷贝得到的。将增量部分和原部分进行拼接,即可得到完整的对应文件,从而完成容器层的前一部分,进而,可以根据容器层和镜像层重新建立联合挂载层。
由上述可知,Docker能够支持多种文件系统,如aufs、overlay、overlay2等文件系统,下面以overlay文件系统为例进行本申请所提供的方法的进一步说明:
overlay文件系统有upper层(对应于上述的只读层,也即镜像层)和lower层(对应于上述的读写层,也即容器层)之分,最终对外提供的文件视图是两者结合的merge层(对应于上述的联合挂载层),merge层中的文件通过硬链接的方式连接到真实的文件。所以只需要收集容器upper层文件的增量部分,并且以占位符的方式来代表文件的原部分(与merge层的只读文件完全相同的部分)。在目标节点上通过upper层文件数据和占位符恢复merge层的文件内容,并重新挂载merge目录,以此实现减少不必要的文件数据传输的目的。由于在文件系统迁移过程中,以文件占位符的方式代替了只读层的静态文件,只迁移了读写层的文件内容,而联合挂载层是根据读写层和只读层的内容共同映射而来的,在目标节点中重新构建文件内容,实现了高效的文件系统迁移。
本申请所提供的一种文件系统迁移方法,利用Docker自身的以增量形式修改文件的特点,通过确定出现修改文件的原部分所对应的镜像文件,以该镜像文件的ID、名称、大小和起始位置来生成对应的占位符,目标节点可以根据该占位符从镜像层中获取对应的镜像文件以恢复原部分,从而实现以占位符代替文件重复数据的迁移,进一步提高了文件系统的迁移效率,同时还节省了网络资源开销。
另外,在上述说明中,已经说明在进行容器迁移的过程中,第一步即为收集Pod的静态配置信息,这些静态配置信息用于实现目标节点中Pod的创建,以使目标节点中的Pod和被迁移节点中的Pod在资源方面完全相同,包括物理配置、内存大小以及存储。
相应的,若目标节点中的Pod挂载有网络附加存储,那么静态配置信息中也存在相应的网络附加存储的信息,当这些静态配置信息以yaml文件的形式被迁移到目标节点后,目标节点可以根据OCI(一种应用程序开发接口)规范,将其解包以获得目录,目标节点可以将这些目录作为数据卷绑定到容器内,以实现网络附加存储的挂载。
所以,基于上述目的,本实施例还提供一种优选的实施方案,应用于被迁移节点侧,如图2所示,本方法还包括:
S14:获取网络附加存储的静态配置信息。
S15:发送网络附加存储的静态配置信息至目标节点。
网络附加存储对应的静态配置信息可以与其他静态配置信息一起,整理成yaml文件的形式,被迁移到目标节点。
S16:当接收到网络附加存储迁移完成信号之后,卸载与网络附加存储迁移完成信号对应的网络附加存储的挂载。
其中,网络附加存储迁移完毕信号由目标节点在网络附加存储迁移完成后生成,并返回至被迁移节点。卸载网络附加存储的挂载也即删除其对应的数据卷与容器的绑定关系。卸载被迁移节点侧的网络附加存储,以避免同一网络附加存储同时挂载在多个容器中,导致在迁移过程中影响数据的同一性。
对应的,与目标节点侧,如图2所示,本方法还包括:
S24:接收静态配置信息。
其中,静态配置信息与网络附加存储对应。且在实际应用中,静态配置信息多以yaml文件被迁移至目标节点中,目标节点在获取yaml文件,需要根据OCI规范进行解包,以获得对应的目录。
S25:根据静态配置信息挂载对应的网络附加存储。
根据OCI规范解包yaml文件后,可获得目录,将网络附加存储对应的目录作为数据包绑定到容器内,即实现了网络附加存储的挂载。
S26:生成网络附加存储迁移完成信号,并发送至被迁移节点。
经上述步骤完成网络附加存储的挂载后,生成网络附加存储迁移信号发送至被迁移节点侧,以告知网络附加存储迁移完成,便于被迁移节点卸载对应的网络附加存储,避免影响其数据的同一性。
本实施例提供一种在文件系统迁移过程中,被迁移节点存在网络附加存储挂载时,对于网络附加存储的迁移方法,具体通过将网络附加存储对应的静态配置信息发送至目标节点侧的方式,以便于目标节点能够据此重新将对应的目录绑定在相应的容器上,实现网络附加存储的迁移。
此外,Docker除去可以使用本地的存储来实现容器实例无关的数据持久化存储之外,还支持使用远程数据盘来实现持久化存储。本地的存储通常以数据卷(Volume)方式实现,使用远程盘的方式则是使用持久卷(Persistent Volume,PV)挂载到远程盘,PVC(Persistent Volume Claim,一种对于PV资源的请求)绑定到对应的PV,Pod挂载到PVC中来使用。对于远程盘中的文件,只需要记录下Pod使用的PVC与具体的容器挂载路径,在创建Pod的过程中恢复挂载即可。
因此,本实施例针对在进行文件系统迁移时,被迁移节点挂载有远程盘文件的情况,提供一种优选的实施方案,该优选方案同样包括被迁移节点侧和目标节点侧两种实施方式。
其中,于被迁移节点侧,如图3所示,本方法还包括:
S17:获取各远程盘文件对应绑定的PVC对象、以及PVC对象对应的容器挂载路径。
S18:发送PVC对象和容器挂载路径至目标节点。
S19:当接收到远程盘文件迁移完毕信号后,卸载对应的远程盘文件的挂载。
于目标节点侧,如图3所示,本方法还包括:
S27:接收PVC对象和容器挂载路径。
S28:根据PVC对象和容器挂载路径挂载对应的远程盘文件于目标节点中。
S29:当所有与PVC对象和容器挂载路径对应的远程盘文件被挂载后,发送远程盘文件迁移完毕信号至被迁移节点。
另外,需要进行说明的是,对于同一侧而言,本实施例所提供的优选方案与上述实施例所提供的优选方案之间并无先后顺序关系,也不一定在一次文件迁移过程中都发生,也即:对于被迁移节点侧,步骤S14和S15与步骤S16和S17之间无先后顺序关系,于一次文件迁移过程中步骤S14和S15与步骤S16和S17不一定都发生;对于目标节点侧,步骤S24至S26与步骤S27至S29之间无先后顺序关系,于一次文件迁移过程中步骤S24至S26与步骤S27至S29不一定都发生。
本实施例针对被迁移节点使用远程数据盘来实现持久化存储的情况,提供一种远程盘文件的迁移方法,通过将远程盘文件对应的PVC对象和容器挂载路径发送至目标节点中,以使目标节点可以根据上述信息将远程盘文件进行挂载,以实现远程盘文件的迁移。
在上述实施例中,对于一种文件系统迁移方法进行了详细描述,本申请还提供一种文件系统迁移装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种文件系统迁移装置,如图4所示,包括:
解析模块31,用于解析容器层中的各文件,将每一文件分成增量部分和原文件部分。
获取模块32,用于获取每一文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置,并据此确定与文件对应的占位符。
迁移模块33,用于将文件的增量部分和对应的占位符迁移到目标节点中。
优选地,还包括:
静态配置信息获取模块,用于获取网络附加存储的静态配置信息,并发送至目标节点。
网络附加存储卸载模块,用于当接收到网络附加存储迁移完成信号之后,卸载与网络附加存储迁移完成信号对应的网络附加存储的挂载;其中,网络附加存储迁移完毕信号由目标节点在网络附加存储迁移完成后生成,并返回至被迁移节点。
远程盘文件信息获取模块,用于获取各远程盘文件对应绑定的PVC对象、以及PVC对象对应的容器挂载路径,并发送PVC对象和容器挂载路径至目标节点。
远程盘文件卸载模块,用于当接收到远程盘文件迁移完毕信号后,卸载对应的远程盘文件的挂载。
基于功能模块的角度,本实施例还提供另一种文件系统迁移装置,如图5所示,包括:
接收模块41,用于接收各文件的增量部分和与文件一一对应的占位符;其中,占位符包括文件对应的镜像文件的ID、名称、大小和起始位置。
第一确定模块42,用于根据占位符确定镜像层中与文件对应的镜像文件。
第二确定模块43,用于根据镜像文件和增量部分,确定文件。
优选地,还包括:
静态配置信息接收模块,用于接收静态配置信息;其中,静态配置信息与网络附加存储对应。
网络附加存储挂载模块,用于根据静态配置信息挂载对应的网络附加存储。
第一信号发送模块,用于生成网络附加存储迁移完成信号,并发送至被迁移节点。
远程盘文件信息接收模块,用于接收PVC对象和容器挂载路径。
远程盘文件挂载模块,用于根据PVC对象和容器挂载路径挂载对应的远程盘文件于节点中。
第二信号发送模块,用于当所有与PVC对象和容器挂载路径对应的远程盘文件被挂载后,发送远程盘文件迁移完毕信号至被迁移节点。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的一种文件系统迁移装置,利用Docker自身的以增量形式修改文件的特点,通过获取模块确定出现修改文件的原部分所对应的镜像文件,以该镜像文件的ID、名称、大小和起始位置来生成对应的占位符,目标节点可以通过第一确定模块根据该占位符从镜像层中获取对应的镜像文件,以通过第一确定模块恢复原部分,从而实现以占位符代替文件重复数据的迁移,进一步提高了文件系统的迁移效率,同时还节省了网络资源开销。
图6为本申请另一实施例提供的一种文件系统迁移系统的结构图,如图6所示,一种文件系统迁移系统包括:存储器50,用于存储计算机程序;
处理器51,用于执行计算机程序时实现如上述实施例一种文件系统迁移方法的步骤。
本实施例提供的一种文件系统迁移系统可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的一种文件系统迁移方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于一种文件系统迁移方法等。
在一些实施例中,一种文件系统迁移系统还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。
本领域技术人员可以理解,图6中示出的结构并不构成对一种文件系统迁移系统的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的一种文件系统迁移系统,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:一种文件系统迁移方法。
本实施例所提供的一种文件系统迁移系统,通过处理器执行保存在存储器中的程序,以实现确定出现修改文件的原部分所对应的镜像文件,以该镜像文件的ID、名称、大小和起始位置来生成对应的占位符,目标节点根据该占位符从镜像层中获取对应的镜像文件,以恢复原部分,从而实现以占位符代替文件重复数据的迁移,避免数据重复迁移,提高文件系统的迁移效率的同时,还节省了网络资源开销。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是被迁移节点侧对应的方法、也可以是目标节点侧对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所提供的一种计算机可读存储介质,当存储在其中的程序被执行时,可以实现确定出现修改文件的原部分所对应的镜像文件,以占位符来表示对应的镜像文件的ID、名称、大小和起始位置,目标节点根据该占位符可以从镜像层中获取相应的镜像文件,以恢复文件的原部分,从而避免数据重复迁移,提高文件系统的迁移效率的同时,还节省了网络资源开销。
以上对本申请所提供的一种文件系统迁移方法、装置、系统及其介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种文件系统迁移方法,其特征在于,应用于被迁移节点侧,包括:
解析容器层中的各文件,将每一所述文件分成增量部分和原文件部分;
获取每一所述文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置,并据此确定与所述文件对应的占位符;
将所述文件的所述增量部分和对应的所述占位符迁移到目标节点中。
2.根据权利要求1所述的文件系统迁移方法,其特征在于,还包括:
获取网络附加存储的静态配置信息,并发送至所述目标节点;
当接收到网络附加存储迁移完成信号之后,卸载与所述网络附加存储迁移完成信号对应的所述网络附加存储的挂载;其中,所述网络附加存储迁移完毕信号由所述目标节点在网络附加存储迁移完成后生成,并返回至所述被迁移节点。
3.根据权利要求1所述的文件系统迁移方法,其特征在于,还包括:
获取各远程盘文件对应绑定的PVC对象、以及所述PVC对象对应的容器挂载路径,并发送所述PVC对象和所述容器挂载路径至所述目标节点;
当接收到所述远程盘文件迁移完毕信号后,卸载对应的所述远程盘文件的挂载。
4.一种文件系统迁移方法,其特征在于,应用于目标节点侧,包括:
接收各文件的增量部分和与所述文件一一对应的占位符;其中,所述占位符包括所述文件对应的镜像文件的ID、名称、大小和起始位置;
根据所述占位符确定镜像层中与所述文件对应的所述镜像文件;
根据所述镜像文件和所述增量部分,确定所述文件。
5.根据权利要求4所述的文件系统迁移方法,其特征在于,还包括:
接收静态配置信息;其中,所述静态配置信息与网络附加存储对应;
根据所述静态配置信息挂载对应的所述网络附加存储;
生成网络附加存储迁移完成信号,并发送至被迁移节点。
6.根据权利要求4所述的文件系统迁移方法,其特征在于,还包括:
接收PVC对象和容器挂载路径;
根据所述PVC对象和所述容器挂载路径挂载对应的远程盘文件于所述目标节点中;
当所有与所述PVC对象和所述容器挂载路径对应的所述远程盘文件被挂载后,发送所述远程盘文件迁移完毕信号至被迁移节点。
7.一种文件系统迁移装置,其特征在于,包括:
解析模块,用于解析容器层中的各文件,将每一所述文件分成增量部分和原文件部分;
获取模块,用于获取每一所述文件于镜像层中对应的镜像文件的ID、名称、大小和起始位置,并据此确定与所述文件对应的占位符;
迁移模块,用于将所述文件的所述增量部分和对应的所述占位符迁移到目标节点中。
8.一种文件系统迁移装置,其特征在于,包括:
接收模块,用于接收各文件的增量部分和与所述文件一一对应的占位符;其中,所述占位符包括所述文件对应的镜像文件的ID、名称、大小和起始位置;
第一确定模块,用于根据所述占位符确定镜像层中与所述文件对应的镜像文件;
第二确定模块,用于根据所述镜像文件和所述增量部分,确定所述文件。
9.一种文件系统迁移系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任意一项所述的文件系统迁移的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的文件系统迁移的步骤。
CN202210466730.5A 2022-04-29 2022-04-29 一种文件系统迁移方法、装置、系统及其介质 Pending CN114860378A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210466730.5A CN114860378A (zh) 2022-04-29 2022-04-29 一种文件系统迁移方法、装置、系统及其介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210466730.5A CN114860378A (zh) 2022-04-29 2022-04-29 一种文件系统迁移方法、装置、系统及其介质

Publications (1)

Publication Number Publication Date
CN114860378A true CN114860378A (zh) 2022-08-05

Family

ID=82634877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210466730.5A Pending CN114860378A (zh) 2022-04-29 2022-04-29 一种文件系统迁移方法、装置、系统及其介质

Country Status (1)

Country Link
CN (1) CN114860378A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292051A (zh) * 2022-09-26 2022-11-04 城云科技(中国)有限公司 一种gpu资源pod的热迁移方法、装置及应用

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292051A (zh) * 2022-09-26 2022-11-04 城云科技(中国)有限公司 一种gpu资源pod的热迁移方法、装置及应用
CN115292051B (zh) * 2022-09-26 2023-01-03 城云科技(中国)有限公司 一种gpu资源pod的热迁移方法、装置及应用

Similar Documents

Publication Publication Date Title
US10216431B2 (en) Consistent data retrieval in a multi-site computing infrastructure
US10936423B2 (en) Enhanced application write performance
US11093148B1 (en) Accelerated volumes
US10725976B2 (en) Fast recovery using self-describing replica files in a distributed storage system
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
CA2851200A1 (en) Synchronizing updates across cluster filesystems
CN110018878B (zh) 一种分布式系统数据加载方法以及装置
US20200326872A1 (en) Data co-location in a hierarchical storage management (hsm) system
CN111651219A (zh) 一种多模块项目配置文件管理的方法及设备
US11150981B2 (en) Fast recovery from failures in a chronologically ordered log-structured key-value storage system
CN114860378A (zh) 一种文件系统迁移方法、装置、系统及其介质
US20200310922A1 (en) Restoring operation of data storage systems at disaster recovery sites
US20200311033A1 (en) Distributed system control for on-demand data access in complex, heterogenous data storage
WO2023217165A1 (en) De-duplication of data in executable files in a container image
US10552404B2 (en) Retrospective snapshots in log-structured storage systems
CN115586872A (zh) 一种容器镜像管理方法、装置、设备及存储介质
US11640339B2 (en) Creating a backup data set
US11163636B2 (en) Chronologically ordered log-structured key-value store from failures during garbage collection
US20220011938A1 (en) System and method for selectively restoring data
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制
US11983147B2 (en) Deduplicating data integrity checks across systems
US20230131665A1 (en) Updating virtual images of computing environments
US11687416B2 (en) Data backup optimization
US11409615B2 (en) Cloning storage volumes from backup
US20240086370A1 (en) Representing container images in an image registry

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