您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第8章磁盘管理(2)
12020/2/11磁盘的I/O速度要比内存低4-6个数量级分配一些内存作为磁盘高速缓存可以极大地提高磁盘I/O速度。8.3提高磁盘I/O速度的途径22020/2/118.3.1磁盘高速缓存的形式在内存中开辟一个单独的存储空间作为磁盘高速缓存。把所有未利用的内存空间变为一个缓冲池,供分页系统和磁盘I/O共享。32020/2/11数据交付方式数据交付:将磁盘高速缓存中的数据传送给请求者进程。当有访问请求时,系统看所需的块是否在高速缓存中。如果在,则可直接访问缓存。否则,首先要将块读到高速缓存,再拷贝到所需的地方数据交付有两种方式:数据交付:将数据从缓存传到进程空间指针交付:将指向缓存中数据的指针传给进程。42020/2/11置换算法如果高速缓存已满,则需要进行淘汰。常用置换算法:最近最久未使用LRU、最少使用LFU等。还要考虑以下几点访问频率。可预见性。数据的一致性。52020/2/11周期性写回磁盘LRU算法中,那些经常被访问的盘块可能会一直保留在高速缓存中,而长期不被写回磁盘中。留下了安全隐患。解决之道:周期性写回。周期性地强行将已修改盘块写回磁盘。周期一般为三十秒。62020/2/118.3.2提高磁盘I/O速度的其它方法提前读延迟写优化物理块的分布虚拟盘72020/2/11提前读在访问文件时经常是顺序访问,因此在读当前块时可以提前读出下一块。提前读已经被广泛应用:UNIX、OS/2、Netware等。82020/2/11延迟写修改缓存中的数据后一般应立即写回磁盘,但该盘块可能还会被修改,立即写回会带来很大的开销。置上延迟写标志。直到该盘块淘汰时或周期性写回时。延迟写也被广泛应用:UNIX、OS/2等。92020/2/11优化物理块的分布优化一个文件的物理块分布,使访问该文件时,磁头的移动距离最小。物理块连续分配可以减少磁头的移动。增加物理块的大小也可减少磁头的移动。102020/2/11虚拟盘利用内存仿真磁盘,又称RAM盘。虚拟盘同磁盘高速缓存的区别:虚拟盘的内容完全由用户控制,用户可见。缓存的内容完全由系统控制,用户不可见。112020/2/118.3.3廉价磁盘冗余阵列RAID(RedundantArraysofInexpensiveDisk)。由伯克利提出,广泛用于大中型计算机和网络中。由一台磁盘阵列控制器控制一组磁盘驱动器,组成一个高度可靠、快速的大容量磁盘系统。1、并行交叉存取2、RAID分级3、RAID的优点122020/2/111、并行交叉存取加快访问速度在系统中有多台磁盘驱动器(N)。存放数据时,将数据的第一块放在第一个磁盘上,第N块放在第N个磁盘上。这样可以并行读写,极大地提高了速度。123…N132020/2/112、RAID分级RAID0—RAID7RAID0提供并行交叉存取(没有冗余校验能力)至少两个盘RAID1偶数个盘,并行交叉存取,并把一个磁盘的数据镜像到另一个磁盘上。利用率50%。比传统镜像盘快。142020/2/11数据0数据1的备份CPU磁盘0数据1数据0的备份磁盘1图152020/2/11RAID3利用一个奇偶校验盘来完成数据校验功能。减少了冗余磁盘数RAID5无专门校验盘,校验数据分布在多个盘上。一个磁盘故障时,控制器可从其他尚存的磁盘上重新恢复/生成丢失的数据而不影响数据的可用性。常用于I/O较频繁的事务处理。162020/2/11RAID6设置了一个专用的、可快速访问的异步校验盘RAID7对RAID6级的改进。172020/2/113、RAID的优点可靠性高。除了RAID0,其余各级都采用了容错技术。某个磁盘损坏时,不会造成数据丢失。速度快。可并行存取。性能/价格比高。利用RAID技术实现的大容量快速存储器,同大型磁盘系统相比,体积和价格都是后都的1/3。可靠性更高182020/2/11练习1、磁盘高速缓冲设在()中,其主要目的是()A、磁盘控制器B、磁盘C、内存D、CacheA、缩短寻道时间B、提高磁盘I/O速度C、提高磁盘空间的利用率D、保证数据的一致性E、提高CPU执行指令的速度。2012192020/2/11练习2、下述错误的是A、虚拟盘是一种易失性存储器,因此它通常只有于存放临时文件B、优化文件物理块的分布可显著减少寻道时间,因此能有效地提高磁盘I/O速度C、对随机访问的文件,可通过提前读提高对数据的访问速度D、延迟写可减少启动磁盘的次数,因此能等效地提高了磁盘I/O速度。3、廉价磁盘冗余阵列可组成一个大容量磁盘系统,它利用______技术来提高磁盘系统的存取速度,而利用______技术来增加磁盘系统的可靠性。202020/2/118.4提高磁盘可靠性的技术影响文件安全性的主要因素。人为因素——存取控制机制系统因素——磁盘容错技术自然因素——后备系统容错技术:通过在系统中设置冗余部件的办法,来提高系统可靠性的一种技术。212020/2/11磁盘容错技术磁盘容错技术:SFT-1:低级磁盘容错技术,主要用于防止磁盘表面发生缺陷所引起的数据丢失;SFT-2:中级磁盘容错技术,主要用于防止磁盘驱动器和磁盘控制器故障引起的系统不能正常工作;SFT-3:高级磁盘容错技术。222020/2/118.4.1第一级容错技术SFT-I主要用于防止因磁盘表面缺陷所造成的数据丢失1)双份目录和双份文件分配表文件目录和文件分配表是文件管理所需的重要数据结构。在不同的磁盘上或在磁盘的不同区域中,分别建立双份目录表和FAT在系统每次启动时都要进行两份目录和分配表的检查。232020/2/112)热修复重定向和写后读校验磁盘表面有少量缺陷时,采取一些补救措施后可继续使用。这些措施主要用于防止将数据写入有缺陷的盘块中。热修复重定向写后读校验242020/2/11热修复重定向系统将一定的磁盘容量(如2%-3%)作为热修复重定向区,用于存放当发现磁盘有缺陷时的待写数据,并对写入该区的所有数据进行登记,以便于以后对数据进行访问。例如:系统要向第12磁道10扇区写数据,但发现该扇区是坏的时,便将数据写到热修复区(如153磁道27扇区)。以后要读12磁道10扇区的数据时,便从153磁道27扇区中读。252020/2/11写后读校验为了保证所有写入到磁盘的数据都能写入完好的盘块中,应该在每次写数据时,又立即从磁盘上读出该块数据,并同写前的数据进行对比(校验)。若两者不一致,则认为盘块有缺陷,便将该数据写入到热修复区。并对该坏盘块进行登记。262020/2/118.4.2第二级容错技术SFT-II第一级容错只能用于防止磁盘表面部分故障造成的数据丢失。如果磁盘驱动器或磁盘控制器发生故障,则第一级容错就无能为力了。1)磁盘镜像2)磁盘双工272020/2/111)磁盘镜像磁盘驱动器故障的容错。在同一磁盘控制器控制下,增设一个完全相同的磁盘驱动器。每次将数据写主磁盘时,同时将数据也写入到备份磁盘。一个磁盘驱动器发生故障时,必须立即发出警告,尽快修复。磁盘利用率为50%磁盘控制器主机通道磁盘驱动器282020/2/112)磁盘双工磁盘控制器或控制器与CPU之间的通道故障的容错。将两台磁盘驱动器分别接到两个磁盘控制器上。两个磁盘上的数据完全相同。主机磁盘控制器磁盘控制器通道通道磁盘驱动器292020/2/118.4.3基于集群技术的容错功能SMP对称多处理(SymmetricalMulti-Processing),是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。302020/2/118.4.3基于集群技术的容错功能集群:由一组互连的自主计算机组成统一的计算机系统。双机热备份模式。双机互为备份模式。公用磁盘模式。312020/2/118.4.4后备系统常用的后备系统设备。磁带机硬盘光盘322020/2/118.5数据一致性控制数据一致性的概念在数据库中出现较多。硬件支持主要是要求在系统中能配置一个高度可靠的存储器系统,或称之为稳定存储器。实现一个稳定存储器的措施是采用冗余技术。将一份信息同时存放在多个独立的、非易失性存储器上。目前采用磁盘双工方式来实现稳定存储器。332020/2/118.5.1事务1、事务(Transaction)的定义事务是用于访问和修改各种数据项的一个程序单位。可以看作是一系列的读和写操作。事务的操作全部完成时要执行托付(commit)操作来终止事务。事务失败时要执行夭折(Abort)操作。事务具有原子性:事务的操作要么全部完成,要么一个也不做。342020/2/112、事务记录记录事务运行时所有对数据项的修改信息。又称运行日志(Log)。该记录包括:事务名事务的唯一标识数据项名被修改的数据项标识旧值新值当一个事务发生时,将一个事务记录也写入事务记录表中。(Ti开始)记录,(Ti修改)记录,(Ti托付)记录352020/2/113、恢复算法由于一组被事务Ti修改的数据以及它们被修改前和修改后的值,都能在事务记录表中找到。因此当系统发生故障后,利用事务记录进行故障恢复。搜索整个事务记录表:对于已经完成了各类操作的事务,执行redo操作——把所有被事务Ti修改过的数据设置为新值(有开始有托付记录)对于未全部完成的事务,执行undo操作——把所有被事务Ti修改过的数据恢复为修改前的值(有开始无托付记录)362020/2/118.5.2检查点1、检查点(Checkpoints)的作用随着系统的运行,事务记录表会变得越来越大,这样当发生故障时,搜索整个事务记录表来进行恢复就是一件非常费时的工作。因而引入检查点。引入检查点的主要目的,是使对事务记录表中事务记录的清理工作经常化,即每隔一定时间便做一次下述工作。372020/2/118.5.2检查点1、检查点(Checkpoints)的作用首先:将驻留在易失性存储器中的当前事务记录表中的所有记录,输出到稳定存储器中;其次:将驻留在易失存储器中的所有已修改数据,输出到稳定存储器中;然后:将事务记录表中的检查点记录,输出到稳定存储器中;最后:每当出现一个检查点记录时,系统便执行恢复操作,利用redo和undo过程实现恢复功能。382020/2/112、新的恢复算法在引入检查点后,当发生故障后,只需对最后一个检查点以后开始的事务执行恢复工作。392020/2/118.5.3并发控制在多进程或多用户系统中,可能有多个事务在并发执行,这些事务对数据的修改应该是互斥的。(参见进程同步)可以利用PV操作来实现互斥。但在数据库和文件服务器中,应用得最多的还是较简单且灵活的同步机制:锁。402020/2/11锁即操作系统中的一标志位,0表示资源可用,1表示资源已被占用。用户程序不能对锁直接操作,必须通过操作系统提供的上锁和开锁原语来操作。通常锁用w表示,上锁开锁原语分别用lock(w)、unlock(w)来表示。412020/2/11上锁和开锁原语上锁原语lock(w)可描述为:whilew=1dono-op;w:=1;开锁原语unlock(w)可描述为:W:=0;422020/2/11用原语实现进程互斥432020/2/111、互斥锁当事务访问一数据项时,给它上锁,访问完后开锁。442020/2/112、互斥锁和共享锁互斥锁可以简单实现事务的并发控制,但会影响并发度。因为当一个事务读一个数据项时,另一事务应该也能读同一数据项,但上互斥锁时没有这种可能。所以引入共享锁:事务读对象时申请共享锁,若该对象未上锁或上的是共享锁,则可以申请到。事务写对象时申请互斥锁,只有对象未上锁时才能申请到。452020/2/118.5.4
本文标题:第8章磁盘管理(2)
链接地址:https://www.777doc.com/doc-3650563 .html