论文部分内容阅读
随着存储系统与网络技术的不断发展,存储系统在存储容量、性能、可扩展性等方面己取得了飞速的发展,但不可预计的故障、甚至是不可抗拒的故障现象也越来越多,因此提高存储系统的可靠性,保证业务的正常运行己经势在必行。而容灾存储系统也存在一些局限性,比如容灾主要是针对数据备份而言,确保应用不因为意外事件而带来重大损失,但不能保证应用不因为故障的发生而被中断;不能快速反映系统视图的变化。针对容灾存储系统的局限性,在研究故障检测技术的基础上,结合层次式设计,提出基于容灾存储系统的故障检测系统。故障检测系统是实现系统容灾的基础,他能保证当节点故障时应用会继续运行,并能使各节点间通组间通讯过快速生成统一视图。快速、高效、准确的故障检测是能否实现有效容灾的前提和保障。当前,故障检测仍存在一些需求尚未解决,如信息丢失、可扩展性、灵活性和动态性等。因此,有必要寻找一种能有效解决上述需求的故障检测方法。为了建立故障检测系统,在故障检测模型、故障检测系统的性能评价指标、故障检测系统构架和故障检测器等方面作了以下几方面的研究:1.随着容灾存储系统规模的不断扩大,故障检测服务也在向大规模的方向发展。针对大规模故障检测所遇到的问题,分析了大规模故障检测服务应该满足的特性和新的要求;研究了现有的实现大规模故障检测服务的方法;针对故障检测器需要解决的基本问题,对现有的实现方式进行了研究,并比较不同方法之间的差异及各种故障检测协议的优缺点。2.设计了一种基于容灾存储系统故障检测机制,有效缓解了负载对故障检测的影响,实现了快速、灵活的故障检测。当节点的加入、退出和崩溃时各控制节点可以通过组间通知方式生成一个统一的全局视图。3.设计了一种自适应故障检测算法——dAFD。dAFD通过估计预期到达时间来提供一个检测时间,动态地估算心跳消息超时时限,以适应系统状态的变化,减少故障检测服务的错误,并按照给出的QoS参数分析其性能。4.设计了一种权故障检测算法WFDA。WFDA输出一个权值,假如被检测的节点崩溃了,这个权值会随着时间的流逝而单调增长。如果这个被检测节点又恢复可用了,这个权值又要被初始化,应用程序会询问故障检测模块以获得相应节点的权值。每个应用程序都有自己的阈值,这些阈值反映了每个应用程序的需求。当应用程序的阈值大于权值时,故障检测器会认为被检测节点失效,反之则认为节点可用。这种故障检测算法的优点是能按照网络状态和应用程序的需要自动调整。5.对权故障检测算法进行了改进,将其称为QWFD故障检测算法,它能解决权故障检测算法需要消息行为符合正态分布的假设,以及权故障检测算法不能对服务质量做出定量的需求,应用范围也更加广泛。在权故障检测算法的实现中,应用程序设定的可信度阈值只能定性地刻画其QoS要求,但在实际应用中,大多数分布式应用程序都存在一些较为严格的时间上的约束,故更加需要故障检测器可以按照QoS评价指标支持准确的定量的QoS需求。权故障检测算法的实现,往往需要假设消息行为符合正态分布。但在复杂的大规模存储系统中,存在复杂的异步性、较长的传输延时、较高的消息丢失率,而且其基础结构是动态可配置的,大量的组件及其分布也是动态的,在这样的环境下,消息行为不可能一直符合某种特定的分布特性。因此,作为一个通用组件来设计的故障检测器不应对此作出任何假设。