第8章磁盘管理(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015-1-26
2
数据交付方式
数据交付:将磁盘高速缓存中的数据传送给 请求者进程。 当有访问请求时,系统看所需的块是否在高 速缓存中。如果在,则可直接访问缓存。否则, 首先要将块读到高速缓存,再拷贝到所需的地 方 数据交付有两种方式: 数据交付 :将数据从缓存传到进程空间 指针交付 :将指向缓存中数据的指针传给进 程。
数据一致性的概念在数据库中出现较多。 硬件支持主要是要求在系统中能配置一个高 度可靠的存储器系统,或称之为稳定存储器。 实现一个稳定存储器的措施是采用冗余技术。 将一份信息同时存放在多个独立的、非易失性 存储器上。目前采用磁盘双工方式来实现稳定 存储器。
2015-1-26
32
8.5.1 事务
1、事务(Transaction)的定义
8.3 提高磁盘I/O速度的途径
磁盘的I/O速度要比内存低4-6个数量级 分配一些内存作为磁盘高速缓存可以极大 地提高磁盘I/O速度。
2015-1-26
1
8.3.1磁盘高速缓存的形式
在内存中开辟一个单独的存储空间作为磁盘 高速缓存。 把所有未利用的内存空间变为一个缓冲池 , 供分页系统和磁盘I/O共享。
2015-1-26 36
8.5.2 检查点
1、检查点 (Check points)的作用
首先:将驻留在易失性存储器中的当前事务记录表 中的所有记录,输出到稳定存储器中; 其次:将驻留在易失存储器中的所有已修改数据, 输出到稳定存储器中; 然后:将事务记录表中的<检查点>记录,输出到 稳定存储器中; 最后:每当出现一个<检查点>记录时,系统便执 行恢复操作,利用redo和undo过程实现恢复功能。
磁 盘 控 制 器
主 机
通道
磁盘驱动器
2015-1-26
27
2)磁盘双工
磁盘控制器或控制器 与CPU之间的通道故障的 容错。 将两台磁盘驱动器分 别接到两个磁盘控制器上。 两个磁盘上的数据完 全相同。
磁盘 通道 控制器 主 机 通道 磁盘 控制器 磁盘驱动器
2015-1-26
28
8.4.3 基于集群技术的容错功能
2015-1-26
15
RAID6 设置了一个专用的、可快速访问的异 步校验盘 RAID7 对RAID6级的改进。
2015-1-26
16
3、RAID的优点
可靠性高。除了RAID0,其余各级都采用了 容错技术。某个磁盘损坏时,不会造成数据丢 失。 速度快。可并行存取。 性能/价格比高。利用RAID技术实现的大容 量快速存储器,同大型磁盘系统相比,体积和 价格都是后都的1/3。可靠性更高
第一级容错只能用于防止磁盘表面部分故障 造成的数据丢失。如果磁盘驱动器或磁盘控制 器发生故障,则第一级容错就无能为力了。 1)磁盘镜像 2)磁盘双工
2015-1-26
26
1)磁盘镜像
磁盘驱动器故障的容 错。 在同一磁盘控制器控 制下,增设一个完全相同 的磁盘驱动器。 每次将数据写主磁盘 时,同时将数据也写入到 备份磁盘。 一个磁盘驱动器发生 故障时,必须立即发出警 告,尽快修复。 磁盘利用率为50%
2015-1-26
24
写后读校验
为了保证所有写入到磁盘的数据都能写入完 好的盘块中,应该在每次写数据时,又立即从 磁盘上读出该块数据,并同写前的数据进行对 比(校验)。若两者不一致,则认为盘块有缺 陷,便将该数据写入到热修复区。并对该坏盘 块进行登记。
2015-1-26
25
8.4.2 第二级容错技术SFT-II
2015-1-26
10
8.3.3 廉价磁盘冗余阵列
RAID(Redundant Arrays of Inexpensive Disk)。由伯克利提出,广泛用于大中型计算机 和网络中。 由一台磁盘阵列控制器控制一组磁盘驱动器, 组成一个高度可靠、快速的大容量磁盘系统。 1、并行交叉存取 2、RAID分级 3、RAID的优点
2015-1-26
8
优化物理块的分布
优化一个文件的物理块分布,使访问该文件 时,磁头的移动距离最小。 物理块连续分配可以减少磁头的移动。 增加物理块的大小也可减少磁头的移动。
2015-1-26
9
虚拟盘
利用内存仿真磁盘,又称RAM盘。 虚拟盘同磁盘高速缓存的区别: 虚拟盘的内容完全由用户控制,用户可见。 缓存的内容完全由系统控制,用户不可见。
SMP对称多处理"(Symmetrical MultiProcessing),是指在一个计算机上汇集了一组处理 器(多CPU),各CPU之间共享内存子系统以及总线结构。 一台电脑不再由单个CPU组成,而同时由多个处理 器运行操作系统的单一复本,并共享内存和一台计算 机的其他资源。 虽然同时使用多个CPU,但是从管理的角度来看, 它们的表现就像一台单机一样。系统将任务队列对称 地分布于多个CPU之上,从而极大地提高了整个系统 的数据处理能力。 所有的处理器都可以平等地访问内存、I/O和外部 中断。
2015-1-26 34
3、 恢复算法
由于一组被事务Ti修改的数据以及它们被修改前和 修改后的值,都能在事务记录表中找到。因此当系统 发生故障后,利用事务记录进行故障恢复。 搜索整个事务记录表: 对于已经完成了各类操作的事务,执行redo操 作——把所有被事务Ti修改过的数据设置为新值(有 开始有托付记录) 对于未全部完成的事务,执行undo操作——把所 有被事务Ti修改过的数据恢复为修改前的值(有开始 无托付记录)
事务是用于访问和修改各种数据项的一个程 序单位。可以看作是一系列的读和写操作。 事务的操作全部完成时要执行托付 (commit)操作来终止事务。事务失败时要 执行夭折(Abort)操作。 事务具有原子性:事务的操作要么全部完成, 要么一个也不做。
2015-1-26 33
2、 事务记录
记录事务运行时所有对数据项的修改信息。 又称运行日志(Log)。 该记录包括: 事务名 事务的唯一标识 数据项名 被修改的数据项标识 旧值 新值 当一个事务发生时,将一个事务记录也写入事务记 录表中。(Ti开始)记录,(Ti修改)记录,(Ti托 付)记录
2015-1-26
17
练习
1、磁盘高速缓冲设在()中,其主要目的是() A、磁盘控制器 B、磁盘 C、内存 D、Cache A、缩短寻道时间 B、提高磁盘I/O速度 C、提高磁盘空间的利用率 D、保证数据的一致性 E、提高CPU执行指令的速度。 2012
2015-1-26
18
练习
2、下述错误的是 A、虚拟盘是一种易失性存储器,因此它通常只有于 存放临时文件 B、优化文件物理块的分布可显著减少寻道时间,因 此能有效地提高磁盘I/O速度 C、对随机访问的文件,可通过提前读提高对数据的 访问速度 D、延迟写可减少启动磁盘的次数,因此能等效地提 高了磁盘I/O速度。 3、廉价磁盘冗余阵列可组成一个大容量磁盘系统, 它利用______技术来提高磁盘系统的存取速度,而利 用______技术来增加磁盘系统的可靠性。
2015-1-26
37
2、新的恢复算法
在引入检查点后,当发生故障后,只需对最 后一个检查点以后开始的事务执行恢复工作。
2015-1Biblioteka Baidu26
38
8.5.3 并发控制
在多进程或多用户系统中,可能有多个事务 在并发执行,这些事务对数据的修改应该是互 斥的。(参见进程同步) 可以利用PV操作来实现互斥。 但在数据库和文件服务器中,应用得最多的 还是较简单且灵活的同步机制:锁。
2015-1-26 35
8.5.2 检查点
1、检查点 (Check points)的作 用
随着系统的运行,事务记录表会变得越来越 大,这样当发生故障时,搜索整个事务记录表 来进行恢复就是一件非常费时的工作。因而引 入检查点。 引入检查点的主要目的,是使对事务记录表中 事务记录的清理工作经常化,即每隔一定时间便 做一次下述工作。
2015-1-26 19
8.4 提高磁盘可靠性的技术
影响文件安全性的主要因素。 人为因素——存取控制机制 系统因素——磁盘容错技术 自然因素——后备系统
容错技术:通过在系统中设置冗余部件的 办法,来提高系统可靠性的一种技术。
2015-1-26
20
磁盘容错技术
磁盘容错技术: SFT-1:低级磁盘容错技术,主要用于 防止磁盘表面发生缺陷所引起的数据丢失; SFT-2:中级磁盘容错技术,主要用于 防止磁盘驱动器和磁盘控制器故障引起的系 统不能正常工作; SFT-3:高级磁盘容错技术。
2015-1-26
39
锁即操作系统中的一标志位,0表示资源可 用,1表示资源已被占用。用户程序不能对锁 直接操作,必须通过操作系统提供的上锁和开 锁原语来操作。 通常锁用w表示,上锁开锁原语分别用 lock(w)、unlock(w)来表示。
2015-1-26
21
8.4.1 第一级容错技术 SFT-I
主要用于防止因磁盘表面缺陷所造 成的数据丢失 1)双份目录和双份文件分配表
文件目录和文件分配表是文件管理所需的重要数据 结构。 在不同的磁盘上或在磁盘的不同区域中,分别建立 双份目录表和FAT 在系统每次启动时都要进行两份目录和分配表的检 查。
2015-1-26 22
2)热修复重定向和写后读校验
磁盘表面有少量缺陷时,采取一些补救措施后可继 续使用。这些措施主要用于防止将数据写入有缺陷的 盘块中。 热修复重定向 写后读校验
2015-1-26
23
热修复重定向
系统将一定的磁盘容量(如2%-3%)作为热 修复重定向区,用于存放当发现磁盘有缺陷时 的待写数据,并对写入该区的所有数据进行登 记,以便于以后对数据进行访问。 例如:系统要向第12磁道10扇区写数据,但 发现该扇区是坏的时,便将数据写到热修复区 (如153磁道27扇区)。以后要读12磁道10扇 区的数据时,便从153磁道27扇区中读。
2015-1-26 11
1、并行交叉存取
加快访问速度 在系统中有多台磁盘驱动器(N)。 存放数据时,将数据的第一块放在第一个磁盘 上,第N块放在第N个磁盘上。 这样可以并行读写,极大地提高了速度。
1
2
3 …
N
2015-1-26
12
2、RAID分级
RAID0—RAID7 RAID0 提供并行交叉存取(没有冗余校验 能力) 至少两个盘 RAID1 偶数个盘,并行交叉存取,并把一个 磁盘的数据镜像到另一个磁盘上。利用率50%。 比传统镜像盘快。
2015-1-26
5
8.3.2提高磁盘I/O速度的其它方法
提前读 延迟写 优化物理块的分布 虚拟盘
2015-1-26
6
提前读
在访问文件时经常是顺序访问,因此在读当 前块时可以提前读出下一块。 提前读已经被广泛应用:UNIX、OS/2 、 Netware等。
2015-1-26
7
延迟写
修改缓存中的数据后一般应立即写回磁盘, 但该盘块可能还会被修改,立即写回会带来很 大的开销。 置上延迟写标志。直到该盘块淘汰时或周期 性写回时。 延迟写也被广泛应用: UNIX、OS/2 等。
2015-1-26 3
置换算法
如果高速缓存已满,则需要进行淘汰。 常用置换算法:最近最久未使用LRU、最少 使用LFU等。还要考虑以下几点
访问频率。 可预见性。 数据的一致性。
2015-1-26
4
周期性写回磁盘
LRU算法中,那些经常被访问的盘块可能会 一直保留在高速缓存中,而长期不被写回磁盘 中。留下了安全隐患。 解决之道:周期性写回。周期性地强行将已 修改盘块写回磁盘。周期一般为三十秒。
13
2015-1-26
图
磁盘0 磁盘1
数据1 的备份
数据0
数据0 的备份
数据1
CPU
2015-1-26
14
RAID3 利用一个奇偶校验盘来完成数据校 验功能。减少了冗余磁盘数
RAID5 无专门校验盘,校验数据分布在多 个盘上。 一个磁盘故障时,控制器可从其他尚 存的磁盘上重新恢复/生成丢失的数据而不影响 数据的可用性 。常用于I/O较频繁的事务处理。
29
2015-1-26
8.4.3 基于集群技术的容错功能
集群:由一组互连的自主计算机组成统一的计 算机系统。 双机热备份模式。 双机互为备份模式。 公用磁盘模式。
2015-1-26
30
8.4.4 后备系统
常用的后备系统设备。 磁带机 硬盘 光盘
2015-1-26
31
8.5 数据一致性控制