【系统架构设计】系统的可靠性分析与设计
【系统架构设计】系统的可靠性分析与设计
- 可靠性概述
- 系统故障模型
- 系统配置方法
- 组成结构
- 功能与应用场景
- 技术含量与成本
- 系统可靠性
可靠性概述
这里有几个名词要做好区分,可靠度是某一个时间区间内能正常运行的概率;可用度是某一时刻可运行的概率;可维度是指系统失效后,在时间间隔内被修复的概率;平均无故障时间是从0时开始到故障发生时,系统的持续运行时间的期望值;平均故障修复时间就是字面意思;平均故障间隔时间是平均无故障时间与平均故障修复时间的和。
系统故障模型
这里还是有几个名词要做好区分,失效是硬件的物理改变;故障是由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态;错误(差错)是故障在程序或数据结构中的具体位置。在建立故障模型时,一般说来,故障模型建立的级别越低,进行故障处理的代价也越低,但故障模型覆盖的故障也越少。如果在某一级别的故障模型不能包含故障的某些表现,则可以用更高一级别的模型来概括。
系统配置方法
容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术、服务器集群技术。其中:
-
单机容错技术主要有自检技术、冗余技术:自检技术指系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的部件;冗余技术中最常用的两种方法是重复线路和备份线路。
-
双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统、一个外接共享磁盘阵列柜、相应的双机热备份软件组成。其中的外接共享磁盘阵列柜也可以没有,而是在各自的服务器中采取 RAID(Redundant Array of Independent Disk,独立冗余磁盘阵列)卡。这部分在之前的博文【系统架构设计】安全性和保密性设计(二)中提到过,采用的是热备份技术,其中提及的ServHA就是相应的双机热备份软件,服务器系统可以用VMware搭建虚拟机实现。
-
服务器集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。一个集群包含多台(至少二台)共享数据存储空间的服务器。其中任何一台服务器运行应用时,应用数据被存储在共享的数据空间内。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管;当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管;当以上的任一故障发生时,客户都将能很快连接到其他应用服务器上。
就概念而言,双机热备份技术与服务器集群技术很像,但在组成结构、功能和应用场景、技术含量与成本上还有所区别:
组成结构
- 双机热备份技术通常涉及两台服务器,这两台服务器互为备份,在同一时间内只有一台服务器运行;
- 集群则是由多台服务器组成的,这些服务器共同工作以提供更高的可用性、可扩展性和负载均衡,可以支持多个应用同时运行,提供更高的数据处理能力和服务水平。
功能与应用场景
- 双机热备份技术主要应用于需要高可用性的单一应用场景,如数据库服务或关键业务应用,确保在单点故障情况下业务能够快速恢复;
- 集群则适用于需要处理大量数据或支持多个应用的高负载场景。通过将工作负载分布在多个节点上,集群能够提供更高的性能和更好的扩展性,适用于大型企业、电子商务网站等需要持续提供服务的应用。
技术含量与成本:
技术含量与成本
-
双机热备份技术相对简单,技术含量较低,适用于对系统重要性较低或用户对服务中断容忍度较高的场景。其成本相对较低,适合预算有限的组织。
-
集群则需要更高的技术含量和更复杂的配置,适用于对系统可用性要求极高、需要处理大量数据的应用。由于其复杂性和高性能要求,其成本通常高于双机热备份技术。
综上,简单看,其实可以把双机热备归类到集群中的一种去理解。
系统可靠性
主要是用于衡量可靠的标准,当前常用的模型有:
- 时间模型:要确定好在调试前软件中的故障数目,假设随着故障被纠正,故障数目就会逐渐减少,那么基于这种假设,就可以确定,在经过一段时间的调试后剩余故障的数目。
- 故障植入模型:是一个面向错误数的数学模型,其目的是以程序的错误数作为衡量可靠性的标准。
- 数据模型:在多次连续运行中,软件完成指定任务的概率。
常用的计算系统可靠性的强有力工具,有马尔柯夫模型和组合模型。为提高系统的可靠性,防止故障造成系统失效的两种技术是故障掩蔽技术和系统重组技术。其中,故障掩蔽技术是指防止故障造成差错的各种技术;系统重组技术是防止差错导致系统失效的各种技术。而这2种技术是达到容错的两种基本途径,它们又是建立在资源冗余的基础上的。而资源冗余又有硬件冗余、信息冗余、时间冗余、软件冗余 4 种形式。
当然,为了保证故障发生后,系统能尽快从错误状态恢复到某种逻辑一致的状态,系统就必须有备份与恢复 的机制。同时,我们之前在【系统架构设计】安全性和保密性设计(二)中提到过,部分病毒是无法消灭的,数据是无法恢复的,这时候备份凸显的很重要。而备份最常用的技术是数据转储 和建立日志文件 。
- 数据转储可分为静态转储和动态转储。
- 静态转储是指在系统中无事务时进行的转储操作;
- 动态转储是指转储操作与用户事务并发进行,而且转储工作不会影响事务的运行,但它不能保证副本中的数据正确有效。
- 建立日志文件是指把所有事务对系统的修改活动都登记下来。若发生了故障,对于静态转储,可以在重装备份副本之后,利用日志文件进行恢复,避免重新运行事务;对于动态转储,可以把转储得到的副本和转储期间的日志文件结合起来进行故障恢复,使系统恢复正常工作状态。
备份通常又可以分为联机备份和脱机备份两种方式。脱机备份也叫冷备份,是一种静态转储技术,备份系统所有的物理文件(控制文件、数据文件、重做日志和归档日志)和初始化文件;联机备份也叫热备份,是一种动态转储技术,由于只备份所需的文件,因而被看作是部分备份。