操作系统7磁盘管理-概述.ppt

上传人:牧羊曲112 文档编号:5981100 上传时间:2023-09-10 格式:PPT 页数:44 大小:3.14MB
返回 下载 相关 举报
操作系统7磁盘管理-概述.ppt_第1页
第1页 / 共44页
操作系统7磁盘管理-概述.ppt_第2页
第2页 / 共44页
操作系统7磁盘管理-概述.ppt_第3页
第3页 / 共44页
操作系统7磁盘管理-概述.ppt_第4页
第4页 / 共44页
操作系统7磁盘管理-概述.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《操作系统7磁盘管理-概述.ppt》由会员分享,可在线阅读,更多相关《操作系统7磁盘管理-概述.ppt(44页珍藏版)》请在三一办公上搜索。

1、磁盘管理,2004.5.14,磁盘管理,磁盘储存器管理,分配空间组织文件的存取方式提高磁盘储存空间的利用率提高I/O速度磁盘高速缓存优化磁盘数据布局其他手段保证文件系统的可靠性磁盘容错技术 SFT磁盘冗余阵列 RAID数据一致性控制,磁盘的结构,固定头磁盘移动头磁盘,磁盘设备结构,提高I/O速度的主要途径,选择性能好的磁盘采用适当的调度算法设置磁盘高速缓冲区,磁盘访问时间,寻道时间旋转延迟时间传输时间,旋转延迟时间/寻到时间,硬盘,Ts=m n+s,寻道时间其中:m为常数;n为移动磁道数;s为启动磁盘时间Tr旋转延迟时间:硬盘大约8.3ms,软盘50ms100msTt 传输时间:读/写数据的实

2、际时间=b/(rN)b:读写字节数;r:磁盘转速;N:每条磁道上的字节数。磁盘访问时间 Ta=Ts+Tr+Tt,磁盘调度算法,先来先服务最短寻道时间优先扫描算法(电梯调度)循环扫描算法(环形)N-步扫描算法N-Step-SCAN,文件物理组织的不同方式,连续文件 串联文件 索引文件 Hash文件,1.连续分配,连续分配(contiguous):只需记录第一个簇的位置,适用于预分配方法。可以通过紧缩(compact)将外存空闲空间合并成连续的区域。,2.链接分配,链接分配(chained):在每个簇中有指向下一个簇的指针。可以通过合并(consolidation)将一个文件的各个簇连续存放,以提

3、高I/O访问性能。簇:一组磁盘块隐式链接,显式链接,将指针显式地存放在一张表中,DOS的文件物理结构(FAT表),将指针显式地存放在一张表中(FAT),3.索引分配,索引分配(indexed):文件的第一个簇中记录了该文件的其他簇的位置,只需在索引中记录连续簇的数目。,两级索引,混合索引方式,两级索引,混合索引是指多种分配方式相结合而形成的一种分配方式,比如:直接地址、一级索引、二级索引、三级索引混合的分配方式。例如UNIX、LINUX的文件物理结构都是采用的这种混合分配的方式。,存储器存储空间的管理,空闲表法空闲链表法位视图成组链接法,空闲盘块的成组链接法,磁盘容错技术,也称系统容错技术(S

4、ystem Fault Tolerance)SFT-I 低级磁盘容错技术防止磁盘表面出错引起的数据丢失;SFT-II 中级磁盘容错技术防止磁盘驱动器或控制器故障所引起的系统不正常;SFT-III 高级磁盘容错技术提供了文件服务器镜像功能在主服务器出现故障时能有备份服务器不间断地接替主服务器的工作。容错技术是通过在系统中设置冗余部件来提高系统可靠性的一种技术。,SFT-I,双份目录和双份文件分配表在不同磁盘或者不同磁盘分区做目录和分区表备份热修复重定向使用2%-3%的磁盘容量作为热修复重定向区写后读校验写后再读出来与之比较,不一致则重写,仍不一致则利用热修复重定向技术将数据写入重定向区中,并记录

5、损坏盘块的地址到坏盘块表中System Fault Tolerance,SFT-II,磁盘镜像两个磁盘驱动器,有个备份磁盘做镜像,采用写后读校验方式磁盘双工两个磁盘控制器,有个备份磁盘驱动器和磁盘,采用并行写的方式写入磁盘,使用分离搜索(Split Seek)技术,从相应快的通路取得数据。,磁盘驱动器,RAID,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损失数据得以恢复,

6、从而保障了用户数据的安全性。,RAID的优点,成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提

7、供更高的安全性。RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。RAID巳经发展了六个级别,其级别分别是0、1、2、3、4、5及后来还出现了RAID0+1(也称RAID10)等等,数据分段并行交叉存取,数据分段就是将把一个文件的数据写到多个硬盘,而不是只写到一个盘上。因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘(virtual disk),所以其数据是以分段的方式顺序存放在磁盘阵列中,数据按需要分段,从第一个磁盘开始放,放到最后一个磁盘再回到第一个磁盘放起,直到数据分布完毕。在整个磁盘阵列中,数据被均匀等量的分成数据块分别放在几个硬盘中。这种数据被分割开交叉存储在几

8、个硬盘中叫做段(Striping),而区块(Stripe Block)的大小也是可以调整的。,RAID 0,RAID 0其实就是所谓的数据分段 Disk Striping。RAID 0模式一般通过2个以上的硬盘组成一个磁盘阵列来实现。在磁盘阵列子系统中,几个硬盘并行处理,在存取数据时由几个硬盘分别同时进行操作,读写各自的部分。数据按系统规定的“段”为单位依次写入多个硬盘,例如数据段1写入硬盘0,段2写入硬盘1,段3写入硬盘2等等。当数据写完最后一个硬盘时,它就重新从盘0的下一可用段开始写入,写数据的全过程按此重复直至数据写完。所以这样整个系统的性能会得以大大的提高。,RAID 1,如果说RAI

9、D 0是追求性能而放弃安全性的话,那么RAID 1就正好相反。RAID1是追求安全性而放弃性能的一种解决方案。它的做法就是通过系统数据冗余-将数据进行实时的备份来完成RAID 1又称为Mirror或Mirroring,意译为磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。由于需要空间存入镜像,因此我们所能使用的空间只是所有磁盘容量总和的一半,例如总容量为80GB的两个40GB的硬盘只拥有40GB的可用储存量,RAID 1,RAID 10(RAID 0+1),RAID 1和RAID 0都各有优点,但如果单独使用

10、RAID 1或RAID 0都无法满足既追求性能又可确保系统资料安全性的用户的需要。为了解决这一问题,人们又推出RAID 0+1模式。RAID 0+1也称之为RAID 10,是磁盘分段及镜像的结合,结合了 RAID 0及 RAID 1最佳的优点。它采用就是2组RAID 0的磁盘阵列互为镜像,也就是它们之间又成为了一个RAID 1的阵列。在每次写入数据时,磁盘阵列控制器会将数据同时写入两组大容量阵列硬盘组(RAID 0)中。在资源的占用上这种方式同RAID 1一样,虽然其硬盘使用率只有50%,但它却是具有最高效率的划分方式。,RAID 10(RAID 0+1),RAID 2,带海明码校验磁盘阵列R

11、AID2是为大型机和超级计算机开发的。磁盘驱动器组中的第一个、第二个、第四个第2的n次幂个磁盘驱动器是专门的校验盘,用于校验和纠错,例如七个磁盘驱动器的RAID2,第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。RAID2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID2很少实际使用。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。但是利用海明码

12、校验必须要付出数据冗余的代价。,RAID 3,同RAID 0一样,RAID 3也采用数据分块并行传送的方法,但有所不同的是它在数据分块之后计算它们的奇偶校验和,然后把分块数据和奇偶校验信息一并写到硬盘阵列中。采用这种方法对数据的存取速度和可靠性都有所改善,当阵列中任一硬盘损坏时,可以利用其它数据盘和奇偶校验盘上的信息重构原始数据。在硬盘利用率方面,RAID 3比RAID 1要高,例如由5个硬盘组成的阵列,冗余度只有20。不过,RAID 3也有缺点,由于奇偶校验信息固定存储在一个硬盘上,使该硬盘负担较重,从而产生新的瓶颈。,RAID4,并行处理磁盘阵列 RAID4对每组硬磁盘仍然要一个ECC校验

13、磁盘,与RAID3不同的是,RAID4是在同一磁盘的扇区一级上进行数据交叉存储,因此每组磁盘有并行完成多个I/0操作的能力,从而改善了数据读写的性能。但是,其专用的校验磁盘在写操作时,依然要进行数据校验位的计算,使得整体性能还是达不到理想的要求,所以RAID4很少被使用。RAID 4的方式是RAID0 加上一个校验磁盘RAID4如果校验磁盘故障,就变成RAID0,读取的性能没有影响,但写入的性能提升,因为不用计算校验值。但如果其中一个数据盘故障,不管是对故障盘的读取或写入都必须把同一所有的分段读出来以恢复故障盘的数据,这使的RAID4性能降低。,RAID5,无独立校验盘的奇偶校验磁盘阵列。同样

14、采用奇偶校验来检查错误,也称为交错校验磁盘阵列,类似于RAID4,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。这样就消除了I/0“瓶颈”现象,使得I/0多通道同时读和写都具有很好的性能。从目前的实际应用情况来看,RAID5技术是RAID等级中被用户最常选用的方式之一。,RAID6,带有两种分布存储的奇偶校验码的独立磁盘结构几乎没有进行商用。它使用一种分配在不同的驱动器上的第二种奇偶方案,扩展了RAID 5。它能承受多个驱动器同时出现故障,但是,性能尤其是写操作却很差,而且,系统需要一个极为复杂的控制器。当然由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时由于对控制器的设计变得十分

15、复杂,用于计算奇偶校验值和验证数据正确性所花费的时间比较多。,RAID1到RAID5,从RAID1到RAID5的几种方案中,不论何时有磁盘损坏,都可以随时拔出损坏的磁盘再插入好的磁盘(需要硬件上的热插拔支持),数据不会受损,失效盘的内容可以很快地重建,重建的工作也由RAID硬件或RAID软件来完成。但RAID0不提供错误校验功能,所以说它不能算作是RAID,其实这也是RAID0为什么被称为0级RAID的原因0本身就代表“没有”。,RAID的应用,当前的PC机,整个系统的速度瓶颈主要是硬盘。虽然不断有Ultra DMA33、DMA66、DMA100等快速的标准推出,但收效不大。在PC中,磁盘速度

16、慢一些并不是太严重的事情。但在企业服务器和高档图形工作站中,这是不允许的,企业服务器和高档图形工作站必须能响应来自四面八方的服务请求,这些请求大多与磁盘上的数据有关,所以企业服务器和高档图形工作站的磁盘子系统必须要有很高的输入输出速率。为了数据的安全,还要有一定的容错功能。RAID提供了这些功能,所以RAID被广泛地应用在企业服务器和高档图形工作站体系中。RAID提供的容错功能是自动实现的(由RAID硬件或是RAID软件来做)。它对应用程序是透明的,即无需应用程序为容错做半点工作。要得到最高的安全性和最快的恢复速度,可以使用RAID1(镜像);要在容量、容错和性能上取折衷可以使用RAID5。在

17、大多数数据库服务器中,操作系统和数据库管理系统所在的磁盘驱动器是RAID1,数据库的数据文件则是存放于RAID5的磁盘驱动器上。,后备系统,类型磁带机硬盘光盘拷贝方法完全转储法增量转储法,磁盘高速缓存 Disk Cache,磁盘高速缓存的形式内存开辟独立的空间作为disk cache,大小固定将所有内存空区作为磁盘I/O缓冲池,与分页系统共享数据交付Data Delivery将disk cache中的数据传送给请求进程数据交付、指针交付 置换算法当高速缓存满时,若再写入高速缓存则需换出不用盘块,LRU链周期性写回周期地将disk cache中被修改过的内容写回磁盘,优化磁盘数据布局,优化物理块

18、的分布使磁头的移动距离最小,比如:安排一个文件的两块数据块在同一磁道,消除磁头在磁道间的移动优化索引节点的分布访问文件时,先访问索引节点,然后再去访问盘块将磁盘上的所有磁道分成若干个组,在每个组中都含有索引节点、盘块和空闲盘块表,使得索引节点盘块与存放文件的盘块间距离最小(如:Linux的磁盘文件逻辑结构),提高磁盘I/O速度的其他方法,提前读read-ahead顺序访问时,常采用提前读入下一块到缓冲区中延迟写将本应立即写回磁盘的数据挂到空闲缓冲区的队列的末尾。直到该数据块移到链头时才将其写回磁盘,再作为空区分配出去虚拟盘virtual disk利用内存空间去仿真磁盘(RAM盘)Vitual

19、disk 与disk cache的区别是:vitual disk的存放的内容由用户完全控制Disk cache中的内容完全是由操作系统控制,数据一致性控制,当数据库中的一个数据分别存入到几个地方时,就需考虑数据的一致性问题例如:商品的进价有错时,需要分别修改流水账付费帐分类账总账等等当这种修改进行到中途时,突然发生系统故障,则帐目中的这个数据不一致了,事务Transaction,事务定义用于访问和修改各种数据项的一个程序单位。是一系列的读和写操作一个事物在对一批数据进行操作时,要么全部完成,修改原有数据,要么一个也不修改事务记录(Transaction Record)记录事务运行时数据项修改的

20、全部信息(Log)恢复算法利用记录表,系统能处理任何故障而不致使存储器中信息丢失,恢复算法利用两个过程undo 恢复为修改前的值redo 设置为新值,检查点CHECKPOINT,检查点的作用每隔一定时间,便做一次事务清理新的恢复算法只须处理对最后一个检查点之后的事务记录进行处理处理原则如下:T事务表中有记录,执行redo(T)T事务表中无记录,执行undo(T)其中T是检查点之后执行的事务集合。,具有检查点记录的恢复日志,其他情况的数据一致性问题,重复文件的一致性系统对关键文件可能保留了多个副本,副本之间的一致性问题盘块号一致性的检查FAT表(已分配区)与空闲块表(未分配区)计数应为互补链接数一致性检查UNIX的链接计数count与从根目录出发查找某一文件出现的次数相比较看是否一致。,盘块号的一致性检查,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号