了解容错:保护系统安全

存储
容错是许多行业领域中使用的概念,但它对数据存储和信息技术基础设施尤为重要。在这种情况下,容错是指计算机系统或存储子系统在硬件或软件出现故障时,但仍能继续工作而不中断服务,并且不会丢失数据或损害安全性。

 容错是许多行业领域中使用的概念,但它对数据存储和信息技术基础设施尤为重要。在这种情况下,容错是指计算机系统或存储子系统在硬件或软件出现故障时,但仍能继续工作而不中断服务,并且不会丢失数据或损害安全性。

[[269493]]

系统中的容错能够涵盖整个数据存储平台,从HDD硬盘到SSD硬盘,从RAID到NAS。虽然容错有很多问题,容错系统的最终目标是提供安全保护,实现起来更加复杂。

容错如何工作?

在最基本的层面上,通过确保系统没有单点故障,可以将容错功能构建到系统中。如果单个组件停止工作,将导致整个系统完全停止工作,这要求提供容错功能。

标准系统中的典型单点故障是电源单元(PSU),其将交流(AC)电源转换为各种电压的直流(DC)电源以为不同组件供电。如果电源单元(PSU)发生故障,那么它所支持的所有组件也将失效,通常会导致整个系统发生灾难性故障。

容错通常遵循以下两种模型之一:

  • 在某些情况下,遇到故障的容错系统可能会继续正常运行,而不会改变吞吐量、响应时间或其他性能指标。
  • 其他容错系统在遇到某些故障时,会在性能方面遇到“功能衰退”。也就是说,故障对系统性能的影响将与其严重程度成正比。因此,小故障将产生小影响,而不是大影响,也不会导致整个系统发生故障。即使在发生一个或多个严重故障时,高度容错系统也将继续工作。

安全容错计划需要多个数据存储库以确保冗余。

建立容错能力

创建容错的关键目的是避免(或至少尽可能地最小化)系统的功能由于其一个或多个组件中的故障而变得不可用的可能性。

在用于保护人员安全的系统(例如空中交通管制硬件和软件系统)以及安全、数据保护和完整性以及高价值交易所依赖的系统中,必须具有容错能力。

冗余性

为了消除单点故障,并提供容错功能,容错系统使用“冗余”概念。实际上,在以上例子中,这将意味着为系统配备一个或多个额外的电源单元(PSU),这些电源单元(PSU)是冗余的,在主要的电源单元(PSU)正常工作时,它们不需要为系统供电。

但是,如果主要电源单元(PSU)发生故障(或者检测到诸如过热的故障,表明它即将发生故障),那么它就可能停止服务,其中冗余的电源单元(PSU)可以启动而不会中断运行整体系统。

在理想情况下,将为系统中的所有组件提供冗余,但实际上成本更加高昂。出于这个原因,设计人员在选择***候选冗余之前,计算组件发生故障的可能性、系统的重要程度以及冗余的成本。

另一种方法是采用在系统发生故障时启动的备用计算机系统。

多样性

在某些情况下,可能无法提供冗余,这方面的一个例子是通常来自电网的主要电力供应。如果市电发生故障(可能是由于发电厂发生故障或在风暴期间电力线路刮断),则通常无法接入替代的公共电网。

在这种情况下,容错可以通过多样性来实现,这意味着完全从另一个电源获得电力供应——很可能是备用发电机,在市电故障时自动启动。

在某些情况下,“多样化”选项(在这种情况下是发电机)可能不具有与主要选项相同的容量,这可能需要适当地降低服务,直到可以恢复主要选项。

复制

实现容错的更复杂方法是​​通过“复制”。这涉及运行系统或子系统的多个相同版本,并检查它们的功能总是产生相同的结果。如果结果不同,则调用某些过程来确定哪个系统出现了故障。

最常用的是“民主”系统,因此如果三个系统提供相同的结果,而第四个系统提供不同的结果,那么第四个系统被认为是错误的。

另一种方法是重新运行已知正确结果的过程,以检查哪个系统出现不同的结果,表明它有故障。

复制可以在组件级别执行,例如,通过使三个处理器全部同时工作,或者可以在系统级别执行,同时使用一组相同的计算机系统。

容错系统的要素

(1)硬件系统

典型的计算机系统或数据存储系统包括中央处理单元(CPU)、系统存储器(RAM),诸如硬盘驱动器的辅助存储系统,以及电源单元(PSU)、网络接口和主板。

为了提供容错,容错计算机系统或数据存储系统可以使用各种元件。这包括CPU的复制、电源单元(PSU)和内存的冗余,在某种形式的RAID阵列中配置的硬盘驱动器,包括冗余和复制,以及提供备用发电机的电源多样性。

容错网络可以由冗余网络接口卡(NIC)和/或各种网络选项(例如有线LAN NIC和无线LAN适配器)提供。

(2)软件系统

软件可以被设计成容错的,这样即使在遇到错误、异常或无效输入时,它也可以继续运行,只要它被设计成能够处理这些错误,而不是默认地报告错误和停止。

特别是,诸如TCP/IP之类的网络协议已经被明确地开发出来,以创建容错网络。TCP/IP可以在个别网络链接或节点可能意外变得不可用的环境中继续运行。它可以适应不同的条件,以便尽可能通过任何可用的路由将数据包发送到目的地。

软件系统还可以使用复制来提供容错功能:可以将一个非常重要的数据库连续复制到另一个服务器,这样,如果托管主数据库的服务器出现故障,则可以立即将操作重定向到副本数据库。

或者,可以将某些服务(尤其是Web服务器)放在负载平衡器后面,以便多个服务器都提供相同的服务。如果一台服务器出现故障,那么负载均衡器只会将所有Web请求发送给其他服务器,直到修复故障。

当然,这就引出了这样一个问题:如果负载均衡器发生故障,会发生什么情况?其答案通常是故障转移系统,它会立即将Web请求传输到位于另一个位置的服务器上。由于此故障转移位置的资源可能与主要数据中心的资源不同,因此在恢复正常操作之前,这可能会导致正常降级。

(3)电源

如前所述,许多容错系统包括多个电源单元(PSU),以在电源单元(PSU)发生故障时提供冗余。由于通常无法获得冗余的主电源,因此大多数组织都依赖来自替代电源的电源形式。这通常是在市电发生故障时自动启动的发电机,以确保IT硬件、存储设备、HVAC和其他系统具有所需的功率。

(4)高可用性与容错性

高可用性与容错性的概念之间经常存在一些混淆。在最基本的层面上,高可用性指的是遭受最小服务中断的系统,而具有容错性的系统设计为永远不会遇到服务中断。

在实践中,这种差异可能很小。许多高可用性系统的目标是所谓的“5个9”或99.999%的正常运行时间,这相当于每年只有几分钟的停机时间。

但是,管理这两个概念的原则是非常不同的。容错系统旨在检测故障并修复问题(可能通过交换冗余组件)而不会中断,而高可用性系统通常使用标准硬件,旨在在发生中断后快速恢复服务。

高可用性通常被认为是可接受的而不是容错的原因通常是成本:在系统中构建容错设施可能比不时发生的短暂中断要昂贵得多。许多组织使用这两种方法的组合:容错系统用于最关键的活动,高可用性用于不太重要的活动。

容错中要考虑的因素

(1)成本

到目前为止,容错的***缺点是它导致系统的构建远比容错系统昂贵得多。这是因为,它们通常需要同一组件的多个版本来提供冗余。

它们还可能需要额外的设备,如发电机,即使它们从未使用过,也需要定期维护和测试。其成本不仅是财务方面的,容错系统可能会占用更宝贵的数据中心空间。

考虑到所涉及的额外硬件,容错的额外成本在很大程度上是不可避免的。这意味着组织需要仔细考虑容错与高可用性的优势是否值得付出额外的成本。

(2)质量下降

为了减少容错成本,组织通常几乎不可避免地接受使用成本较低和质量较差的冗余组件,因为单个组件的可靠性不再是关键。这可能导致支持和维护成本增加,并且如果组件质量太差,甚至可能使系统整体不如没有配备容错的系统可靠。为了避免这种情况,有必要监控各个组件的性能和寿命。

(3)测试和故障检测的难点

就其本质而言,容错使得当系统不能正常工作时更难以发现,因为组件故障不会导致系统故障。

这意味着通常需要更多的资源来测试和监控为容错而构建的系统的健康状况,在某些情况下,这可能需要开发或获取定制软件或程序以帮助执行任务。

责任编辑:华轩 来源: 企业网D1Net
相关推荐

2010-08-27 14:45:31

2012-11-30 11:08:57

2010-06-17 22:07:23

2009-02-22 09:53:32

2010-09-17 14:24:10

2011-07-25 09:07:16

2014-07-09 10:34:49

2011-03-24 09:24:14

2009-10-29 18:22:07

Windows命令行系统安全

2011-03-24 09:31:02

2011-06-27 09:19:33

2011-03-23 14:11:15

安全Unix系统

2010-08-25 10:47:38

APC

2011-08-09 16:13:23

数据中心APC浪涌保护器

2012-07-23 17:11:13

2011-03-22 12:58:16

2011-05-16 10:23:21

2011-03-23 14:00:44

2012-05-11 14:39:07

2011-05-16 10:13:51

Linux优化
点赞
收藏

51CTO技术栈公众号