多余的重复或啰嗦内容(包括信息、语言、代码、结构、服务、软件、硬件等等)均称为冗余。冗余有两层含义,第一层含义是指多余的不需要的部分,第二层含义是指人为增加重复部分,其目的是用来对原本的单一部分进行备份,以达到增强其安全性的目的,这在信息通信系统当中有着较为广泛的应用。
2.1硬件冗余
举例:
1)电源冗余:高端服务器产品普遍采用双电源系统,这两个电源是负载均衡的,即在系统工作时它们同时为系统提供电力,当一个电源出现故障时,另一个电源会立即承担所有的负载。有些服务器系统实现了直流电源的冗余,另一些服务器产品实现了直流和交流电源的全冗余。
2)存储子系统:存储子系统是整个服务器系统中最容易发生故障的地方,可以通过以下几种方法实现冗余:
磁盘镜像:将相同的数据分别写入两个磁盘中。磁盘双联:为镜像磁盘增加一个I/O控制器,形成了磁盘双联,使总线争用情况得到改善。独立/廉价冗余磁盘阵列RAID(Redundant Arrays of Independent/Inexpensive Disks)由2个以上磁盘组成,通过一个控制器协调运动机制使单个数据流依次写入这几个磁盘中,有RAID10、RAID01、RAID0、RAID5等级别。3)I/O卡冗余:网卡冗余是指在服务器中插上多个网卡。冗余网卡技术原为大型机及中型机上的技术,现也渐被PC服务器所拥有。多个网卡可共同承担网络流量,且具有容错功能。
4)CPU冗余:系统中主处理器并不会经常出现故障,但对称多处理器(SMP)能让多个CPU分担工作以提供某种程度的容错。
2.2信息冗余
举例:差错检查和纠错法
2.3软件冗余
举例:双机集群软件、代码冗余
冗余配置的初衷是为了加强系统的可靠性,但冗余配置会导致系统变得更为复杂,从而极易引入新的问题。