[发明专利]一种分布式存储系统中元数据容错恢复方法无效
申请号: | 201210072863.0 | 申请日: | 2012-03-20 |
公开(公告)号: | CN102662795A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 崔赢;颜秉珩;张明富;张俊;张现忠 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 存储系统 中元 数据 容错 恢复 方法 | ||
技术领域
本发明涉及信息存储领域,具体涉及一种分布式存储系统中元数据容错恢复方法。
背景技术
传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展,所以越来越多的企业开始使用分布式存储系统来存放所有数据。
然而,对于大多数分布式文件系统而言,通常将元数据与数据两者独立开来,分别存放在不同的服务器中,从而获得更高的系统扩展性和I/O并发性。元数据服务器记录数据逻辑名字与物理信息的映射关系,包含文件访问控制所需要的所有块数据,对文件进行访问时,先向元数据服器务请求查询对应的元数据,然后通过获得的元数据进行后续的与块服务器读写等I/O操作。受到服务器自身硬件技术的局限和技术人员的操作因素,元数据服务器无法做到100%的无故障发生。存储着海量数据资料的元数据服务器一旦发生故障,将直接导致整个分布式存储系统内存储的海量数据丢失,造成企业的严重数据灾难。数据可靠性面临着巨大的挑战,而此时一种可靠有效的元数据容错恢复方案就显得尤为重要。
通常传统的元数据容错恢复方案是将大部分元数据存放在元数据服务器或备份服务器的本地磁盘上,只有少部分元数据存放在元数据服务器的内存中以满足即时对元数据请求性能的需要和元数据可靠性的需要,这样带来的问题就是元数据服务器的性能会受到很大的影响,同时如果元数据服务器发生故障,对于内存上存放的这部分元数据由于无法及时写入磁盘而造成丢失,其后果也是比较严重的。然而,在日益增长的高性能商业存储领域中,对存储系统的性能和可靠性等要求较高,在现有分布式存储系统元数据容错恢复方案的基础上,提出一种可靠高效的元数据容错恢复方案就显得很必要了。
发明内容
本发明的目的是提供一种分布式存储系统中元数据容错恢复方法。
本发明的目的是按以下方式实现的,数据容错恢复步骤如下:
元数据服务器会每隔一段时间将内存中的元数据写入到元数据文件中,如果发生掉电,那么从最后一次执行将内存中的元数据写入到文件操作到掉电时刻之间进行的元数据操作,会因为没有从内存写入到文件而丢失,所以采用changelog的机制,为元数据生成命名为changelog.*.dfs的文件,其中,*表示数字N,这些文件以log的方式将每次的元数据操作记录下来,这些文件可称为元数据改变日志文件,以下简称为日志文件,它们存储了过去的N 小时的文件改变,N最大值的数值是由元数据服务器配置文件中的BACK_LOGS参数设置的,默认为50,即如果元数据服务进程已经运行了50个小时,那么在数据路径下会有changelog.1.dfs~changelog.50.dfs 50个文件,数字越小,表示最近最新的日志文件;
当元数据服务器掉电重启后,在执行元数据服务器启动之前需要进行错误恢复,具体措施为需要将最近的一个日志文件changelog.*.dfs 并入主元数据文件metadata.dfs中;
changelog主要功能是如何将元数据操作以log的形式记录到日志文件中,在dfs元数据服务器进程中主要有三个函数:changelog_init、changelog_rotate和changelog;
changelog_init函数完成changelog机制的初始化工作,从配置文件中获取BACK_LOGS值来设置全局变量BackLogsNumber,该变量表示changelog.*.dfs的最多个数,另一个全局变量fd=NULL,该变量是要操作的changelog.*.dfs的文件描述符;
changelog_rotate函数主要完成重命名changelog.*.dfs文件,关闭fd描述符对应的文件;若BackLogsNumber>0,则将所有的日志文件重命名,命名方法就是将changelog.*.dfs中*代表的数字N加1,新名中的N值最大为BackLogsNumber;若BackLogsNumber<=0,则删除掉changelog.0.dfs,表示不需要进行changelog;向所有的备份服务器发送消息MATOML_METACHANGES_LOG通知它们需要重命名changelog_ml.*.dfs,即备份服务器上的日志文件也需要重命名;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210072863.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置