1
计算机系统安全
第三讲
计算机系统的可靠性
2
一、可靠性、可用性和可维修性
可靠性 ( Reliability), 指从它开始运行 ( t=0) 到某
时刻 t这段时间内能够正常运行的概率 。 在给定的时间
间隔和给定条件下, 系统能正确执行其功能的概率称
为可靠度 。
平均无故障时间 MTBF(Meantime Between Failures)是
指两次故障之间能正常工作的平均值 。 故障即可能是
元器件故障, 软件故障, 也可能是人为攻击造成的系
统故障 。
可维修性:指计算机的维修效率, 通常用平均修复时
间 ( MTRF) 来表示 。 MTRF是指从故障发生到系统恢
复平均所需要的时间 。
第三讲 计算机系统的可靠性
3
一、可靠性、可用性和可维修性
可维修性有时用可维修度来度量 。 在给定时间内, 将
一失效系统恢复到运行状态的概率称为可维修度 。
可用性 ( Availability), 系统在执行任务的任意时刻
能正常工作的概率 。 系统可用性用可用度来度量 。 系
统在 t时刻处于正确状态的概率称为可用度, 用 A(t)来
表示 。
A = MTBF / (MTBF + MTRF), 即:
A =平均无故障时间 / (平均无故障时间 +平均修复时间 )
第三讲 计算机系统的可靠性与容错性
4
一、可靠性、可用性和可维修性
提高可靠性的方法:
完美性 ( perfection), 提高软硬件的质量, 抵
御故障的发生 。 追求一种避错技术 。 要求各个
部件具有高可靠性,
容错性 ( Fault Tolerance), 在故障发生时, 系
统仍能继续运行, 提供服务与资源 。 这就是所
说的, 容错能力, 。
第三讲 计算机系统的可靠性与容错性
5
系统可靠性的获得
可靠性
┌──────┴──────┐
容错性 完美性
│ ┌───┴───┐
冗余技术 ─┬硬件冗余 完美硬件 完美软件
(redundancy)├软件冗余 ├整机完美性 │
| | ├部件完美性 可信软件
| └信息冗余 └器件完美性
第三讲 计算机系统的可靠性与容错性
6
系统可靠性的获得
|
静态冗余(部件冗余)
动态重组
|--被动重组(后备 stand-by)
|--主动重组(优美降级 graceful degradation)
7
二、完美性
1,硬件的可靠性与完美性
提高可靠性, 可以通过元器件的精选, 严格的
工艺, 精心的设计来实现 。 系统应尽量不出故
障, 一旦出故障, 系统则失效 。 这种设计是以
系统, 不出故障, 为前提的, 故称为, 避错设
计, 。
2,软件的可靠性与完美性
一般采用统计方式来衡量 。 在规定的时间周期
内在给定条件下执行所要求的功能的程序的能
力 。
第三讲 计算机系统的可靠性与容错性
8
三、容错性
1,容错系统的概念
容错技术:在一定程度上容忍故障的技术 。 也
称为故障掩盖技术 (fault masking)。
容错系统:采用容错技术的系统 。
容错主要依靠冗余设计来实现, 以增加资源换
取可靠性 。 由于资源的不同, 冗余技术分为硬
件冗余, 软件冗余, 时间冗余和信息冗余 。 可
以是元器件级, 部件级的, 系统级的冗余设计 。
在可靠性与资源消耗之间折衷, 权衡 。
第三讲 计算机系统的可靠性与容错性
9
三、容错性
1 硬件冗余:
增加线路, 设备, 部件, 形成备份
堆积冗余:在逻辑域可采用多数表决方案 。 自动恢复 。
待命储备冗余:该系统中多个模块, 其中只有一块处
于工作状态, 其余块都处于待命接替状态 。 当有一个
模块发生故障时, 立刻将其切除, 并代之以无故障待
命模块 。
混合冗余:堆积冗余和待命储备冗余的结合 。
第三讲 计算机系统的可靠性与容错性
10
三、容错性
数据备份
数据容错的策略就是数据备份, 指的是将
计算机系统中硬磁盘上的一部分数据转到可脱
机保存的介质 (如磁带, 软磁盘和光盘 )上 。
备份的策略有三种:
完全备份
增量备份
差分备份 。
第三讲 计算机系统的可靠性与容错性
11
三、容错性
双 CPU容错系统
当一个 CPU板出现故障时, 另一个 CPU保持继
续运行 。 这个过程对用户是透明的, 系统没有
受到丝毫影响, 更不会引起交易的丢失, 充分
保证数据的一致性和完整性 。 系统的容错结构
能够提供系统连续运行的能力, 任何单点故障
不会引起系统停机, 系统提供在线的维护诊断
工具可在应用继续运转的情况下修复单点故障 。
第三讲 计算机系统的可靠性与容错性
12
三、容错性
双机热备份
传统的高可靠性系统采用双机热备份方案 。 两
台服务器都处于热机状态, 如果一台服务器坏
了, 另一台服务器可以将所有的业务接管过来 。
两种工作方式:
Online方式:两台服务器都在工作, 分别担负
不同的任务, 均衡负载 。 成本大, 管理难 。
Standby方式:备份机不工作, 只是监测作业机
的工作状况 。 缺点:服务器之间切换时间较长 。
第三讲 计算机系统的可靠性与容错性
13
三、容错性
第三讲 计算机系统的可靠性与容错性
三机表决系统
三台主机同时运行,由表决器 (Voter)根据三
台机器的运行结果进行表决,有两个以上的机
器运行结果相同,则认定该结果为正确。通常
可靠性比双机系统要高。缺点:成本高。
当一台机器出现故障后表决已失去意义,其可
靠性甚至比不上一个双机系统。因此当三机中
坏掉一台后就当作双机备份系统来用,不再进
行表决。
14
三、容错性
第三讲 计算机系统的可靠性与容错性
集群系统 (Clusting)
指均衡负载的双机或多机系统 。
DEC公司最早在其 VAX系统上实现了集群技
术, 多服务器集群系统的主要目的是使用户
的应用获得更高的速度, 更好的平衡和通信
能力, 而不仅仅是数据可靠性很好的备份系
统 。 集群系统对于金融, 证券等大型关键业
务系统是最好选择 。
15
三、容错性
第三讲 计算机系统的可靠性与容错性
2.软件冗余
目的:提供足够的冗余信息和程序, 使得能
及时发现编程错误, 采取补救措施, 提高可
靠性 。
增加程序, 一个程序分别用几种途径编写,
按一定方式执行, 分段或多种表决 。
程序由不同的人独立设计, 使用不同的方法,
不同的设计语言, 不同的开发环境和工具来
实现 。
16
三、容错性
第三讲 计算机系统的可靠性与容错性
3.信息冗余:为检测或纠正信息在运算或传输中
的错误而外加的一部分信息 。 在通信和计算机
系统中,信息常以编码的形式出现 。 采用奇偶码,
循环码等冗余码就可检错和纠错 。
4,时间冗余:例如检查点 (Check-Point)就属于
时间冗余的一种, 机器运行的某一时刻称作检
查点, 此时检查系统运行的状态被存储起来 。
一旦发现运行故障, 就返回到最近一次正确的
检查点重新运行 。
17
三、容错性
第三讲 计算机系统的可靠性与容错性
容错系统工作方式
1.自动侦测, 运行中自动地通过专用的冗余侦测线
路和软件判断系统运行情况, 检测冗余系统各冗余
单元是否存在故障 。
2.自动切换, 当确认某一主机出错时, 正常主机除
了保证自身原来的任务继续运行外, 还接管预先设
定的后备作业程序, 进行后续程序及服务 。
3.自动恢复, 故障主机被替换后, 进行故障隔离,
离线故障修复 。 修复后通过冗余通信线与正常主机
连线, 继而将原来的工作程序和磁盘上的数据自动
切换回修复完成的主机上 。
18
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
RAID,Redundant Array of Independent ( 或
Inexpensive ) Disks,,独立 ( 廉价 ) 冗余磁盘阵
列, 。 是由加州大学伯克利分校 Patterson在 1988年
提出 。 RAID—— 将一组磁盘驱动器逻辑上联系起来,
作为一个磁盘驱动器来使用 。
作为一种数据保存手段, RAID提供了专用服务器中
接入多个磁盘 ( 专指硬盘 ) 时, 以磁盘阵列方式组
成一个超大容量, 响应速度快, 可靠性高的存储子
系统 。 以冗余技术增加其可靠性, 以多个低成本磁
盘构成磁盘子系统, 提供比单一硬盘更完备的可靠
性和高性能, RAID被广泛地应用在服务器体系中 。
19
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
RAID的优点
1,成本低, 功耗小, 传输速率高 。 在
RAID中, 可以让很多磁盘驱动器同时传输数
据, 远远超过单个磁盘驱动器 。
2,提供容错功能, 因而具有更高的安全
性 。
3,RAID与传统的大直径磁盘驱动器相
比, 价格要低?
20
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
IDE
EIDE
SCSI
DAC
7/15个盘
Integrated Device Electronics
集成设备电路 仅支持 2个盘
增强型 IDE接口可支持 4个盘
小型计算机系统接
口可支持多个盘
DAC磁盘阵列控制器可支持多
分组多个磁盘
例如,RAID系统。 部件级容错
21
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
RAID0,无冗余无校验的磁盘阵列
简单将数据分配到各个磁盘上, 不提供真正容
错性 。 至少需要 2个硬盘, 可支持 8/16/32个磁盘 。
整个逻辑盘的数据是被分条 ( stripped) 分布在
多个物理磁盘上, 可以并行读 /写, 速度最快,
但无容错能力 。
优点:更好地利用磁盘空间, 延长磁盘寿命,
多个硬盘并行工作, 提高了读写性能 。
缺点:不提供数据保护, 任一磁盘失效, 数据
可能丢失, 且不能自动恢复 。
22
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
输入数据流
输入数据
磁盘阵列控制器
并行传输
HDD1 HDD2 HDD3 HDD4 HDD5
RAID0 示意图
23
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
镜象磁盘阵列 (RAID1)
每一组盘至少两台, 数据同时以同样的方式写到两
个盘上, 两个盘互为镜象 。 磁盘镜象可以是分区镜象,
全盘镜象 。 容错方式以空间换取, 实施可以采用镜象
或者双工技术 。 主要用在对数据安全性要求很高, 而
且要求能够快速恢复被损坏的数据的场合 。
优点:具有最高可靠性, 策略简单, 恢复数据时不必
停机 。
缺点:有效容量只有总容量的 1/2,利用率 50%。 由
于磁盘冗余, 成本较高 。
24
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
输入数据流
输入数据
磁盘阵列控制器
并行传输
HDD1 HDD2
第一组镜象
HDD3 HDD4
RAID1 示意图
第二组镜象
工作盘 镜像盘 工作盘 镜像盘
25
四、磁盘阵列
循环奇偶校验阵列 (RAID5)
RAID5是 无独立校验盘的奇偶校验磁盘阵
列 。 校验数据不固定在一个磁盘上, 而
是循环地依次分布在不同的磁盘上 。 校
验信息分布在各个磁盘驱动器上 。 RAID5
对各种大小数据量的读写都有很好的性
能, 是目前采用最多, 最流行的方式,
至少需要 3个硬盘 。
26
四、磁盘阵列
循环奇偶校验阵列 (RAID5)
优点,校验分布在多个磁盘中, 写操作可
以同时处理 。 为读操作提供了最优的性
能 。 一个磁盘失效, 分布在其他盘上的
信息足够完成数据重建 。
缺点:数据重建会降低读性能;每次计算
校验信息, 写操作开销会增大, 是一般
存储操作时间的 3倍 。
27
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
输入数据流
输入数据
磁盘阵列控制器
HDD1 HDD2 HDD3 HDD4 HDD5
RAID5 示意图
奇偶校验
parity
parity
parity
28
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
其它形式的磁盘阵列 ( 按照校验方式不同划分 )
RAID2,并行海明纠错阵列
RAID3,奇偶校验并行位交错阵列
RAID4,奇偶校验扇区交错阵列
RAID6,二维奇偶校验阵列
RAID7,优化的高速数据传送磁盘结构
29
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
输入数据流
输入数据
磁盘阵列控制器
HDD1 HDD2 HDD3 HDD4 HDD5
RAID2 示意图
HDD6 HDD7
HCC
HCC
HCC
海明校验
HCC
HCC
HCC
HCC
HCC
HCC
30
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
输入数据流
输入数据
磁盘阵列控制器
HDD1 HDD2 HDD3 HDD4 HDD5
RAID3 示意图
parity
parity
奇偶校验
31
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性
输入数据流
输入数据
磁盘阵列控制器
HDD1 HDD2 HDD3 HDD4 HDD5
RAID4 示意图
parity
parity
奇偶校验
parity
Secter交叉
32
四、磁盘阵列
第三讲 计算机系统的可靠性与容错性