1、v和系统故障及其后果有关的质量属性v定义:?平均修复时间)(平均正常工作时间平均正常工作时间理解?可理解为计算机在任一时刻正常工作的概率。可理解为计算机在任一时刻正常工作的概率。v这个属性对于一些安全性非常关键的系统是这个属性对于一些安全性非常关键的系统是十分重要的十分重要的v一般会采用某种形式的一般会采用某种形式的“冗余冗余”相关概念:相关概念:v错误错误v故障故障可被观察到可用性战术阻止错误发展成故障;或者把错误的影响限制在一定范围内,从而使修复成为可能。可用性战术错误所屏蔽的错误或所作的修复v检测错误检测错误v错误恢复错误恢复v命令命令/响应响应v心跳心跳v异常异常可以用层级形式组织和命
2、令/响应战术的区别是?在一个进程中操作在不同进程中操作v异常是对程序接口隐含假设的一种违反异常是对程序接口隐含假设的一种违反v例如:例如:vPublic class void Transfer(Account from,Account to,Decimal amount)Transfer方法接受两个Account对象和一个Decimal数值,改值表示在两个账号之间转账的数额。调用该方法,会有一些很明显的假设:调用该方法,会有一些很明显的假设:From参数指向一个有效的参数指向一个有效的Account,并且该帐户的余额大于指定的转账金额;,并且该帐户的余额大于指定的转账金额;但从该方法的原型中不
3、清楚:但从该方法的原型中不清楚:Amount必须是一个正数?必须是一个正数?若若from和和to参数指向了同一个账号会发生什么?在同一个账户内进行转帐是否合法?参数指向了同一个账号会发生什么?在同一个账户内进行转帐是否合法?如果如果amount参数超出了类设计者设定的范围怎么办?参数超出了类设计者设定的范围怎么办?转账金额为转账金额为0合法吗?合法吗?v理想的情况:理想的情况:v实际情况:实际情况:设计人员完全考虑了上述假设,并将它们写在设计文档中,开发人员据此可以设计人员完全考虑了上述假设,并将它们写在设计文档中,开发人员据此可以高效开发出代码高效开发出代码文档中对上述假设考虑不全,代码因此
4、也未对相应情况处理;文档中对上述假设考虑不全,代码因此也未对相应情况处理;在程序运行时才发现存在违例的情况;在程序运行时才发现存在违例的情况;?一个程序如何通知调用它一个程序如何通知调用它的程序它所作的假设被违反了呢?的程序它所作的假设被违反了呢?答案是:抛出异常抛出异常vTryvvCatch(Exception)vvFinallyv该块中的代码是确保要执行的代码vVoid ReadData(String pathname)vFileStream fs=null;vTryv fs=new FileStream(pathname,Filemode.Open);v .vvCatch(overflo
5、wException)v /存放overflowException异常的处理代码vvFinallyv if(fs!=null)fs.Close();/确保文件被关闭vvv不必在异常出现的地方捕获或检测它们,这不必在异常出现的地方捕获或检测它们,这会极大的简化编码工作,我们不必为每一个会极大的简化编码工作,我们不必为每一个可能失败的语句添加错误监测和校正代码。可能失败的语句添加错误监测和校正代码。v表决表决v主动冗余主动冗余v被动冗余被动冗余v备件备件vShadow操作操作v状态再同步状态再同步v检查点检查点/回滚回滚冗余处理器表决者组件冗余组件冗余组件冗余组件输入值输出值用一定的表决算法进行表
6、决;多数规则或首选组件如果检测到单处理器的异常行为,则终止它或重起它。v 同时响应使用第一个组件的响应处在相同的状态切换备份Old dataNew datav一般用于硬件一般用于硬件/操作系统的解决方案操作系统的解决方案v重新启动为适当的软件配置,并对其状态进重新启动为适当的软件配置,并对其状态进行初始化。(定期设置持久设备的系统状态行初始化。(定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态)能够使备件设置为适当的状态)v一般用于硬件一般用于硬件/操作系统的解决方案操作系统的解决方案状态记录出现故障重启定期设置持
7、久设备的系统状态的检查点,并记录持久设备定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态的所有状态变化能够使备件设置为适当的状态vShadow操作操作v状态再同步状态再同步v检查点检查点/回滚回滚当冗余组件失败时当冗余组件失败时,可以在纠正该组,可以在纠正该组件后将其再次引入件后将其再次引入v以前出现故障的组件可以在短时间以前出现故障的组件可以在短时间内以内以“Shadow模式模式”运行,以确保运行,以确保在恢复该组件之前,模仿工作组件的在恢复该组件之前,模仿工作组件的行为。行为。一般用于主动一般用于主动/被动冗余被动冗余在执行的程序中设置若干测试点,
8、在执行的程序中设置若干测试点,在每个测试点上检查输出结果。当在每个测试点上检查输出结果。当测试程序检测出错误时,就认为正测试程序检测出错误时,就认为正在执行的程序是一个错误运行的系在执行的程序是一个错误运行的系统,这段程序要被重新执行,即程统,这段程序要被重新执行,即程序的回滚。序的回滚。高可用性集群系统解决方案v系统由系统由主机主机A及备份机及备份机B组成,二者之间通过组成,二者之间通过一根一根心跳线心跳线相连(可以通过串口或以太网相连(可以通过串口或以太网口),共享一个口),共享一个磁盘阵列磁盘阵列。由主机。由主机A对外提对外提供服务,备机供服务,备机B则通过心跳线来监测主机则通过心跳线来
9、监测主机A,一旦主机一旦主机A出现故障(如电源失效、主要部出现故障(如电源失效、主要部件失效、启动盘失效等导致系统发生故障),件失效、启动盘失效等导致系统发生故障),备机备机B可以把主机上的所有资源接管过来,可以把主机上的所有资源接管过来,从而继续对外提供服务。从而继续对外提供服务。v主机和备机是相对而言的,也就是说两者可主机和备机是相对而言的,也就是说两者可以各自负责某些服务及应用,两者可以互为以各自负责某些服务及应用,两者可以互为备份,即备份,即active/active模式。这样,既可以模式。这样,既可以提高系统的可靠性、冗余度,又可以充分利提高系统的可靠性、冗余度,又可以充分利用硬件资
10、源。用硬件资源。v中标普华高可用服务器系统提供了多种冗余中标普华高可用服务器系统提供了多种冗余模式模式:v双机在线待机模式 v双机就绪模式 v三主机模式 v在这种模式下,一个服务器作为主服务器。正常情在这种模式下,一个服务器作为主服务器。正常情况下其承担所有的服务。另外一台况下其承担所有的服务。另外一台 服务器作为待机服务器作为待机服务器,正常情况下除了监控主服务器的状态,不服务器,正常情况下除了监控主服务器的状态,不进行其他的操作。一旦主服务器宕机,待机服务器进行其他的操作。一旦主服务器宕机,待机服务器就接手工作,成为新的主服务器。客户仍然可以拥就接手工作,成为新的主服务器。客户仍然可以拥有
11、同样的服务器有同样的服务器IP地址、地址、NFS、数据、数据库及其、数据、数据库及其他他实际上是在完成同一个功能应用,安装在主实际上是在完成同一个功能应用,安装在主机上的机上的软件通过心跳线软件通过心跳线来实时监测对方的运行状态,来实时监测对方的运行状态,一旦正在工作的主机一旦正在工作的主机A因为各种硬件故障导致系统因为各种硬件故障导致系统发生故障发生故障,主机主机B立即投入工作。立即投入工作。v在这种模式下,两个主机都作为主服务器,共享自在这种模式下,两个主机都作为主服务器,共享自己的磁盘阵列,各自承担一部分服务。例如服务器己的磁盘阵列,各自承担一部分服务。例如服务器A在执行应用在执行应用A
12、,服务器服务器B在执行应用在执行应用B,两个主机在两个主机在正常情况下各自独立运行自己的应用,两个主机同正常情况下各自独立运行自己的应用,两个主机同时又都作为对方的待机服务器,通过心跳线监控对时又都作为对方的待机服务器,通过心跳线监控对方的状态。一旦某一服务器宕机,另一台服务器就方的状态。一旦某一服务器宕机,另一台服务器就承担所有的服务,为所有的客户服务。即一旦服务承担所有的服务,为所有的客户服务。即一旦服务器器A发生故障,服务器发生故障,服务器B马上接管服务器马上接管服务器A上原来的上原来的应用;或者服务器应用;或者服务器B发生故障,服务器发生故障,服务器A马上接管马上接管服务器服务器B上原
13、来的应用,这是一种互为冗余的模式。上原来的应用,这是一种互为冗余的模式。v在这种模式中,待机服务器在这种模式中,待机服务器C同时监控主服同时监控主服务器务器A与与B的状态。一旦服务器的状态。一旦服务器A或或B宕机,宕机,服务器服务器C将承担其服务,为客户服务。这种将承担其服务,为客户服务。这种系统结构既保证了系统的安全运行,又保证系统结构既保证了系统的安全运行,又保证了系统资源合理利用。了系统资源合理利用。v现状及问题现状及问题v随着计算机在社会各个领域的广泛使用,人们已习惯于计算机系统带来的便捷和高效率,但计算机系统也非常脆弱,它会受各种因素的影响,如硬件系统本身的故障,电源故障,病毒,自然
14、 灾害或人为的恶意破坏,都会导致系统无法正常运行。现有很多系统均是单主机工作环境单主机工作环境,任何一个单点故障单点故障,都会影响企业业务的正常运转都会影响企业业务的正常运转,而且产生很多不良后果。v我们认为,解决该问题的关键,就是采用高可用性的群集解决方案。在一个承担关键业务的计算中心,采用多台主机共享一套存储设备存储业务数据,主机之间通过物理连接形成一定的相互联系,与相应的群集软件配合,可以实现如下功能:v当整套系统中出现任何一个单点故障,都有相应的冗余部件代替发挥相应的功能,从而保证业务的正常进行,在此过程中的物理设备和应用软件的切换都不会被前端用户所察觉。v 错误预防战术错误预防战术v从服务中删除从服务中删除v事务事务v进程监视器进程监视器有关变更的成本问题。有关变更的成本问题。与事件发生时,系统将要耗费多长时与事件发生时,系统将要耗费多长时间进行响应有关。间进行响应有关。衡量系统在向合法用户提供服务的衡量系统在向合法用户提供服务的同时,阻止非授权使用的能力。同时,阻止非授权使用的能力。通过测试揭示软件缺陷的容易程通过测试揭示软件缺陷的容易程度。度。对用户来说,完成某个期望任务的对用户来说,完成某个期望任务的容易程度和系统提供的用户支持的种类。容易程度和系统提供的用户支持的种类。通常应确定变更涉通常应确定变更涉及几个模块;时间、及几个模块;时间、资金预算资金预算
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。