分布式系统节点异常检测和恢复研究

来源 :大科技·D版 | 被引量 : 0次 | 上传用户:xiaohai_wl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:大规模分布式系统设计的一个重要目标是节省成本,因此性价比较高的PC服务器大量的应用在分布式系统中。这些服务器的性价比很高,但是故障率也较高,这就要求分布式系统能够在软件层面上自动容错,当分布式系统中的节点出错时,系统能够自动检测和发现,将故障节点的数据和服务迁移到其他正常节点上。本文主要研究分布式系统如何将这些异常自动检测处理并恢复。
  关键词:分布式系统;异常检测;异常恢复
  中图分类号:TP393.08 文献标识码:A 文章编号:1004-7344(2018)33-0316-01
  随着社交网络、移动互联网、电子商务等技术的不断发展,大量互联网用户产生了海量的数据,为了处理这些数据,各大互联网公司都采用了一系列的分布式计算机系统[1]进行用户数据的存储、处理和分析。分布式系统通常由大量的PC组成,这些PC服务器性能优异,价格低廉,有着良好的成本优势,但是也存在故障率高的问题。由大量PC服务器组成的分布式系统,节点出现故障失效是极其常见的,为了在节点出现故障时,不对整个分布式系统的正常运行产生影响,分布式系统应该有能力在节点发生故障时将故障检测出来,然后进行处理,将故障节点的数据和服务迁移[2]到其他节点上。本文主要对分布式系统可能出现的节点异常类型进行分析,对如何检测异常和恢复异常进行研究。
  1 分布式系统中的异常类型
  在分布式系统中,通常将一台服务器称为一个节点,节点与节点之间通过网络进行通信,但是,服务器节点是不可靠的,网络也是不可靠的,我们首先分析分布式系统中的各种异常类型。
  1.1 节点宕机
  造成节点宕机的原因很多,可能是停电、操作系统出错、内存出错、系统提供资源耗尽等等。节点宕机随时可能发生,当节点重新启动后,节点内存中的数据完全丢失。因此,分布式系统设计时要考虑如何设计通过读取存储中的数据,将节点恢复到一个一致的状态,继续提供服务。
  1.2 网络出错
  分布式系统的节点之间是通过网络通信的。引发网络错误的原因可能是消息丢失、消息乱序、网络包数据错误等。
  对于常见的IP网络来说,网络层不保证数据报文的可靠传递,在网络拥堵,设备异常,路由变动的情况下都有可能发生报文丢失。因此,分布式系统的网络协议必须要能够处理网络报文丢失的情况。
  消息乱序是指分布式系统中的节点发送的网络数据报文有时不是按照发送时的顺序依次到达目的节点。通常由于IP网络采用的存储转发机制、路由的不确定性等原因,数据报文乱序也是一种常见的网络异常。这就要求设计分布式系统网络协议时,需要有机制来处理网络消息的乱序问题,使得无效的、过期的网络消息不影响系统的正确性。
  网络中传输的数据报文可能在传输的过程中,因为信号干扰,网络设备异常等原因,导致传输的数据出错,分布式系统的网络协议应该能够检测出出错的网络报文,并且将出错的网络报文丢弃,并且通知数据报文的源节点重新传输该数据报文,直到成功接收该报文。
  1.3 磁盘故障
  在分布式系统中,大量的磁盘用于存储海量的用户数据,这些磁盘负担这高强度的读写操作,因此,磁盘故障是一种发生概率较高的异常。磁盘故障主要分为两种:磁盘损坏和数据错误。磁盘损坏时会丢失存储在上面的数据,分布式系统设计时需要将数据存储到多个节点,一个节点出错,也能够从其他节点上恢复数据。另外,分布式系统也要能够检测出磁盘数据错误。
  2 分布式系统中的异常检测和恢复
  2.1 节点宕机检测和恢复
  对于节点宕机,采用心跳检测[3]是一种常用的方法,分布式系统中的每一个节点,每隔一个固定的时间,向管理节点发送一个网络心跳数据包,管理节点就认为该节点出于可用状态。如果管理节点超过一定时间,没有收到某个节点的心跳包,则检测出该节点处于不可用状态,然后将该节点的数据从其他节点进行恢复,将该节点提供的服务迁移到其他节点上,保证分布式系统继续正常服务。
  运维人员恢复发生宕机的节点并将其重启后,节点失去了所有的内存信息,可以通过读取磁盘上的持久化数据,将节点的状态恢复到宕机前的一个一致的状态,继续提供服务。
  2.2 网络故障检测和恢复
  对于网络故障中的消息丢失错误,可以采用确认机制来保证正确传输。节点发送的数据报文,只有收到了目的节点的确认才认为报文正确发送。
  对于网络故障中的消息乱序错误[4],可以采用数据报文序号机制。对每个数据报文编号,如果目标节点收到的报文的序号较期望收到的数据报文序号大,则将其保存在内存中,待收到之前的报文后,再将其中的数据取出来;如果收到的报文的序号较期望收到的数据报文序号小,则直接将该报文丢弃。
  对于网络故障中的数据出错,可以采用校验和来检测。对传输的数据报文计算校验和并存放到数据报文后,目标节点接收到报文后計算校验和,如果和报文中的校验和一致,则报文数据是正确的,否则报文数据出错,要求源节点重传数据。
  2.3 磁盘故障检测和恢复
  对于磁盘损坏故障,节点如果发现其上的磁盘无法进行读写操作,分布式系统可以采用出错节点向管理节点报告磁盘出错的方法检测错误。管理节点将该节点标记为不可用状态,然后将该节点中的数据和服务迁移到其他正常工作的节点上,保证分布式系统可用性。
  对于磁盘数据错误故障,可以采用对数据计算校验和的方法检测。如果节点对数据计算校验和出错,那么节点可以将错误报告管理节点,管理节点首先删除该节点上的错误数据,之后从其他节点上将备份的数据恢复到错误节点上,这样数据错误就被更正了。
  3 结 论
  分布式系统中采用了大量的PC服务器,这些服务器性价比优异,但是存在故障率高的问题,为了保证分布式系统持续对外提供服务不中断,分布式系统必须能够在软件层面自动检测系统中节点出现的故障并自动恢复。本文介绍的分布式系统中故障的类型以及检测和恢复方法都是实践中可以采用的方法。
  参考文献
  [1]崔星灿,禹晓辉,刘 洋,吕朝阳.分布式流处理技术综述.计算机研究与发展,2015,12.
  [2]慈 松,于 冰,韩言妮.虚拟网络的服务迁移技术研究.中兴通讯技术,2014,6.
  [3]陈 诚,陈海涛.一种自适应的容灾系统心跳检测算法.计算机工程与科学,2008,05.
  [4]赵丽莉,孙 伟.TCP协议乱序数据包处理算法综述.软件工程师,2010,7.
  收稿日期:2018-10-13
其他文献
期刊
国土资源部门的网站不但是政府部门向社会提供一些公共服务的重要窗口,也同时是广大用户同国土资源部门进行互动、交流的一个极为重要的平台。强化国土资源部门的网站建设,不
摘 要:本文展开对数字电子技术在网络中的应用管窥研究,其主要目的是在于了解当前环境下,数字电子技术的发展现状及其在网络中的应用情况。在经济快速发展、互联网不断更新的基础上,信息网络的发展空间日益扩大,并且在人们生产生活中占据十分重要的地位。现阶段,数字电子技术也被广泛的应用到网络中,并在极大程度上方便了人们的生活。为此,本文在研究中,首先对网络及数字电子技术进行分析,同时重点研究数字电子技术在网络
《数学课程标准》(下简称《课标》)指出:义务教育阶段的数学教育目标是面向全体学生,实现:人人学有价值的数学;人人都能获得必要的数学;不同的人在数学上得到不同的发展。其最终目的是促进学生的全面、持续、和谐发展,并为学生的终身可持续发展奠定良好的基础。那么,如何让数学课堂成为学生持续发展的土壤呢?  一、树立“以促进学生全面、持续、和谐发展为本位”的教学思想  《课标》指出:义务教育阶段的数学课程应使
我国在成为世界制造业第一大国的同时,工业用地政策上也形成了以招拍挂市场机制为核心,以最低价标准、工业项目建设用地控制指标、禁止和限制供地目录等调控手段为辅的工业用地
目的:观察雷公藤片对类风湿关节寒湿痹阻证(寒痹)、湿热痹阻证(热痹)两种不同证型的临床疗效.方法:选取80例类风湿关节炎患者,其中40例寒痹,40例热痹,随机分为对照组寒痹、对