一种分布式文件系统复制元数据的方法

文档序号:6335485阅读:141来源:国知局
专利名称:一种分布式文件系统复制元数据的方法
技术领域
本发明涉及计算机存储系统技术领域,具体涉及一种分布式文件系统复制元数 据的方法。
背景技术
文件元数据是计算机操作系统的核心数据,关系着存储系统的可靠性。一般文 件系统提供fsck等工具来检查并修复文件系统的一致性。这一过程的持续时间和文件 系统的规模成比例,因此大型文件系统需要很长的修复时间。有些文件系统(如专门为 Linux开发的Ext3/4)依靠日志技术极大地缩短了恢复时间。然而,这些文件系统只是解 决了本地磁盘的文件元数据一致性问题。在大规模的分布式系统下,如多达成百上千个 节点的分布式环境下,在这种情况下,为了提高系统的可靠性,要使用专用的存储系统 如分布式文件系统来管理文件元数据,并复制元数据形成副本来完成数据的冗余。传统 的文件系统只能保证一个节点发生崩溃时,该节点的元数据的一致性,不能保证该节点 和其他节点上的副本之间的一致性。因此,无法满足整个系统的文件元数据一致性的需 求。在这种背景下,该专利技术提出了基于日志的复制技术,有效的保证了多副本下文 件元数据的一致性。

发明内容
本发明目的是解决分布式系统下,如何有效的保证多副本的情况下元数据的一 致性。一种分布式文件系统复制元数据的方法,包含以下步骤A、多个元数据副本排定次序,按照次序充当主副本;B、充当主副本的元数据副本承担写操作,并生成日志记录;C、主副本生成的日志写给从副本保存,保存该日志的从副本达到一定数目后, 保存操作成功;D、从副本的日志记录集中应用到本地数据;E、如果主副本失效,第一从副本更新本地数据,转换为主副本,标记陈旧数据 后对外提供服务;如果从副本失效,主副本记录所有发往从副本日志的信息,当从副本 重新可用时,发往从副本,从副本写回日志后即完成更新。本发明的一种优选技术方案在于所述步骤C中主副本日志写给从副本采用 两阶段协议,所述两阶段协议是主从副本节点之间进行同步的一个通讯协议,当主副本 准备进行写回日志时,要询问从副本是否写回,这称之为预提交阶段;当其他节点可用 了,再进入第二阶段,即写回本地日志,并写回其他从副本。本发明通过将主副本的日志进行成批传送到从副本,缩短了元数据操作的关键 路径,并提高了应用效率;从副本在主节点失效后更新本地数据并承担主副本角色,标 记陈旧数据后即可对外提供服务,缩短了切换时间。


图1整个元数据服务器的框架图;图2加入2PC (两阶段协议)的元数据服务流程;图3从副本发生操作系统崩溃时,元数据的修复流程;图4主副本发生操作系统崩溃时,元数据的修复流程;图5从副本发生设备故障时,元数据的修复流程;图6主副本发生设备故障时,元数据的修复流程。
具体实施方案下面结合附图和具体实施方式
对本发明作进一步详细描述。在分布式文件系统 的元数据服务模块中,采用元数据复制方法的存储系统会采用多个副本,每个副本均位 于不同的节点上,图1是三副本的情况,系统按照编号,会指定第一从副本和第二从副 本。在系统正常的服务状态时,只有主副本提供元数据服务,其他的两个副本只做数据 的备份。当系统的主副本节点发生崩溃时,会分别让第一从副本和第二从副本来接管元 数据服务。为了提高系统的可靠性,在原有的文件服务系统中,增加了日志模块提高本 地的逻辑文件系统的可靠性。本专利在原有的分布式文件系统的元数据模块中,添加了 2PC(两阶段)传输协议,该协议保证元数据请求时,主从副本日志的一致;提出了主从 副本崩溃时,日志维护策略。从而使得采用节点间的元数据复制(即副本技术)成为可 能。下面详细进行介绍。2PC(两阶段协议)如图2是用于主从副本节点之间进行同步的一个通讯协议, 当主副本准备进行写回日志时,要询问从副本是否写回,这称之为预提交阶段。当其他 节点可用了,再进入第二阶段,即写回本地日志,并写回其他从副本,这样,主从副本 节点上的日志在每个时刻均保证是一致的,由于日志系统可以保证元数据是一致的,所 以最终主从副本上的元数据是一致的。当系统发生故障,分为主副本崩溃和从副本崩溃。根据崩溃的原因,又可以分 为是操作系统崩溃,还是设备故障(磁盘故障和日志设备故障)。下面分别进行阐述该发 明如何进行元数据恢复。1.从副本发生操作系统的崩溃如图3,主副本要将所有应该发往从副本日志的信息记录。当该从副本重新可以 服务时,再将日志发送。当该从副本重新可用时,主副本将日志信息再次发往重启的从 副本。当该从副本将日志写回磁盘后,主从副本上的元数据一致。2.主副本发生操作系统的崩溃如图4,当主副本发生崩溃时,系统根据配置情况,选择第一从副本接管元数据 请求。该从副本以后将以主副本的状态完成元数据服务。同时,要将所有的元数据请 求,记录到日志中。当主副本发生崩主副本可用时,要进行日志回传,主副本的日志写 回磁盘后,其元数据也即和从副本一致。从而,整个系统完成了元数据的一致。3.从副本磁盘发生故障如图5,磁盘发生故障时,其磁盘数据均不可信,使用日志也无法修复,因此需要将所有磁盘数据进行拷贝。4.主副本磁盘发生故障如图6,正如主副本节点操作系统故障,首先进行服务节点切换。然而,此时, 由于数据不可信,必须使用磁盘拷贝才能完成元数据的修复。
权利要求
1.一种分布式文件系统复制元数据的方法,其特征在于包含以下步骤A、多个元数据副本排定次序,按照次序充当主副本;B、充当主副本的元数据副本承担写操作,并生成日志记录;C、主副本生成的日志写给从副本保存,保存该日志的从副本达到一定数目后,保存 操作成功;D、从副本的日志记录集中应用到本地数据;E、如果主副本失效,第一从副本更新本地数据,转换为主副本,标记陈旧数据后对 外提供服务;如果从副本失效,主副本记录所有发往从副本日志的信息,当从副本重新 可用时,发往从副本,从副本写回日志后即完成更新。
2.如权利要求1所述一种分布式文件系统复制元数据的方法,其特征在于所述步 骤C中主副本日志写给从副本采用两阶段协议,所述两阶段协议是主从副本节点之间进 行同步的一个通讯协议,当主副本准备进行写回日志时,要询问从副本是否写回,这称 之为预提交阶段;当其他节点可用了,再进入第二阶段,即写回本地日志,并写回其他 从副本。
全文摘要
本发明提供了一种分布式文件系统复制元数据的方法。多个元数据副本排定次序,按照次序充当主副本;充当主副本的元数据副本承担写操作,并生成日志记录;主副本生成的日志写给从副本保存,保存该日志的从副本达到一定数目后,保存操作成功;从副本的日志记录集中应用到本地数据;如果主副本失效,第一从副本更新本地数据,转换为主副本,标记陈旧数据后对外提供服务;如果从副本失效,主副本记录所有发往从副本日志的信息,当从副本重新可用时,发往从副本,从副本写回日志后即完成更新。本发明通过将主副本的日志进行成批传送到从副本,缩短了元数据操作的关键路径,并提高了应用效率;从副本在主节点失效后更新本地数据并承担主副本角色,标记陈旧数据后即可对外提供服务,缩短了切换时间。
文档编号G06F17/30GK102024022SQ20101053655
公开日2011年4月20日 申请日期2010年11月4日 优先权日2010年11月4日
发明者张东阳, 张玉龙, 王勇, 苗艳超 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1