【毕业学位论文】基于多模块的可配置阵列存储系统的模拟研究_第1页
【毕业学位论文】基于多模块的可配置阵列存储系统的模拟研究_第2页
【毕业学位论文】基于多模块的可配置阵列存储系统的模拟研究_第3页
【毕业学位论文】基于多模块的可配置阵列存储系统的模拟研究_第4页
【毕业学位论文】基于多模块的可配置阵列存储系统的模拟研究_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录1 绪论 . 计算机模拟技术 . 阵列模拟研究现状 . 本文的研究内容及意义 . 本文章节组织 .关技术 . 磁盘技术 . 文件系统 . 阵列技术 .模块结构模型 . 多模块模型的模块划分 . 多模块模型的性能参数 . 模块模拟算法 . 多模块结构模型的应用 .程实现 . 软件结构 . 具体实现 . 测试结果 .结与展望 .论11 绪论 绪论 绪论 绪论在当今这个信息化的社会,数据联系着万事万物,每时每刻都产生着大量的数据 ,伴随着移动互联网的进一步发展 , 各种移动手持联网设备数量的急剧增加 , 使得数据量呈爆炸式增长。 图灵奖获得者 J i m G r a y 曾预言 : 未来每 18个月产生的 新 数据 ,将 等于 之前的 数据量之和 。 如何存储大量且快速增长数据 , 对于企业或信息化部门的存储系统来说是个严峻的考验 ; 如何更加安全 、 高效的存储和管理这些数据 , 是我们这些存储系统研究管理人员面临的重大课题。磁盘已成为现在的普及数据存储设备 , 而磁盘由于受自身机械结构的限制 , 其性能提升速度已经远远落后于 C P U、 集成电路的性能提升速度 , 成为了计算机系统的发展瓶颈 。 单个磁盘或磁盘的简单级联 , 已经难以满足处于信息大爆炸时期的人们对存储系统性能和可靠性的要求 , 这样就促进了磁盘阵列的产生和发展 。 磁盘阵列技术自提出到现在,经历了二十多年的发展,成为了各个存储系统的极其重要的组成部分。对一个存储系统而言 , 其存储基础是各种磁盘阵列 , 磁盘阵列的性能决定了整个系统的性能 , 阵列的研究仍是存储系统研究是主要方面 。 对阵列的研究 , 若是直接通过搭建真实硬件平台,显然是能得到比较真实的实验数据的,但其硬件价格是非常昂贵的 ,除了一些资金雄厚的大型的重点实验室 , 一般人很难承受得起 , 而且其优化也比较困难 ,在更改阵列结构或配置时比较麻烦 , 此种方法研究时较少采用 ; 如果采用计算机模拟的方法进行仿真研究 , 则不需要硬件支持 , 并能很方便的配置和搭建各种阵列类型 , 能很方便的进行各种优化、比较,这种低成本、灵活、方便的研究方法已经被广泛采用。1 . 1 计算 机模拟 技术近年来 , 由于资源 、 环境等的限制 , 采用计算机模拟技术来对各种物理实验进行模拟仿真测试 , 已经成为当前科学研究的重要手段 。 计算机模拟 , 是指在计算机上对一个真实的复杂系统建立一个数字模型 , 对其系统行为进行大量的重演或动态仿真 , 从而测得该系统的相应的数量指标 。 现在 , 计算机模拟技术已被广泛应用于科学实验 、 军事指挥 、 工程技术 、 社会科学以及生产管理中 , 这是计算机在各个学科中应用的一个重要方面 1 。模拟系统 、 模拟建模方法学 、 模拟软件等方面是计算机模拟技术的研究的重要课题 。近几年来,上述领域得到长足的发展,出现了多项新技术、新成果:( 1 ) 面向对象建模1 绪论2面向对象建模的主要研究方面是面向方程式 、 面向工艺过程 、 面向工程图等的建模方法,可以分为两种:第一种是适用于实际系统的建模,主要由人机图形输入接口 、 模块化模型 、 模拟对象数据库三部分组成 ; 一是采用程序设计语言编写面向对象的各种软件模拟包 2 。( 2 ) 分布式系统模拟分布式模拟是将分布在各个应用领域的多种资源 , 集成为一个大型模拟系统 , 打破了不同领域之间的界限 , 使人们能在这个模拟的环境里对各种相互影响 、 相互制约的问题进行分析、研究,这对战争、经济或社会问题的研究有重大的意义 3 。计算机技术、网络技术 、 建模技术 、 虚拟现实技术等技术的不断发展 , 为建立这种虚拟的跨行业的大型的坏境模拟系统提供了必要的的技术支撑。( 3 ) 人工智能人工智能就是为了实现对人的模拟,让机器能像人一样独立 “ 思考 ” ,是人工智能研究者多年来的夙愿 , 近年来 , 人工神经元网络掀起了一股国内外的研究热潮 。 人工智能的模拟是对一种多层次的复杂思维过程的模拟 , 人工神经元理论是智能化的主要研究内容。在数据高速处理技术、数值计算技术和智能技术三大技术不断发展的基础上 , 智能系统的智能化将越来越高。( 4 ) 嵌入式仿真嵌入式仿真是指在实际工程系统中嵌入具有专用目的模拟系统 , 这是一个新兴的研究领域 , 主要用于控制系统运行 、 调度 、 实时监控及辅助决策等方面 , 比如工厂车间的生产调度和军队士兵的模拟训练是嵌入式仿真的应用。总而言之,计算机模拟技术的应用十分广泛,前景非常广阔。1 . 2 阵列 模拟研 究现状现在 , 磁盘阵列的模拟研究方法 , 已是存储领域一种重要的研究方法 , 它对存储系统的性能优化和可靠性理论研究的快速发展起了关键作用 。 目前 , 国外已经提出的磁盘阵列模拟软件主要有:( 1 ) D i s mD i s m 是由 卡内基梅隆大学 的 G a 人于 1995年开发出来的,到现在为止,他们对此软件进行了 3 次存储系统功能模块添加和程序代码优化工作 , 目前最新版本 是D i s m 已经实现了对磁盘阵列级别 R A I D 5 的支持,并添加了固态硬盘 S S D 的模拟。该软件主要用来模拟磁盘阵列的性能 , 主要功能模块包括阵列控制器 、 总线 、 设备驱动 、 磁盘控制器及请求调度器等 , 其中 , 磁盘控制器模块能够对不同磁盘生产厂家的1 绪论3众多型号磁盘进行模拟 , 并支持最新的固态硬盘技术 , 可见做得是相当精细 , 模拟方式比较合理,测试结构比较准确,被广大研究者普遍认同 4 。( 2 ) P a t h e a t h e 由 H P 公司的 J i l k e s 等人于 1992年研发出来的一款商业软件 , 它具有存储系统空闲阶段的预测及探测功能 , 它模拟实现了磁带 、 磁盘及磁盘阵列控制器的各种操作,并能对磁盘阵列的性能及可靠性进行相关分析 5 。( 3 ) V e s p e t e r 大学的 P e t e r D e R 人于 2006年研发的 , 它的主要功能是为操作系统提供虚拟的硬件支持 , 同时 , 它对磁盘也进行了模拟 , 与 D i s m 的磁盘控制器模块相比,它做了适当简化。目前 , 国内暂时没有发现独立开发的存储系统的模拟软件 , 国内的阵列系统的模拟研究大部分是基于 D i s m 这个软件而进行的 , 例如 , 华中科技大学的冯丹教授实现 的R A I D 在线数据重建方法仿真器,就是在 D i s m 基础上做的相关研究。基于 这种情 况, 本文 给出一 个基于 多模块 的可配 置磁盘 阵列存 储系统 的设计 与实现,该系统支持 R A I D 0 、 R A I D 1 、 R A I D 3 、 R A I D 5 、 R A I D 6 等主流阵列级别,另外 , 还添加了 R A I D 5x 阵列。1 . 3 本文 的研究 内容及 意义本文在磁盘技术 、 文件系统和磁盘阵列原理的基础上 , 深入研究了多模块可配置存储系统的原理及应用 , 并完成了阵列模拟系统的算法设计与编程实现 。 主要研究内容如下:( 1 ) 以磁盘技术 、 文件系统和阵列原理为基础 , 研究了各种阵列的存储性能及数据可靠性,并选定阵列研究的主要性能指标,如阵列的存储访问效率、容错性等。( 2 )通过对多模块原理的深入研究, 将整个存储系统划分为主机模块、带宽模块 、转换模块 、 控制模块 、 磁盘模块 、 以及无关模块 , 并对各个模块的功能进行了细致划分 。同时,还研究了如何通过不同模块的组合,配置不同的存储系统。( 3 ) 研究了多模块模型的实际应用解决方案 , 并深入研究了整个存储模拟系统的请求访问流程,详细介绍了相应性能指标的计算方法。( 4 ) 深入研究了各模块相关算法的 , 比如控制模块的校验算法 , 磁盘模块的请求调度算法等;还研究了正常状态和降级状态下的阵列的存储性能。( 5 ) 研究如何使用多线程技术 , 更加逼真的模拟多客户访问阵列的这个动态交互过程。本研 究主要 是针对 多模块 可配置 磁盘阵 列模型 做出了 一系列 的研究 设计并 编程实现 , 这为 磁盘阵列性能 、 可靠性及阵列优化方法的研究提供了一个平台 , 也为 以后网络1 绪论4存储、云存储等存储系统的研究和模拟奠定基础。1 . 4 本文 章节组 织本文结构组织如下:第一章,绪论。首先,简单介绍存储行业的现状;随后,介绍了计算机模拟技术 ,并介绍了国内外磁盘阵列模拟研究现状的研究现状 ; 最后 , 介绍了本文的研究内容与意义。第二章 , 相关技术 。 首先 , 介绍了磁盘的结构 、 性能指标和磁盘接口 ; 随后 , 介绍了文件系统的逻辑块与磁盘数据块的映射方式,以及文件系统基于缓存的优化方法 ; 最后,详细介绍了几种主流的阵列技术。第三章 , 多模块结构模型 。 首先 , 介绍了多模块模型的模块划分 ; 随后 , 介绍了多模块模型的性能参数 ; 然后 , 详细描述了各模块的模拟算法 ; 最后 , 举例说明了多模块结构模型的应用。第四章 , 编程实现 。 首先 , 介绍了软件界面和软件的总体框架 ; 随后 , 对各个模块的具体实现进行了展示 ; 最后 , 对阵列的正常状态下的读写性能和降级状态下的读性能进行了对比分析。第五章,结论与展望。总结了本文所做的工作和贡献,也指出了有待改进的地方 。2 相关技术52 相关 技术 相关 技术 相关 技术 相关 技术磁盘已成为现在的普及数据存储设备 , 而磁盘由于受自身机械结构的限制 , 如马达 、盘片等元件 , 相比之下 , 磁盘的性能提升速度已经远远落后于 C P U、 集成电路的摩尔速度 , 使得存储设备称为了计算机系统的发展瓶颈 。 由于现在互联网和信息化的不断发展 ,对存储设备的容量 、 访问速度以及安全性要求越来越高 , 单个磁盘已经完全无法应对这些需求 。 在这种情况下 , 人们发明了磁盘阵列技术 R A I D ( R e r r a y i s k ) , 将多个磁盘以某种方式组合 , 提供更大的容量 、 更高的访问速度和数据的冗余备份。本章将详细讨论存储系统的三大基本技术:磁盘技术、文件系统、磁盘阵列。2 . 1 磁盘 技术由于磁盘的存储容量大 、 数据的访问速度比较高 、 价格便宜等特点 , 已成为现在的主流数据存储设备,本节将详细介绍磁盘的结构、数据布局和相关技术。2 . 1 . 1 磁盘 数据布 局磁盘的主要部件是盘片 、 磁头 、 马达 、 步进电机 、 电路板 、 底座 。 盘片上均匀地溅镀着极度细微的磁粉 , 磁头利用旋转产生的气流悬浮在盘片上 , 通过控制磁粉粒的南北指向来存储数据,步进电机控制磁头的磁道切换。其结构如图 示。图 盘结构磁盘被逻辑划分为扇区 、 磁道和柱面 , 扇区为最小的存储单位 。 一个磁盘一组盘片组成,盘片数少的只有 2 到 3 片,多的可以在 10 以上。一个盘片的两个盘面都可以用来保存数据,每个保存数据的盘面都对应有一个磁头,当然也不排除只用一面的情况 ,例如,希捷的 S T 380023两个盘片,但只有三个磁头。每个盘面都有成百上千个磁道,有的甚至更多,例如希捷的 S T 31000528盘的默认磁道数是 16,383个 ,磁道为盘面上的一个个同心圆 , 它是由磁性粒子簇通过低级格式化形成的 。 磁道被划成2 相关技术6一段段长度相等的圆弧 , 这就是最小的存储单位 , 扇区 , 每个扇区可以存 512希捷 S T 3160318默认为 63 扇区 / 磁道 , 这是由编址方式决定的 , 但实际上 , 由于每个磁道的周长不同,为提高盘面的空间利用率,不同磁道划分的扇区数目也可以不等 ,其数目远大于 63。 所有盘面上的同一个位置的磁道 , 垂直构成一个柱面 , 数据的存储布局按柱面进行,当一个磁道的读写完成后,通过电子切换至同一柱面的下一个磁道 , 只有当读写数据不在这一柱面上时 , 才进行寻道 , 这大大减少了磁盘机械寻道时间开销 6 。一个扇区是由存储位置标志区 、 数据存储区和校验区三部分组成 。 如图 2.2(a ) 所示 。磁头通过读取扇存储位置区标识 , 就能确定扇区在磁盘中的物理位置 , 其寻址方式主要有两种,一种是 C H S 寻址,即柱面 ( C y l i nd e r ) 、磁头 ( H e a 和扇区 ( S e c t ,这种方式在容量不大的早期磁盘中比较流行,但有 8容量限制。另一种方式是 L B A 寻址 ,即 L a l B l o c k A s s i 在 L B A 地址中 , 不再划分柱面号等物理地址 , 而是将 C H 把物理扇区的柱面 、 磁头和扇区编号通过磁盘自身维护的一张映射表转换为线性的编号 , 这样减轻了操作系统的计算负担 , 大大提高了文件系统的效率 7 。校验区用来检查数据的正确性。传统的扇区的编号布局方式如图 2.2(b)所示,按柱面从外到内,磁道上 1 、 2 、 3 、 4顺序编号 。 在切换磁道时 , 考虑到盘片的空转 , 在同一柱面的不同磁道间 , 下个扇区位置向前移动了一个扇区;在不同柱面间,下个扇区位置向前移动了两个位置。图 盘数据布局在读写数据时,磁盘 控制器 需要对每个 扇区中的数据进行必要处理 ,比如 E C C 码的校验 。 由于现在的磁盘转速越来越快 , 数据密度约来越大导致每磁道的扇区数目也越来越多 。 磁盘控制器对数据的处理需要一定的时间 , 如果磁盘转速过快 , 可能导致数据处理完是 , 已经跨过了指定扇区 , 这样必须等待磁盘再转一圈 , 这造成了时间的浪费 8 。基于这种情况,一位 I B M 的工程师提出了交叉因子编号,即根据磁盘的转速和每个磁道上扇区的数量,对扇区进行交叉编号,如图 示。其中 , 最外圈是顺序编号 , 如果磁盘控制器的处理速度与磁盘的转速相当 , 则应采用这种编号方法,只需要旋转一圈就能读写整个磁道的全部数据 9 ;如果磁盘控制器的2 相关技术7处理速度与磁盘的转速有一定的差距 , 则应选择情况 A 所示编号 , 即中间的那圈是采用的 2:1 交叉因子进行编号 , 扇区号依次为 1 、 10、 2 、 11、 3 、 12、 4 、 13、 5 、 14、 6 、 15、7 、 16、 8 、 17、 9 ,这种编号需要旋转两圈才能完成整条磁道数据读写;如果磁盘控制器的处理速度与磁盘转速相差较大,则应采用情况 B 的 3 : 1 交叉因子进行编号。图 区交叉因子编号2 . 1 . 2 磁盘 性能指 标影响磁盘 性能的因素 主要包括主轴转速 、 平均寻道时间 、 接口速度 、 缓存和单碟容量。( 1 ) . 主轴转速 :主轴转速也就是盘片的旋转速度,是影响磁盘性能的主要因素,转速越高 , 旋转一圈所需时间越短 , 一般情况下数据传输率也就也高 。 特别是在连续存储时 , 主轴转速也就成了磁盘传输率的决定性因素 10。 目前 , 市面上的高端硬盘一般 为10000 或 15000, 而笔记本或台式机的硬盘一般为 5400 或 7200。( 2 ) 平均寻道时间 :寻道时间是指磁头通过磁臂从当前磁道已到下个请求所在磁道所花的时间 , 是影响磁盘性能的又一主要因素 。 而平均寻道时间一般是磁盘生产厂商经过多次测试结果统计得出的 。 当请求数据不是很大时 , 切换磁道所花时间远大于数据传输所花时间,所以磁盘的平均寻道时间越小,随机 I O 请求性能就越好 11。( 3 )高速缓存:缓存用来接收总线上传来的数据和命令,是磁盘电路板上的一 块R A M 芯片,磁盘的必要元件。缓存,顾名思义,缓解总线与磁盘的速度差异,临时存储数据 , 是磁盘实现请求调度与无序传输等技术的场所 12。 它还被用来进行预读 , 提高磁盘的存储效率。现在缓存容量的能达到 64至更高。( 4 ) 单碟容量 : 单牒容量 越大,在盘面面积不变的情况下,盘面的数据密度就越大,这样就导致寻道时间减少和数据的读取速率提高,也就提高了磁盘的读写效能 。2 相关技术8接口速度:接口速度决定了磁盘的外部传输速率。现在的磁盘一般使用的接口 有I D E 、 S 和 S C S I 三种,如果对速度有更高的要求,可以采用 F C 接口。衡量磁盘性能的指标主要有数据传输速率、 I O P S 及连续无故障时间等。( 1 )数据传输速率:数据传输速率分为内部传输速率和外部传输速率。内部传输速率是指在磁头寻道和扇区定位后 , 开始数据传输时的最高读写速率 13。 由于并未把寻道时间与扇区定位时间计算进去,所以内部传输速率一般都很大,比如 10000 的S C S I 磁盘能到达 1000 s 。 而外部传输速率是指数据从磁盘的外部端口到达主板上磁盘控制器的传输速率,这个由磁盘接口来决定。( 2 ) I O P S:即每秒进行的 I O 次数,这个由 I O 大小和位置来决定。( 3 )连续无故障时间: 是指 磁 盘从开始运行 使用 到出现故障的最长时间,一般硬盘的 连续运行无故障时间都在 3 万小 时以上 。2 . 1 . 3 磁盘 接口磁盘接口用来连接磁盘与主机系统,是主机内存和磁盘缓存之间数据传输纽带,其传输速度直接影响着整个系统的性能 。 下面将详细介绍 I D E 接口 、 S 口和 S C S 1 ) I D E ( I gr a t e d D r i l e c t r s )接口,把控制电路与盘体放在一起,减少了磁盘接口的电缆数目与长度 , 其特点是价格便宜 、 兼容性强 , 用户安装非常方便 。 I D P I O 模式 到 D M A 模式 , 然后现在 的 U l t r a D 式 ,在个人电脑中得到广泛应用 14。( 2 ) S A T A ( S e r i a l A T A )接口, 由 希捷 、 迈拓 、英特尔 、 戴尔、 I B M 等几 大厂商共同提出,采用串行线路来传输数据,使用 令集, 使用嵌入式时钟信号, 使得它 具备了更强的纠错能力 , 能对数据或指令执行检查与纠错 , 大幅度的提高了数据传输的可靠性,有取代传统的 P A T A 接口的趋势。( 3 ) S C S I ( S m a l l C om r S y s t e m I r f a c e ) 接口 , 有名称可知 , 它并非只单独支持磁盘设备 , 而是具备与多种外设通信的能力 , 为存储设备提供了很高的性能和灵活的连接方式。它具有 C P U 占用率低、带宽大、多任务、热插拔、应用范围广等特点。虽然它具有很好的性能 , 但由于它的价格偏高 , 一般只应用于服务器或工作站等商业领域 。2 . 2 文件 系统文件系统是对 磁盘存储 空间进行组织和分配 , 负责文件的存储并对存入的文件进行保护和检索的系统 。 文件系统负责磁盘数据的管理 , 并为应用程序抽象出存取数据的透明接口 , 将程序从繁琐的磁盘物理数据存储工作解放出来 , 从而提高了程序开发效率与运行速度 15。文件系统有以下几个重要特性:2 相关技术9文件命名 : 文件磁盘上数据的组合 , 是文件系统提供给用户的一种抽象机制 。 文件系统必须制定一套命名规则 , 用来标识各个数据段及数据段之间的关系 , 应用程序通过文件名查找文件 。 每一个文件系统都维护着一个系统命名空间 , 存储着各个文件名到文件标示符的映射 , 文件系统通过文件名找到每个文件对应的唯一的文件标示符 , 然后通过标示符来查找磁盘文件 。 文件系统命名空间采用树状分级查找结构 , 节点是目录或文件 , 每个目录包括一个或多个目录块 , 每个目录块则包含文件或目录项等信息 , 每个目录项则包含对应的 I - n 16。 I - n 包含文件元数据,如拥有者、创建时间 、 访问权限 、 文件大小及文件数据对应的磁盘物理地址等 。 应用程序通过文件名开始访问文件 , 这时文件系统在文件系统命名空间树中开始查找操作 , 一旦找到 , 它就读取对应文件名的 I - n 并生成一个句柄返回给应用程序 , 这样应用程序就能通过个句柄对该文件进行各种文件操作,直至最后关闭这个文件句柄 17。块映射 : 文件 , 是文件系统提供给用户存放数据的基本单位 , 是逻辑上呈线性排列的字节序列 18。 首先 , 对于一个新创建的文件 , 文件系统把逻辑线性排列的文件划分为一个个固定大小的逻辑块(文件块 ) ;然后,文件系统生成并维护一个从逻辑文件块到磁盘物理块之间的映射 , 信息保存在每个文件的 I - n 构中 。 大多数操作系统采用三级块映射文件:直接、单间接和双间接。图 述了一个文件从应用到磁盘的逐层映射关系。图 磁盘顺序文件系统的文件数据布局数据访问: Wi 统为用户提供简单、方便的数据访问接口, r e a d() 和 w r i t e ( )系统 A P I 函数调用 19。因文件为逻辑线性字节流,所以文件的缺省设置是顺序访问 。 当文件打开时 , 其访问位置 ( 文件指针 ) 初始为文件的起始位置 , 当然也可以通过相关参数的设定来指定函数的访问位置。就整个单机系统来看 , 磁盘的存储性能是系统数据存储性能提升的瓶颈所在 , 所以 ,文件系统借助访问速度较高的缓存 c a c h e 来进行磁盘数据存储性能的优化,从而使整个系统的存储性能有了显著提高 20。文件系统基于缓存的优化方法一般有以下几种:( 1 )避免磁盘存取2 相关技术10在读数据时 , 有先进先出 F I F O、 最近最少使用页面置换 L R U 等算法来进行缓存中虚拟页式存储 调度,能有效减少磁盘读写的次数。 F I F O 算法是将缓存中 最早装入的页替换掉 , 这种算法实现方便 , 但不一定正确反映出 数据存储 的局部性 ; L R U 算法是将最近段时间内缓存中使用得次数最少的页替换 , 可以最大限度的推迟页面调换 , 这种算法的应用得较为广泛。( 2 )减少存取延迟主要方法是缓存的预读功能和延迟写 。 在读数据时 , 可以根据局部性原理 , 将后面的数据一起读入缓存中,这样可以有效的提高缓存的命中率,减少磁盘数据读取时间 ;在写数据时 , 一般是将整个缓存写满了才进行磁盘的读写 , 这样也明显减少了磁盘的写时间 21。( 3 )减少磁盘寻道时间开销由于磁盘的寻道时间一般远大于磁盘数据的传输时间 , 所以 , 尽可能减少磁头的移动距离是减少磁盘存储访问时间的关键所在。磁头的调度算法有:先来先服务 F C F C、最短扫描时间 S S T F 、回旋扫描模式 S C A N、单向扫描模式 C - S C A N、智能监察扫描模式 L O O K 和智能监察单向扫描模式 C - L O O K 几种,其中使用较多的是 S S T F 算法 和S C A N 算法,它们有效的减少了磁盘寻道开销 22。( 4 )提高数据的磁盘地址连续性通过文件系统的合理的数据布局 , 尽量保证一个文件的逻辑块对应的磁盘物理地址连续,对于物理地址连续的数据块的存储,磁盘只有数据传输时间的开销。表 示了不同的应用的文件系统最优逻辑块大小的划分 23。表 件系统逻辑块大小划分事务处理 办公自动化 数据仓库 C A D / 设计 多媒体4- 8K 164412 3 阵列 技术R A I D( R e r r a y o f I i s , 即独立磁盘冗余阵列 。 它的特点是 ,由多个磁盘组成,并有一定的数据冗余,存储速度也有较大程度的提高,有 R A I D 0 、R A I D 1 、 R A I D 2 、 R A I D 3 、 R A I D 4 、 R A I D 5 、 R A I D 6 等传统阵列级别 , 以及我导师提出的 R A I D 5x,下面将一一介绍。2 . 3 . 1 R A I D 0R A I D 0 的数据布局如图 示。所谓条带,是阵列的一种虚拟的地址映射方式 ,阵列中不同的磁盘的的同一起始位置的相同个数扇区组成一个条带 , 每个磁盘所拥有的该条那部分叫做条带块 , 如 D 3 是磁盘 0 在条带 1 上的的条带块 24。 这样 , 阵列的各个2 相关技术11磁盘组成一个逻辑盘 , 其存储容量是这些磁盘的和 , 磁盘阵列向上层的文件系统呈现的就是一个大容量的虚拟盘 。 文件系统对这个虚拟盘发送的存储请求 , 会被阵列控制器转换成实际的磁盘地址。在 R A I D 0 中数据的存储是以条带为单位横向存储,如果一个请求的数据大于一个条带块的大小 , 则能在两个盘上同时读取 , 提高了读写速度 ; 而当条带块大小趋近于磁盘大小时 , 则退化成单磁盘连续存储 , 那么对写性能无任何提升 , 仅仅是增大了读请求并发的几率 25。图 2. 5 R A I D 0 的数据布局如果连续大块的 I O 请求比较多,则应该减小条带深度,让一个请求尽量分散到多个盘上,这样能尽可能的让多个磁盘并行处理;如果随机小块的 I O 请求比较多,则应加大条带深度,这样能提高不同 I O 请求的并发几率。 R A I D 0 并无数据校验或备份,相比其他阵列, R A I D 0 的磁盘空间利用率最高,但这是以牺牲安全性为代价的。2 . 3 . 2 R A I D 1R A I D 1 的数据结构如图 示 , 以两个盘为例 , 一个为数据盘 , 另一个为备份盘 ,数据都是一式两份。图 2. 6 R A I D 1 的数据布局当读数据时 , 不但可以多个请求并发 , 而且可以单个请求并行 。 当写数据时 , 需要为两个盘分别写如相同的两份数据 , 所以写性能相比单磁盘来说 , 还有点下降 , 因为每次的写请求时间都是以最慢的为准 26。 R A I D 1 的两个盘的数据完全相同 , 可以没有条带的概念。2 . 3 . 3 R A I D 2R A I D 2 是条带划分的极端情况 , 每个磁盘的每个条带块只是一个二进制位 , 这保证了单个请求严格意义上的并行 27。 R A I D 2 使用汉明码进行校验和纠错 , 这种编码方法需要多个磁盘来放置校验位,以图 7 个磁盘的 R A I D 2 为例,左边四个盘为数据盘 ,2 相关技术12每个盘上对应的一个数据位 , 采用汉明码编码产生三个校验位 , 分别存于右边的三个磁盘的对应位置上 , 汉明码的校验位的个 数 E 与数据位的个 数 X 之间的关系 为 2E E + D + 1 。图 要多个磁盘存放检查及恢复信息, 校验盘个数太多,校验开销较大 ,使得 R A I D 2 技术实施更复杂 ,将数据以位分割,这虽然这保证了单个请求严格意义上的并行,但物理连续的扇区被转换为物理不连续,使得阵列处理随机 I O 请求的效率底下 , 因此 R A I D 2 已经被淘汰,商业领域已经很少采用 。2 . 3 . 4 R A I D 3R A I D 3 保留的扇区的物理连续性 , 扇区作为数据存储的最小单位 , 同时也保留了处理单个请求的磁盘并行性 , 并且使用高效的异或校验算法 , 减少了校验盘的个数 , 只要一块就够了 28。 R A I D 3 的数据布局如图 示。图 I D 3 的条带大小一般为被文件系统块的大小 , 条带块大小随磁盘个数决定 , 但至少为一个 扇区。由于 R A I D 3 的所有磁 盘是并行读出或 写入的,所以校验 盘并不是系统瓶颈 , 但是还是要额外负担数据的校验开销 29。 现在的阵列控制器 , 一般都集成了异或元算集成 电路,提供硬计算 ,这样减少了 C P U 的计算负 担,也提高了校验 速度。因一个请求需要占用所有磁盘 , R A I D 3 不能并发 I O, 对于连续大块 I O, R A I D 3 有很好的读写性能 , 对于随机小请求 , 因为要频换寻道 , R A I D 3 相比单个磁盘 , 性能并没有明显提高。2 . 3 . 5 R A I D 4R A I D 4 的是为了提高阵列的并发系数而设计的,所以 R A I D 4 将磁盘的条带快做得比较大,使得那些小 I O 仅占用一个磁盘,从而实现请求的并发,其数据布局大体上 和R A I D 3 相似 。 但是 , 与 R A I D 3 一样 , 仍然是采用一个独立的校验盘 , 这样在写数据时 ,存在校验盘的争用问题 , 校验盘仍是并发的瓶颈 , 所以在一般情况下 , R A I D 4 并不能成2 相关技术13功并发。2 . 3 . 6 R A I D 5与 R A I D 4 不同的是, R A I D 5 采用的是分布式校验盘的方法,将校验条带块在循环放置在各个磁盘上 , 实现了真正意义上的请求的并发 , 校验块的校验方式采用的同样是异或( X O R)校验,其数据布局如图 示。图 2. 9 R A I D 5 的数据布局R A I D 5 写数据时,有三种写方式,读改写、整条写或重构写。( 1 ) 读改写,先把需要写入的新数据对应位置的旧数据、旧校验数据读出来,然后根据新数据 、 旧数据和旧校验数据计算出新的校验数据 , 最后将新数据和新校验数据写入对应位置。这是一个读(旧数据、旧校验数据 ) 、改(校验计算)和写(新数据、新校验数据)的过程,其校验公式是:新校验数据 = 老校验数据 X O R(老数据 X O R 新数据) 30。由以上的读改写的过程可知,如果要写入数据的大小不足条带大小的一半 ,则可采用此种方式 ; 如果写入数据大小大于条带大小的一半 , 则应采取下面介绍的重构写方式。( 2 )重构写,读旧数据的方式和读改写刚好相反,重构写读的是条带中不需要修改的数据 , 然后和新数据进行异或校验 , 得出校验数据 , 将新数据和新校验数据写入条带的对应位置中 31。以此看来,重构写的 I O 操作比读改写的要少,所以其效率较读改写要高。重构写的适用范围是写入数据大小大于条带大小的一半,但不足一条带。( 3 )整条写,如果写入数据为一个条带的大小,则应采用整条写的方式,它更新整个条带的数据 , 不需要额外的读写操作 , 由新条带数据进行异或校验 , 得到校验块数据,然后一起写入即可,可见这是三种方式中,效率最高的方式 32。写效率从低到高的排列顺序为:读改写 E 2 且 S 1=S 2 ,3 多模块结构模型19即有 +=)0n(c)1n(n(0)n( 中, a 、 b 、 c 的计算方式如下:S e e km i nc)()S e e km a v g S e e e e km i n7(b)()S e e km

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论