基于文件目录的热迁移方法及装置制造方法及图纸

技术编号:15639355 阅读:50 留言:0更新日期:2017-06-15 23:01
本发明专利技术公开了一种基于文件目录的热迁移方法,应用于分布式文件系统,包括:创建待迁移文件目录下各文件的本地副本;采用异步操作迁移数据,将本地副本中的第一部分数据从迁出端迁移到迁入端,并在数据迁移过程中对前台IO进行隔离;当完成第一部分数据的迁移时,阻塞前台IO,并采用同步操作迁移数据,将本地副本中的第二部分数据从迁出端迁移到迁入端;将待迁移文件目录下各文件的访问路径从迁出端切换到迁入端,其中,异步操作迁移的总数据量大于同步操作迁移的总数据量。本发明专利技术还公开了一种基于文件目录的热迁移装置。本发明专利技术在实现了大量数据热迁移的同时,达到了对前台IO影响最小的效果。

【技术实现步骤摘要】
基于文件目录的热迁移方法及装置
本专利技术涉及分布式文件系统领域,尤其涉及基于文件目录的热迁移方法及装置。
技术介绍
现有基于文件系统的分布式存储系统中,随着读写量的增多或者出现扩容缩容行为时,系统中文件就会出现分布不均衡,因而需要进行热迁移。而现有基于分布式文件系统的热迁移技术中,需要同时对多个待迁移文件的副本进行同步写,因而不能实现与前台IO进行隔离,从而造成在漫长的数据迁移过程中持续影响前台IO性能。
技术实现思路
本专利技术的主要目的在于提供一种基于文件目录的热迁移方法及装置,旨在解决现有热迁移技术中未与前台IO进行隔离,进而使得在漫长的数据迁移过程中,持续影响前台IO性能的技术问题。为实现上述目的,本专利技术提供一种基于文件目录的热迁移方法,应用于分布式文件系统,所述基于文件目录的热迁移方法包括:创建待迁移文件目录下各文件的本地副本;采用异步操作迁移数据,将所述本地副本中的第一部分数据从迁出端迁移到迁入端,并在数据迁移过程中对前台IO进行隔离;当完成所述第一部分数据的迁移时,阻塞前台IO,并采用同步操作迁移数据,将所述本地副本中的第二部分数据从所述迁出端迁移到所述迁入端;将所述待迁移文件目录下各文件的访问路径从所述迁出端切换到所述迁入端,其中,异步操作迁移的总数据量大于同步操作迁移的总数据量。优选地,采用后台主动创建与写时复制被动创建的并行创建方式,对所述待迁移文件目录下各文件进行全量快照,以创建对应的本地副本;其中,在所述后台主动创建方式下,若所述待迁移文件目录所在磁盘的读写IO队列由非空变换为空,则启动进行所述本地副本的创建,若该磁盘的读写IO队列由空变换为非空,则暂停进行所述本地副本的创建;在所述写时复制被动创建方式下,若前台IO对未创建本地副本的文件进行读写,则在该文件被修改之前,完成该文件的本地副本的创建。优选地,所述在数据迁移过程中对前台IO进行隔离包括:在数据迁移过程中,对前台IO队列进行监控;若前台IO队列由非空变换为空,则启动进行数据迁移,若前台IO队列由空变换为非空,则暂停进行数据迁移。优选地,所述基于文件目录的热迁移方法还包括:在采用异步操作迁移数据之前,将写操作的日志状态设置为异步记录日志状态,在采用同步操作迁移数据之前,将写操作的日志状态设置为同步记录日志状态。优选地,采用租约机制回收所述分布式文件系统的客户端写权限,以供阻塞前台IO。进一步地,为实现上述目的,本专利技术还提供一种基于文件目录的热迁移装置,应用于分布式文件系统,所述基于文件目录的热迁移装置包括:创建模块,用于创建待迁移文件目录下各文件的本地副本;异步迁移模块,用于采用异步操作迁移数据,将所述本地副本中的第一部分数据从迁出端迁移到迁入端,并在数据迁移过程中对前台IO进行隔离;同步迁移模块,用于当完成所述第一部分数据的迁移时,阻塞前台IO,并采用同步操作迁移数据,将所述本地副本中的第二部分数据从所述迁出端迁移到所述迁入端;切换模块,用于将所述待迁移文件目录下各文件的访问路径从所述迁出端切换到所述迁入端,其中,异步操作迁移的总数据量大于同步操作迁移的总数据量。优选地,采用后台主动创建与写时复制被动创建的并行创建方式,对所述待迁移文件目录下各文件进行全量快照,以创建对应的本地副本;其中,所述创建模块还用于:在所述后台主动创建方式下,若所述待迁移文件目录所在磁盘的读写IO队列由非空变换为空,则启动进行所述本地副本的创建,若该磁盘的读写IO队列由空变换为非空,则暂停进行所述本地副本的创建;在所述写时复制被动创建方式下,若前台IO对未创建本地副本的文件进行读写,则在该文件被修改之前,完成该文件的本地副本的创建。优选地,所述异步迁移模块还用于:在数据迁移过程中,对前台IO队列进行监控;若前台IO队列由非空变换为空,则启动进行数据迁移,若前台IO队列由空变换为非空,则暂停进行数据迁移。优选地,所述基于文件目录的热迁移装置还包括:设置模块,用于在采用异步操作迁移数据之前,将写操作的日志状态设置为异步记录日志状态,在采用同步操作迁移数据之前,将写操作的日志状态设置为同步记录日志状态。优选地,采用租约机制回收所述分布式文件系统的客户端写权限,以供阻塞前台IO。本专利技术中,将数据迁移过程分为异步阶段与同步阶段两个部分,其中异步阶段迁移绝大部分数据量,但不会对前台IO业务造成阻塞,而同步阶段迁移数据量少,但会瞬间阻塞前台IO业务,本专利技术采用上述方式可以在保证大量数据迁移的情况下,达到对前台IO影响最小的效果。附图说明图1为本专利技术基于文件目录的热迁移方法中分布式文件系统一实施例的逻辑关系示意图;图2为本专利技术基于文件目录的热迁移方法一实施例的流程示意图;图3为基于文件目录的热迁移装置第一实施例的功能模块示意图;图4为基于文件目录的热迁移装置第二实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。参照图1,图1为本专利技术基于文件目录的热迁移方法中分布式文件系统一实施例的逻辑关系示意图。如图1所示,本实施例中具体在上层的分布式文件系统之下,增加一层透明的迁移逻辑,整个迁移过程由服务侧进而控制,对客户端透明,因此,本实施例中的迁移逻辑与客户端的迁移逻辑互不干扰。MDS表示元数据服务器,主要负责监控物理节点的状态和按负载情况计算数据布局以及:1.定时采集各brick的负载情况,按负载重新计算布局OSD-Brick映射视图;2.统一保存brick状态,包括up/down/in/out;3.发放/回收对OSD的写权限;4.MDS采用Zk集群,保障可靠性。Brick表示物理节点,对应一个磁盘。主要用于:1.管理迁入/迁出任务;2.每个brick对应一个BrickProxy。OSD表示逻辑节点,对应磁盘上一个文件目录,主要用于具体执行写开关和缓冲IO。基于上述分布式文件系统的逻辑关系,提出本专利技术基于文件目录的热迁移方法及装置的各实施例。参照图2,图2为本专利技术基于文件目录的热迁移方法一实施例的流程示意图。为实现大量数据热迁移的同时,达到对前台IO影响最小的目的,本实施例中,基于文件目录的热迁移方法包括:步骤S10,创建待迁移文件目录下各文件的本地副本;本实施例中,为进行数据的热迁移,因此,需要先创建待迁移数据的副本。本实施例中具体基于文件目录进行数据热迁移,因此,需要创建待迁移文件目录下各文件的本地副本。比如待迁移文件目录下有五个文件,则需要创建该五个文件所各自对应的总共五个本地副本,也即在本地迁出端创建对应的镜像文件。需要进一步说明的是,本实施例中的文件目录下的文件通常都是小文件(数据量小于4M),因此,在迁移效率上较现有方式效率更高。同时,本实施例中并不限定本地副本的创建方式,具体根据实际需要进行设置。步骤S20,采用异步操作迁移数据,将本地副本中的第一部分数据从迁出端迁移到迁入端,并在数据迁移过程中对前台IO进行隔离;步骤S30,当完成第一部分数据的迁移时,阻塞前台IO,并采用同步操作迁移数据,将本地副本中的第二部分数据从迁出端迁移到迁入端;本实施例中,具体基于前台IO操作以区分同步操作与异步操作。若与前台IO的写操作同步而迁移数据本文档来自技高网...
基于文件目录的热迁移方法及装置

【技术保护点】
一种基于文件目录的热迁移方法,应用于分布式文件系统,其特征在于,所述基于文件目录的热迁移方法包括:创建待迁移文件目录下各文件的本地副本;采用异步操作迁移数据,将所述本地副本中的第一部分数据从迁出端迁移到迁入端,并在数据迁移过程中对前台IO进行隔离;当完成所述第一部分数据的迁移时,阻塞前台IO,并采用同步操作迁移数据,将所述本地副本中的第二部分数据从所述迁出端迁移到所述迁入端;将所述待迁移文件目录下各文件的访问路径从所述迁出端切换到所述迁入端,其中,异步操作迁移的总数据量大于同步操作迁移的总数据量。

【技术特征摘要】
1.一种基于文件目录的热迁移方法,应用于分布式文件系统,其特征在于,所述基于文件目录的热迁移方法包括:创建待迁移文件目录下各文件的本地副本;采用异步操作迁移数据,将所述本地副本中的第一部分数据从迁出端迁移到迁入端,并在数据迁移过程中对前台IO进行隔离;当完成所述第一部分数据的迁移时,阻塞前台IO,并采用同步操作迁移数据,将所述本地副本中的第二部分数据从所述迁出端迁移到所述迁入端;将所述待迁移文件目录下各文件的访问路径从所述迁出端切换到所述迁入端,其中,异步操作迁移的总数据量大于同步操作迁移的总数据量。2.如权利要求1所述的基于文件目录的热迁移方法,其特征在于,采用后台主动创建与写时复制被动创建的并行创建方式,对所述待迁移文件目录下各文件进行全量快照,以创建对应的本地副本;其中,在所述后台主动创建方式下,若所述待迁移文件目录所在磁盘的读写IO队列由非空变换为空,则启动进行所述本地副本的创建,若该磁盘的读写IO队列由空变换为非空,则暂停进行所述本地副本的创建;在所述写时复制被动创建方式下,若前台IO对未创建本地副本的文件进行读写,则在该文件被修改之前,完成该文件的本地副本的创建。3.如权利要求1所述的基于文件目录的热迁移方法,其特征在于,所述在数据迁移过程中对前台IO进行隔离包括:在数据迁移过程中,对前台IO队列进行监控;若前台IO队列由非空变换为空,则启动进行数据迁移,若前台IO队列由空变换为非空,则暂停进行数据迁移。4.如权利要求1所述的基于文件目录的热迁移方法,其特征在于,所述基于文件目录的热迁移方法还包括:在采用异步操作迁移数据之前,将写操作的日志状态设置为异步记录日志状态,在采用同步操作迁移数据之前,将写操作的日志状态设置为同步记录日志状态。5.如权利要求1至4中任一项所述的基于文件目录的热迁移方法,其特征在于,采用租约机制回收所述分布式文件系统的客户端写权限,以供阻塞前台IO。6.一种基于文件目录的热迁移装置,应用于...

【专利技术属性】
技术研发人员:曾震
申请(专利权)人:深圳市深信服电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1