云环境下分布式文件系统可靠性测试套件的制作方法

文档序号:6633179阅读:258来源:国知局
云环境下分布式文件系统可靠性测试套件的制作方法
【专利摘要】云环境下分布式文件系统可靠性测试套件,涉及云计算领域。本发明是为了解决现有的分布式系统中缺少对分布式文件系统可靠性测试的套件,不能对分布式系统中出现的问题提前做准备,使得系统可靠性低的问题。本发明所述的管理模块用于根据测试人员的操作命令调用相应的节点故障注入模块、数据操作失效故障注入模块和数据效验故障注入模块,并收集节点故障注入模块、数据操作失效故障注入模块和数据效验故障注入模块的故障注入结果通过用户主界面反馈给测试人员,用户主界面用于处在测试人员和管理模块之间,提供人机交互界面、接收使用者命令和反馈故障注入结果。它可用于云环境下分布式文件系统的故障注入。
【专利说明】云环境下分布式文件系统可靠性测试套件

【技术领域】
[0001] 本发明涉及云环境下分布式文件系统测试套件。属于云计算领域。

【背景技术】
[0002] 随着云计算技术的不断发展和普及,云存储的概念也应运而生,而分布式文件系 统是云存储的核心基础,承载着数据存储的重任。另外一方面,随着社会信息化程度的提 高,对于信息和数据的依赖性也越来越大,也就是说数据的可靠性越来越重要。而容错能力 是衡量一个系统可靠性的重要标准,系统的容错能力越强,所能提供的服务也就越可靠。因 此,对云环境下分布式文件系统的容错能力进行评测具有重要的研究意义。
[0003] 基于对 HDFS (Hadoop Distributed File System)和 TFS (Taobao File System) 这两种典型的云环境下分布式文件系统的体系架构、读写流程和内部的容错机制进行深入 的研究,通过对比它们的相同点,提出了一套云环境下分布式文件系统容错能力测试方法, 设计并实现了一套故障注入工具,分别针对云环境下分布式文件系统的节点和进程、文件 和目录、数据校验机制、内部互联的网络进行故障注入,模拟现实应用中可能出现的各种类 型的故障。


【发明内容】

[0004] 本发明是为了解决现有的分布式系统中缺少对分布式文件系统可靠性测试的套 件,不能对分布式系统中出现的问题提前做准备,使得系统可靠性低的问题。现提供云环境 下分布式文件系统可靠性测试套件。
[0005] 云环境下分布式文件系统可靠性测试套件,它还包括节点故障注入模块、数据操 作失效故障注入模块、数据效验故障注入模块、管理模块和用户主界面,
[0006] 所述节点故障注入模块用于模拟节点出现的CPU寄存器故障,并根据管理模块的 命令将故障注入分布式文件系统中,同时采集节点出现的CPU寄存器故障注入结果
[0007] 数据操作失效故障注入模块用于模拟各种类型的节点的关键文件出现数据操作 失败故障,并根据管理模块的命令将故障注入分布式文件系统中,同时采集各种类型的节 点的关键文件出现数据操作失败故障注入结果,
[0008] 数据效验故障注入模块用于模拟各种不同类型节点的校验文件无法访问、校验内 容错误的故障,并根据管理模块的命令将故障注入分布式文件系统中,同时采集各种不同 类型节点的校验文件无法访问、校验内容错误的故障注入结果,
[0009] 管理模块用于根据测试人员的操作命令调用相应的故障注入模块,并接收相应故 障注入模块的故障注入结果通过用户主界面反馈给测试人员,
[0010] 用户主界面用于提供人机交互界面、接收使用者命令和反馈故障注入结果。
[0011] 本发明的有益效果为:本发明根据使用者的操作命令调用节点故障注入模块、数 据操作失效故障注入模块和数据效验故障注入模块,并收集节点故障注入模块、数据操作 失效故障注入模块和数据效验故障注入模块的故障注入结果通过用户主界面反馈给使用 者,为分布式文件系统中可能出现的问题做准备,保证了系统的可靠性。

【专利附图】

【附图说明】
[0012] 图1为【具体实施方式】一所述的云环境下分布式文件系统可靠性测试套件的总体 结构图,
[0013] 图2为【具体实施方式】二所述的基于内核态的寄存器软件故障注入工具结构图,
[0014] 图3为Kprobe内核调试机制工作原理图,
[0015] 图4为基于内核态的寄存器软件故障注入流程图,
[0016] 图5为HDFS文件操作失效故障注入原理图,
[0017] 图6为数据操作失效故障注入工具流程图,
[0018] 图7为Hadoop故障注入框架整体结构图,
[0019] 图8为校验文件异常故障注入流程图,
[0020] 图9为HDFS工作原理图,
[0021] 图10为TFS体系架构图,
[0022] 图11为TFS读数据流程图。

【具体实施方式】

【具体实施方式】 [0023] 一:参照图1具体说明本实施方式,本实施方式所述的云环境下分 布式文件系统可靠性测试套件,它包括分布式文件系统,分布式式文件系统包括HDFS分布 式文件系统和TFS分布式文件系统,其特征在于,它还包括节点故障注入模块1、数据操作 失效故障注入模块2、数据效验故障注入模块3、管理模块4和用户主界面5,
[0024] 所述节点故障注入模块1用于模拟节点出现的CPU寄存器故障,并根据管理模块 4的命令将故障注入分布式文件系统中,同时采集节点出现的CPU寄存器故障注入结果
[0025] 数据操作失效故障注入模块2用于模拟各种类型的节点的关键文件出现数据操 作失败故障,并根据管理模块4的命令将故障注入分布式文件系统中,同时采集各种类型 的节点的关键文件出现数据操作失败故障注入结果,
[0026] 数据效验故障注入模块3用于模拟各种不同类型节点的校验文件无法访问、校验 内容错误的故障,并根据管理模块4的命令将故障注入分布式文件系统中,同时采集各种 不同类型节点的校验文件无法访问、校验内容错误的故障注入结果,
[0027] 管理模块4用于根据测试人员的操作命令调用相应的故障注入模块,并接收相应 故障注入模块的故障注入结果通过用户主界面反馈给测试人员,
[0028] 用户主界面5用于提供人机交互界面、接收使用者命令和反馈故障注入结果。
[0029] 本实施方式中,节点失效故障可能是由系统断电、硬件故障、软件错误等多种原因 造成的,进程失效故障多是由于数据流、控制流错误等引起的。而对于这两种实际应用中具 有代表性的故障,均可由系统内的CPU寄存器内容错误直接引发。

【具体实施方式】 [0030] 二:参照图2具体说明本实施方式,本实施方式是对 一所述的云环境下分布式文件系统可靠性测试套件作进一步说明,本实施方式中,节点故 障注入模块1包括信息交互模块1-1、故障信息配置模块1-2、故障注入模块1-3、故障触发 模块(1-4)和故障结果回收模块1-5,
[0031] 所述信息交互模块1-1用于实现与管理模块4的信息交互,信息交互模块1-1接 收管理模块4发送的用户配置参数,然后发送给故障信息配置模块1-2,同时还将故障结果 回收模块1-5接收的故障结果发送给管理模块4,
[0032] 故障信息配置模块1-2用于解析从交互模块接收的用户配置参数,并将所述用户 配置参数发送给故障触发模块1-4,同时根据所述用户配置参数设定相应的故障注入参数, 然后将设定的故障注入参数传送给故障注入模块1-3 ;
[0033] 故障注入模块1-3用于接收故障注入参数,并根所述故障注入参数完成相应的故 障注入操作;
[0034] 故障触发模块1-4用于根据用户配置参数检测时钟中断信号,当所述时钟中断信 号满足用户设定的故障触发条件时,则触发故障注入模块进行故障注入;
[0035] 故障结果回收模块1-5用于采集被注入故障的分布式平台所产生的故障注入结 果,并将结果以内核日志的方式保存到交互模块1-1中的系统日志文件系统中。
[0036] 本实施方式中,节点和进程故障注入工具的实现:基于内核态的寄存器故障注入 工具实现的节点和进程故障注入工具中的故障信息数据结构:

【权利要求】
1. 云环境下分布式文件系统可靠性测试套件,其特征在于,它还包括节点故障注入模 块(1)、数据操作失效故障注入模块(2)、数据效验故障注入模块(3)、管理模块(4)和用户 主界面巧), 所述节点故障注入模块(1)用于模拟节点出现的CPU寄存器故障,并根据管理模块(4) 的命令将故障注入分布式文件系统中,同时采集节点出现的CPU寄存器故障注入结果, 数据操作失效故障注入模块(2)用于模拟各种类型的节点的关键文件出现数据操作 失败故障,并根据管理模块(4)的命令将故障注入分布式文件系统中,同时采集各种类型 的节点的关键文件出现数据操作失败故障注入结果, 数据效验故障注入模块(3)用于模拟各种不同类型节点的校验文件无法访问、校验内 容错误的故障,并根据管理模块(4)的命令将故障注入分布式文件系统中,同时采集各种 不同类型节点的校验文件无法访问、校验内容错误的故障注入结果, 管理模块(4)用于根据测试人员的操作命令调用相应的故障注入模块,并接收相应故 障注入模块的故障注入结果通过用户主界面反馈给测试人员, 用户主界面(5)用于提供人机交互界面、接收使用者命令和反馈故障注入结果。
2. 根据权利要求1所述的云环境下分布式文件系统可靠性测试套件,其特征在于,节 点故障注入模块(1)包括信息交互模块(1-1)、故障信息配置模块(1-2)、故障注入模块 (1-3)、故障触发模块(1-4)和故障结果回收模块(1-5), 所述信息交互模块(1-1)用于实现与管理模块(4)的信息交互; 故障信息配置模块(1-2)用于解析从交互模块接收的用户配置参数,并将所述用户配 置参数发送给故障触发模块(1-4),同时根据所述用户配置参数设定相应的故障注入参数, 然后将设定的故障注入参数传送给故障注入模块(1-3); 故障注入模块(1-3)用于接收故障注入参数,并根所述故障注入参数完成相应的故障 注入操作; 故障触发模块(1-4)用于根据用户配置参数检测时钟中断信号,当所述时钟中断信号 满足用户设定的故障触发条件时,则触发故障注入模块进行故障注入; 故障结果回收模块(1-5)用于采集被注入故障的分布式平台所产生的故障注入结果, 并将结果W内核日志的方式保存到交互模块(1-1)中的系统日志文件系统中。
3. 根据权利要求1所述的云环境下分布式文件系统可靠性测试套件,其特征在于,数 据操作失效故障注入模块包括分布式文件系统故障参数配置模块、控制模块、故障注入模 块、监控模块和结果回收模块, 分布式文件系统故障参数配置模块用于根据管理模块(4)的命令设定分布式文件系 统故障注入参数,故障注入参数包括故障注入的目标节点、目标文件位置、故障类型和故障 类型的相关参数; 控制模块用于完成接收分布式文件系统故障数配置模块和监控模块的信息,控制故障 注入模块向分布式文件系统中注入相应的数据操作故障的功能; 故障注入模块用于接收控制模块传递的信息,从故障库中选取对应的故障类型进行注 入; 监控模块用于检测分布式文件系统的日志信息,将检测的分布式文件系统的日志信息 提交 给控制模块; 结果回收模块用于收集分布式文件系统故障条件下的测试结果,并将结果提交给管理 模块(4)。
4. 根据权利要求1所述的云环境下分布式文件系统可靠性测试套件,其特征在于,数 据效验故障注入模块包括校验文件的异常故障注入模块和校验值异常的故障注入模块, 校验文件的异常故障注入模块用于根据管理模块(4)的命令选定的故障注入的校验 文件,对校验文件进行位置移动、文件权限修改和文件内容修改操作,模拟分布式文件系统 中的校验文件由于某些原因造成校验文件无法访问或校验内容错误故障, 校验值异常的故障注入模块用于根据校验值计算对应的API处插入故障代码,当满足 故障触发条件时,对相关API应用程序编程接口计算返回的校验值进行数据位翻转,从而 构造错误的校验值模拟故障的发生,将校验值模拟故障注入结果给管理模块(4)。
5. 根据权利要求1所述的云环境下分布式文件系统可靠性测试套件,其特征在于,节 点故障注入模块(1)用于模拟分布式文件系统中节点出现的CPU寄存器故障导致的应用进 程失效故障的过程为: 在系统时钟中断发生时修改化doop平台相关进程的当前寄存器状态的方法进行故障 注入,使用时钟中断作为故障注入触发的条件,当设定的整数倍的时钟中断请求发生时,通 过在内核态修改Hadoop平台相关进程寄存器内容映射在内存中的镜像来对寄存器硬件故 障进行模拟,当中断请求返回时,操作系统内核在恢复进程上下文现场时,将改写的内核堆 找寄存器内容恢复给化doop平台相关进程,从而实现寄存器故障的注入。
6. 根据权利要求1所述的云环境下分布式文件系统可靠性测试套件,其特征在于,节 点故障注入模块(1)用于模拟分布式文件系统中节点整体若机故障的过程为: 对系统关键进程进行故障注入操作,导致操作系统崩溃,从而导致计算系统的不可用, 该种故障类型能够模拟化doop平台集群中节点若机故障的发生,达到节点失效故障注入 的目的。
【文档编号】G06F11/36GK104461865SQ201410614048
【公开日】2015年3月25日 申请日期:2014年11月4日 优先权日:2014年11月4日
【发明者】左德承, 冯懿, 张展, 刘宏伟, 封威, 董剑, 温东新, 罗丹彦, 舒艳君, 赵志龙, 胡泽, 冯丹青, 吴娜, 潘道华, 李文浩, 王旭 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1