软件系统架构设计—故障管理方案设计
2023-04-26 20:23:07 0 举报
AI智能生成
软件系统架构设计—故障管理方案设计
作者其他创作
大纲/内容
故障管理的概述
故障类型及其解决方案
事务内部的故障
预期的事物内部故障
指的是:可以通过事务程序本身发现的事物内部故障
非预期的事务内部故障
指的是:不能由事务程序处理的。如(运算溢出,死锁,违反完整性)
系统故障
又称<b>软故障</b>
由于硬件故障,数据库软件,操作系统的漏洞,突然停电等情况
影响所有正在工作的事务
数据的恢复策略
撤销(UNDO)所有未提交的事务,重做(REDO)所有已经提交的事务
介质故障
又称<b>介质故障</b>
由于磁头碰撞,磁盘损坏,强磁干扰,天灾人祸,使得数据库部分丢失或全部丢失
容错策略
软件容错
使用数据库备份以及事务日志备份文件,通过恢复技术,恢复到备份原点
硬件容错
采用双物理存储设备
将两个存储设备防止于不同的地方(异地)
设计两套相同的数据库系统
一套不能工作,另一套接管工作
计算机病毒故障
使用防火墙软件
杀毒失败,还是要使用<b>软件容错</b>
数据库恢复技术概述
建立冗余数据
数据备份
登记日志文件
数据库复制
数据库镜像
为段设立保存点
使用后备段与现行页表来支持对段的保存
数据转储方案
基本概述
DBA或DBMS定期复制数据库,并将复制得到的数据库放到其他介质中的过程
数据转储也叫<b>数据备份</b>
复制的数据库也叫<b>后援副本或后备副本</b>
静态转储和动态转储
静态转储
静态转储的过程中系统不能进行其他事务
可以保证数据的一致性
动态转储
允许转储操作和用户事务并发执行
不能保证数据的一致性
引入<b>日志文件(log File)</b>,来确保数据的一致性,有效性
数据转储机制
完全转储
对所有的数据文件进行转储
缺点:浪费时间空间
优点
可以用作系统失败时恢复数据库的基础
系统失败时恢复时间较短
增量转储
只复制上一次转储后发生改变的文件或数据块
优点:所需时间空间较少
缺点
只能和完全转储一起使用
增量转储的恢复时间要比使用完全转储的时间要长
差量转储
又叫<b>差异转储</b>
对最近一次数据库完全转储以来发生的数据变化进行转储
优点
和完全转储相比:速度快,占用空间少
和增量转储相比:数据库恢复速度快
缺点
和增量转储相比:速度慢,占用空间较多
多种转储方法结合使用
仅使用完全转储
完全转储加增量转储
定期完全转储,完全转储中间执行多个增量转储
需要恢复的文件较多,中间任何错误都有可能导致数据恢复失败,<b>恢复时间较长</b>
完全转储加差量转储
相比较上面一种方法
优点
恢复操作简单
恢复时间较短
缺点:需要存储更多的数据量
日志文件方案
日志文件的概念
日志文件记录每个事务对数据库的修改操作
日志文件的具体作用
事务故障恢复和系统故障恢复必须使用日志文件
使用日志文件进行故障恢复的基本操作
撤销(UNDO)
执行逆操作的过程,直至追溯到源头
重做(REDO)
对所有需要重做的事务进行重新执行日志文件登记的操作,并执行
事务故障恢复
事务是一个完整的工作单元,要么全都做,要么全都不做
执行<b>UNDO</b>操作即可
系统故障恢复
对于刚开始日志文件登记操作的事务直接<b>撤销(UNDO)</b>
对于事务已经完成,数据还没有写入数据库,暂存在内存中的情况使用<b>重做(REDO)</b>
在动态转储方式中必须建立日志文件
在静态转储方式中,也可以使用日志文件
日志文件的格式与内容
以记录为单位的日志文件
<T1 BEGIN TANSACTION> <br>//事务开始标志<br><T1, A, 50,60><br>// 更新操作,将对象A的值由50变为60<br><T1 COMMIT><br>// 事务执行提交操作<br><T1 ROLLBACK><br>// 事务T1终止执行<br><T2 BEGIN TANSACTION><br>// t2 事务开始标记<br><T2, A, 60, 80><br><T2, B, 120, 160><br><T2 COMMIT><br><T2 ROLLBACK>
以数据块为单位的日志文件
登记日志文件的原则
登记的次序严格按并行事务执行的时间次序
必须先写日志文件,后写数据库
检查点
检查点的作用
最大限度的减少了数据库完全恢复时所必须执行的日志部分
检查点的引入
基于检查点的恢复步骤
硬件容错方案
磁盘保护技术
父主题
RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。 D. A. Patterson 等的论文中定义了 RAID1 ~ RAID5 原始 RAID 等级, 1988 年以来又扩展了 RAID0 和 RAID6 。近年来,存储厂商不断推出诸如 RAID7 、 RAID10/01 、 RAID50 、 RAID53 、 RAID100 等 RAID 等级,但这些并无统一的标准。目前业界公认的标准是 RAID0 ~ RAID5 ,除 RAID2 外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10
子主题
RAID系统
廉价冗余磁盘阵列
容量,性能,管理,可靠性,可用性都有进一步的提高
特点:当多个磁盘堆叠在一起的时候,从中抽出一块磁盘,可以利用其他磁盘恢复出抽调走磁盘的全部数据
RAID的级别
RAID0
将要写入的数据分块,<b>并行</b>存放到不同的磁盘,取数据时,再将排序好的数据交给主机
优点:数据分块,并行工作,提高了读写速度
缺点:无冗余,可靠性没有提高,任何一个盘出了问题都无法恢复
无冗错的数据条带
RAID1
将总体硬盘分为完全相同的两组,互为镜像
人采用分块并行传输方式
优点:提高了<b>读</b>速度,加强了系统的可靠性
缺点:硬盘利用率低,冗余度50%,<b>写</b>速度没有提高
无校验的相互镜像
RAID5
RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。<br><br> RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。<br><br> RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
带分散校验的数据条带
RAID10
是<b>RAID0</b>和<b>RAID1</b>的结合
RAID类型区别
RAID的冗余技术
镜像冗余
把所有的数据全部复制到其他设备上或其他地方
优点
实现简单
缺点
额外开销很大
校验冗余
对磁盘上的数据进行<b>异或操作(XOR)</b>
磁盘阵列选型
RAID 等级的选择主要有三个因素,即数据可用性、 I/O 性能和成本。 目前,在实际应用中常见的主流 RAID 等级是 RAID0 , RAID1 , RAID3 , RAID5 , RAID6 和 RAID10 ,它们之间的技术对比如上图RAID类型区别表。如果不要求可用性,选择 RAID0 以获得高性能。如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1 。如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择 RAID3 或 RAID5 。在实际应用中,应当根据用户的数据应用特点和具体情况,综合考虑可用性、性能和成本来选择合适的 RAID 等级。
服务器容错技术
服务器容错技术简介
两台相同的服务器,共享存储设备,数据库数据存在在存储设备上,当有一台服务器宕机时,则启用另一台服务器
这种技术简称<b>Active-Standby</b>
服务器接管过程
接管的资源有
共享存储资源
服务器IP地址
数据库镜像与数据库容灾
引入数据库镜像的原因
避免介质故障对数据库可用性的影响
数据库镜像简介
优点
数据库镜像提供完整或接近完整的数据冗余,增强数据保护功能
发生灾难时,数据库镜像可以快速使数据库的备用副本提供服务,使数据不会丢失,提高数据库的可用性
提高数据库在升级期间的可用性
数据库镜像分类
双机互备援模式
两台主机同时工作,互相监视对方的情况,一方倒下,另一方立马接管
缺点:接管后的主机负载会有所增加
接管条件
系统软件或服务器软件造成的服务器宕机
服务器没问题,但是系统软件或服务器软件工作不正常
SCSI卡损坏,造成服务器与磁盘阵列无法存取数据
服务器硬件损坏,在成服务器宕机
服务器不正常关机
双机热备份模式
一台主机为工作机,一台为备份机,备份机时刻监视工作机状态,如果出现不正常情况,备份机接管所有服务
接管条件和双机互备援模式一样
工作方式
工作的服务器又称<b>主体角色</b>
主体服务器
数据库副本是当前主体数据库
镜像服务器又称<b>镜像角色</b>
镜像服务器
数据库副本是镜像数据库
主体数据库在执行了每个事务后,都将事务通过私有网络发送给镜像数据库中,在镜像数据库中进行重做操作,以达到数据的一致性
SQL Server数据库镜像简介
数据库镜像会话的运行方式
同步
需要等待镜像服务器将日志写入到磁盘后才可以提交
异步
不用等待镜像服务器将日志写入磁盘便可以提交
镜像运行模式
高安全模式
采用同步机制
会有时间上的延时
高性能模式
采用异步机制
可能会丢失数据
0 条评论
下一页