12.5分布式系统的故障管理
1.分布式系统的故障问题、故障监视、故障分析、故障恢复
分布式系统是独立计算机的集合体,而这些计算机在系统用户看来像是一台计算机。几乎所有的大型软件系统势必是分布式的。一个分布式系统包含各种各样的应用程序、基本支持软件、借以运行的硬件以及连接分布式硬件的通信链路。分布式系统具有资源共享、多节点、并行性、异构性、多种协议、容错、安全性、消息传送、开放性、隔离和分散控制等特征。
分布式系统故障问题分为硬件系统故障、软件系统故障和应用软件系统故障。
针对分布式系统故障,首先应进行故障转移和恢复测试。故障转移和恢复测试指当主机软硬件发生灾难时,备份机器是否能够正常启动,是否仍能保证系统正常运行,这对于电信,银行等领域的软件系统是十分重要的。故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。
故障转移测试可确保对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地"顶替"发生故障的系统,以避免丢失任何数据或事务。恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出故障或无效的数据库指针和关键字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。一定要注意主备定时备份比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行。
因此,除具备测试集生成技术、功能测试技术和系统诊断技术等故障检测技术外,还应配备功能强大的网管系统;一旦出现故障,借用一些相关的日志信息和管理信息对进行故障定位和分析,重组系统的器件,以便替代失效的器件,或把失效的器件与系统的其他部分分隔开来,使用冗余系统,保证系统的处理能力;对于应用系统故障卷回恢复技术,保证系统的正常运行。
2.分布式系统中防止故障再现
在分布式系统中防止故障再现,应建立良好的故障维护档案;对于可能永久性故障,应调用诊断程序故障定位,采取纠正措施;对于可能的间隔性故障,通过备用硬件和软件以备修复;对于瞬时性故障,应通过改善环境条件的努力来减少故障。
扫码咨询 领取资料