容错和高可用性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
容错和高可用性
容错和高可用性关系到系统能够保持良好,并一天24小时、一周七天地运行,或者至少系统能够保持良好并以合理程度的性能运行。
系统关闭会使一个机构每小时遭受几千美元的损失,下表中对之做了概述:
因特网商务停机时间费用
*损失的收入:假设每天收入一百万美元的站点,停机期间会损失百分之二十的交易。
资料来源:Fornester Research
容错系统旨在即使出现故障仍保持运行。
早期网络系统中的容错功能包括镜像磁盘,即具有两个读写同样信息的磁盘。
如果一个磁盘出错,则另一个将在“故障转移”模式下运行。
这种容错性扩展为磁盘双工,此时,磁盘和磁盘控制器是重复的。
这些冗余组件不只提供了容错性,而且因为可以从任何一个磁盘读取(写入仍旧需要两个磁盘都执行),所以提高了性能。
当然,容错系统必须提供比磁盘故障转移更多的东西。
冗余系统的一些其他实例如下所述:
·RAID磁盘系统将多个硬盘驱动器组合成故障保护阵列。
·冗余组件(电源、I/O板等)。
·群集多个服务器,以在任何服务器出现故障时将问题最小化。
·备用路径和负载平衡提高了吞吐量并提供冗余链接。
·多个数据中心以免于本地故障。
提供这些容错功能的明显益处是通过负载平衡改善了性能。
在群集系统中,负载平衡确保了在其他服务器使用不足时没有单个过渡工作的服务器。
在繁忙的Web服务器站点,负载平衡设备可用于在多个服务器间平衡通信,检测服务器或链接的错误,平衡故障处的通信。
故障转移不是一个简单的操作。
一个组件在出错前可能携带着与其活动相关的状态信息。
要维持最高级别的可用性,必须跟踪该信息并将之传输到另一组件。
一个复杂的管理系统是必要的。
此类系统的体系结构包括多节点设计,在这种设计中,要么两个节点都总是活动的并提供服务,要么一个节点以备用模式精确模仿另一个节点的活动,等待主要节点失败时接管。
高可用性
高可用性(或弹性)是一种度量标准,可以指示系统在不同条件下以及在特定的一段时间中功能如何。
它旨在通过保持系统状态良好并24/7(一天24小时,一周7天)可用,保障零关机时间。
该可用性度量标准给供应商和客户提供了一种方法,可以测量由某个特定系统能够得到的性能。
高可用性经常称为RAS(可靠性、可用性、可服务性),涉及容错、连续服务,以及不关闭系统的情况下为出错组件服务的能力。
两种常用的审查可用性的方法如下:
.MTTF(平均无故障时间)一样东西运行时间越长,就越频繁出错。
因此,有可能在设备出错前就预测并替换或升级它。
预烧过程之后通常紧跟着一个长的运行期,然后跟着是故障期。
·MTTR(平均修复时间)这是对系统关机时间和系统回到正常操作所需时间的测量。
通过安装故障转移组件和系统,可以将MTTR减小为零。
不同组件的可靠性也不同。
电缆和连接线可以使用几百年,而电路板和磁盘驱动器仅能坚持几年。
研究MTIM和MTTR的研究人员定义了下列可用性等级:
供应商、通信公司和服务提供商在声称其服务的可用性或产品的可靠性时就使用这些值。
电话交换系统是五个九的系统,许多人将其用做比较其他系统的基准。
本主题结尾列出的Web站点提供有关这些可用性类别的更多详细内容。
特别是,LarisaChistyakov的"High Availability"论文评估了故障的阶段和故障反应策略。
对于Web电子商务站点和具有关键使命的应用程序,高可用性己变得十分重要。
但要做到这点也是十分复杂的。
许多组织就选择向己经拥有高可用性设备和经验的服务提供商外包数据中心。
旨在提供高可用性的大型数据中心的实例有ExodusData Networks和GlobalCenter和Global Crossing公司。
请参阅“数
据中心设计”和"NOC(网络操作中心)”。
获得容错和高可用性的途径
容错技术可以通过使用冗余硬件和使用软件技术得以实现。
有多种容错技术,如下所述:
·磁盘级保护网络操作系统使用一定的技术保护正在写入磁盘的数据,这些技术包括冗余文件表(存储在不同的磁盘位置),以及自动检测坏的磁盘块并将数据移动到别处的热修复功能。
·事务监视系统事务监视器可以确保不完整的磁盘写入可以从磁盘退出。
如果正在向磁盘写入信息时系统或通信链路出错,则会出现这种情况。
在分布式环境中,事务可能涉及到多个系统和数据库。
如果这些数据库位于不同的远程位置,则在写入期间任何一个通信链路或系统都可能出错。
事务监视器的工作就是跟踪写入事件,以及提交或使之退出。
请参阅“事务处理”。
·冗余组件通信设备、交换机、服务器和其他网络设备应该包含冗余组件(如电源、多个处理器、总线、交换结构、风扇和I/O组件)以确保不会因为单个组件而使系统终止。
热交换组件不需要关闭系统就可以被替换。
·不间断电源持续电源是一种基本组件。
但是,电源备份级别会变化。
电池备份可以在单个系统临时断电时使用,但如果数据中心发生长时间断电通常需要天然气或柴油发电机供电。
·磁盘镜像和双工镜像和双工提供了服务器中对于磁盘故障的防护。
使用镜像,数据同时写入两个磁盘。
如果一个磁盘出故障,另一个磁盘将一直接管到替换该磁盘为止。
使用双工,复制了磁盘驱动器适配器,可以进一步防止硬件故障。
因为两个磁盘都可以运行,所以它们能提供一种负载平衡的形式,使得两个磁盘都能满足不同的读取请求(写入则必须同时进行)。
请参阅“镜像”。
·RAID(廉价磁盘的冗余阵列)RAID系统是磁盘的群集,对于操作系统显得像一个磁盘一样。
如果阵列中的一个磁盘出错,其余的仍旧可以操作,这是因为有一个单独的磁盘提供奇偶性信息,而这可以提供丢失的数据。
请参阅“RAID (廉价磁盘的冗余阵列)”。
·镜像服务器在这种策略中,复制整个服务器以防止任何组件出现故障。
数据同时写入两个系统,它们之间使用快速数据链路相互连接以确保同步。
服务器可以放在不同的位置以防止本地的灾难,但是系统间链路的速度必须很高,因此距离限制为可以安装专用光纤链路。
NetWare版本3和4的NetWare SFr Level III 是一个实例。
请参阅“镜像”和“服务器”。
·群集群集是连接在一起的一组服务器,可以提供更高的可用性、可伸缩性和性能。
运行正确时它们可以提供99.99的可用性。
系统经常共享相同的存储设备。
服务器和存储设备间的连接使用Gbit/s的高速总线。
系统通过向可用服务器发送用户请求提供负载平衡。
群集中添加的系统越多,性能和可靠性也越高。
如果一个服务器出现故障,其他的服务器可以接管其负载。
有关更多信息,请参阅“群集”和“SAN(系统区域网络)”。
·负载平衡负载平衡是指在服务器、交换机和路由器间提供多个链路的内部网络解决方案。
负载自动在链路上分布。
这不仅提高了带宽,而且提供了故障转移,即一个链路出错时,其他链路可以维持通信。
有关更多信息,请参阅“负载平衡”。
·冗余通信链路远程站点间的冗余通信链路可以确保在一个链路出错时通信仍旧处于活动状态。
可以聚合链路来提高吞吐量。
理想情况下,链路应该使用不
同的路径以避免本地问题(风暴、挖土机或地震)。
需要注意的是许多通信公司保证了高级别的服务,消除了与不同的通信公司建立多个链路的需要。
请参阅“结合”、“逆多路复用”、“负载平衡”和“中继”。
·分布式计算在分布式计算环境中,数据资源(如用户数据库)或目录服务存储在位于不同位置的多个服务器上。
从主服务器复制信息并保持同步。
用户可以从本地服务器访问数据,而无需从位于某个远程站点的服务器进行访问。
如果一个服务器出错,则用户仍然可以访问复制服务器上的数据。
请参阅“分布式计算机网络”和“复制”。
·重复的数据中心这进一步发展了分布式计算机概念,它将整个数据中心复制到其他地理位置。
一个数据中心可能仅以备用模式运行,在主要数据中心持续备份数据;或者一个数据中心以活动模式运行,向地理上位于同一区域的用户提供服务。
有些运行关键使命应用程序和Web站点的组织除了创建多个数据中心或向服务提供商外包部分或全部数据服务外,没有其他选择。
有关更多信息,请参阅“数据中心设计”。
可靠的服务器池通过使用池中一组服务器来提供高度可用的服务。
IETF可靠服务器池(rserpool )工作组正在开发一种体系结构和协议,用于管理和操作支持高度可靠应用程序的服务器池,以及用于服务器池的客户机访问机制。
该小组专门在从事网络容错、高度可用服务、抵抗恶意攻击和可伸缩性方面的工作。
相关站点位于/html.charters/rserpool-charter.html o
/index.php/%E9%A6%96%E9%A1%B5。