跳至主要內容

可靠性和容错技术

zheng大约 2 分钟可信可靠容错

为了提高计算机系统的可靠性,人们通过长期的研究总结出了两种技术:避错技术和容错技术。

一、避免技术

避错技术试图构造一个不包含故障的完美系统,其手段是采用精确的设计和质量控制方法尽量避免把故障引入系统。避错系统对元器件的制造工艺、精确的阈值有很高的要求。实际上做到这点是不可能的,因此避错技术对系统的可靠性的提高受到很大的限制。

二、容错技术

容错是指当出现某些指定的硬件故障或软件故障时,系统仍能执行规定的一组程序,或者说程序不会因为系统故障而中止或被修改,并且执行结果也不包含系统故障引起的差错。容错的思想是在系统体系结构上精心设计,利用外加资源的冗余技术掩蔽故障带来的影响,从而自动恢复系统或达到安全停机的目的。

所以我们重点研究容错技术:

容错的目标是降低或者最小化故障对系统可用性、可靠性、安全性、持续性等得影响。

容错按系统级别划分,分为三个级别,硬件容错、软件容错以及系统容错。硬件容错常用的方法包括使用冗余、多备份技术、增加内存、能源系统冗余等。硬件错误通常能够够在两个物理机上进行隔离处理。软件容错主要是正对软件的鲁棒性特征进行增强。常见的方法有checkpoint/restart,recovery blocks,N-Version Programs等。对于系统容错,设计一个独立与目标系统的子系统,通过定义定义规则来容忍系统缺陷。对缺陷的处理,有以下几类技术:
  1. 使用缺陷避免技术来避一些错误。使用成熟的设计方法论、验证以及确认方法论、代码检查、上线前的演练等;
  2. 在可能会存在的缺陷时,可以选择缺陷移除技术。例如测试、集成测试、回归测试、背靠背测试等;
  3. 或者是在遭遇错误是,缺陷回避的方式,是的潜在的缺陷不会被激活。常见技术是通过重新配置系统来达到避免的目标;
  4. 缺陷容忍技术,系统能够对缺陷进行侦测、诊断、孤立、覆盖、不错、以及系统恢复。使用以上多种技术混合。
上次编辑于:
贡献者: 郑天祺