一、外存的组织方式
1、连续组织方式(连续分配方式)
(1)、优点
-
顺序访问容易
-
顺序访问速度快
(2)、缺点
-
要求为一个文件分配连续的存储空间
-
必须事先知道文件的长度
-
不能灵活的删除和插入记录
-
对于那些动态增长的文件,由于事先很难知道文件的最终大小,因而很难为其分配空间
2、链接组织方式
(1)、索引组织方式
优点
-
消除了磁盘的外部碎片,提高了外存的利用率
-
对插入、删除和修改记录都非常容易
-
那适应了这样的动态增长,无需事先知道文件的大小
(2)、隐式链接
(3)、显式链接
3、FAT技术
将一个物理磁盘分成4个逻辑磁盘,每个逻辑磁盘就是一个卷(也称为分区)每个卷都是一个能够被单独格式化和使用的逻辑单元功能键,系统分配空间时,使用一个卷中包含了文件系统信息,一组文件以及空闲空间
4、NEFS
-
特征:使用了64位磁盘地址在NEFS中可以很好的支持长文件名,单个文件名限制在255个字符以内,全路径名为32767个字符
-
具有系统容错功能,即在系统出现故障或差错时,仍能保证系统正常运行
-
能保证系统中的数据一致性
-
文件加密
-
文件压缩
5、索引组织方式
(1)、单级索引组织方式
-
缺点:不能支持高校的直接存取;FAT需占用较大的内存空间
-
优点:支持直接访问
-
主要问题:每当建立一个索引文件时,应该为该文件分配一个索引块来将分配给该文件的所有盘块号记录于其中
(2)、多级索引组织方式
-
主要优点:大大加快了对大型文件的查找速度
-
主要缺点:在访问一个盘块时,其所需启动磁盘的次数随着索引级数的增加而增多,即使是对小文件也是如此
(3)、增量索引组织方式
二、文件存储空间的管理
1、对磁盘管理器管理的主要任务和要求
-
有效的利用存储空间,采用合理的文件分配方式为文件分配,必要的存储空间,使每个文件都能“各得其所”,并能有效地减少磁盘碎片,改善存储空间的利用率
-
提高磁盘的I/O速度,通过各种途径,包含采用磁盘高速缓存等措施来提高磁盘的I/O速度,以增加对文件的访访问速度,从而改善文件系统的性能
-
提高磁盘系统的可靠性,采取多种技术,其中包含必要的成语措施和后备系统来提高磁盘系统的可靠性
2、空闲表法
-
空闲表法属于连续分配方式,它与内存的动态分配方式雷同,它为每个文件分配一块连续的存储空间
-
存储空间的分配与回收:在系统为某新创建的文件分配空闲盘块时,先顺序的检索空闲表的各表项,直到找到第一个其大小能满足要求的空闲区,再将该盘区分配给用户(进程),同时修改空闲表
-
空闲链表法:将所有空闲盘区拉成一条空闲链,根据构成链所用基本元素的不同,可以把链表分成两种形式:空闲盘块链和空闲盘区链
-
-
空闲盘块链
-
将磁盘上的所有空闲空间以盘块为单位拉成一条链,其中的每一个盘块都有指向后继盘块的指针
-
-
空闲盘区链
-
将磁盘上的所有空闲盘区(每个盘区可包含若干个盘块)拉成一条链,在每一个盘区上除含有用于只是下一个空闲盘区的指针外,还应有能指明本盘区大小的信息
-
-
-
3、空闲链表法
4、成组链接法
三、提高磁盘I/O速度的途径
1、提高对文件的访问速度的方法
-
改进文件的目录结构以及检索目录的方法,来减少对目录的查找时间
-
选取好的文件存储结构,以提高对文件的访问速度
-
提高磁盘的I/O速度,能将文件中的数据快速的从磁盘传送到内存中,或者相反
2、提高磁盘I/O速度的其他方法
-
提前读
-
延迟写
-
优化物理块的分布
-
虚拟盘
3、磁盘高速缓存
指在内存中为磁盘盘块设置的一个缓冲区,在缓冲区中保存了某些盘块的副本。
4、RAID的分级
(1)、0RAID-0 (Strip,条带卷)
是以条带形式将数据均匀分布在阵列的各个磁盘上。
-
磁盘数:最低2个
-
优点:读、写性能提升,不存在校验,不会占太多cpu资源,设计、使用和配置比较简单
-
缺点:无冗错能力,不能用于对数据安全性要求高的环境
-
可用空间:N(硬盘个数)*min(S1,S2…取决于最小的硬盘的空间)
-
适用领域:视频生成和编辑、图形编辑,其它需要大的传输带宽的操作
(2)、RAID-1 (Mirror,镜像卷)
以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上
-
磁盘数:最低2个,2n个,n大于等于1
-
优点:读性能提升、写性能略有下降,具有100%数据冗余,提供最高的数据安全保障理论上可实现2倍的读取效率设计和使用较简单;
-
缺点:开销大,空间利用率只有50%,在写性能方面提示不大
-
可用空间:1*min(S1,S2…由最小硬盘的空间决定)
-
适用领域:财务、金融等高可用、高安全的数据存储环境
(3)、RAID-4
数据都是依次存储在多个硬盘之上,独立的一个硬盘做冗余备份上,容错能力得到了得升。但是独立的硬盘盘访问压力较大,存在性能瓶颈。第3个磁盘存储检验码。
-
优点:有着性能和冗余的均衡考虑。
-
缺点:固定的冗余盘成为磁盘阵列I/O瓶颈。 最少需要3块硬盘
(4)、RAID-5
采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上;
相对于RAID-4把校验码存放在一块硬盘上,而RAID-5是将3块盘循环轮流作存放校验码。左对称即校验码存放各盘的顺序是先在前2块盘存数据,第3块盘存校验码,依次类推,右对称相反
-
特点:磁盘数最低3个
-
优点:读性能较高,中等的写性能,校验信息的分布方式存取,避免出现写操作的瓶颈
-
缺点:控制器设计复杂,磁盘重建的过程比较复杂
-
可用空间:(N-1)*min(S1,S2,…其中的最小空间)
-
有容错能力:1块磁盘
-
适用领域:文件服务器、email服务器、web服务器等环境,数据库应用
(5)、RAID-6
在RAID-5的基础上增加了一个校验码,大大提高了冗余性能
(6)、RAID-10
RAID10结合RAID1和RAID0,先镜像,再条带化
(7)、RAID-01
先分成两组做成RAID-0,再把组成的RAID-0做成RAID-1;不符合常用方法,每一组有一块坏的硬盘可能性大;
(8)、RAID-50
是RAID5和RAID0的结合,先实现RAID5,再条带化;(先做RAID-5在做RAID-0,最少6块盘,每组允许坏1块盘,空间利用率灵活)、RAID7(某家公司的私有技术,实际是文件服务器)
-
特点:磁盘数最低6个
-
优点:比RAID5有更好的读性能,比相同容量的RAID5重建时间更短,可以容许N个磁盘同时失效
-
缺点:设计复杂,比较难实现;同一个RAID5组内的两个磁盘失效会导致整个阵列失效
-
适用领域:大型数据库服务器、应用服务器、文件服务器等应用;
(9)、JBOD
将多块磁盘空间合并成一个大的连续空间使用;
5、RAID的优点
-
可靠性高
-
磁盘I/O速度高
-
性能/价格比高
四、提高磁盘可靠性的技术
1、第一级容错技术SFT-I
-
是最基本的一种磁盘容错技术,主要用于防止因磁盘表面缺陷所造成的数据丢失
-
双份目录和双份文件分配表
-
-
热修复重定向和写后读校验
-
热修复重定向:系统将磁盘容量的很小一部分(例如2%~3%)作为热修复重定向区,用于存放当发现磁盘有缺陷时的待写数据,并对写入该区的所有数据进行登记,以便于以后对数据进行访问
-
写后读校验方式:为保证所有写入磁盘的数据都能写入到完好的盘块中,应该在每次向磁盘中写入一个数据块后,又立即将它读出,并送至另一缓冲区中,再将该缓冲区内容与内存缓冲区中在写后仍保留的数据进行比较,若两者一致便认为此次写入成功;否则再重写入重写后两者人不一致,则认为该盘块有缺陷,此时,便将应写入该板块的数据,写入到热修复重定向区中
-
-
2、第二级容错技术SFT-II
主要用于防止由磁盘驱动器和磁盘控制器故障所导致的系统不能正常工作
磁盘镜像:为了避免磁盘驱动器发生故障而丢失数据,便增设了磁盘镜像功能
3、基于集群技术的容错功能
集群:是指由一组互联的自主计算机组成统一的计算机系统。集群系统不仅可以提高系统的并行处理能力还可用于提高系统的可用性
-
双机热备份模式
-
双机互为备份模式
-
公用磁盘模式
4、后备系统
-
磁带机
-
硬盘
-
光盘驱动器
五、数据一致性控制
1、事务
用于访问和修改各种数据项的一个程序单位,事务也可以被看作是一系列相关读和写操作
2、检查点
引入检查点的主要目的:使对事物记录表中事物记录的清理工作经常化,即每隔一定时间便做一次下述工作:首先是将驻留在易失性存储器(内存)中的当前事务记录表中的所有记录输出的稳定存储器中,其次是将驻留在易失性存储器中的所有已修改数据输出到稳定存储中,然后是将事务记录表中的(检查点)记录输出到稳定存储中,最后是每当出现一个(检查点)记录时,系统便执行上小节所介绍的恢复操作,即利用redo和undo过程实现恢复功能