网络存储2RAID与智能存储_第1页
网络存储2RAID与智能存储_第2页
网络存储2RAID与智能存储_第3页
网络存储2RAID与智能存储_第4页
网络存储2RAID与智能存储_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

网络存储北京邮电大学计算机学院体系结构中心姚文斌yaowenbin@2023/2/11数据保护:RAID2023/2/12简介服务器硬盘设置什么是RAID?RAID技术的实现RAID分级RAID数据恢复RAID实例2023/2/13服务器硬盘设置

(HardDiskInfrastructure)SLED

(SingleLargeExpensiveDrive)单个大容量硬盘JBOD(JustaBunchOfDisks)串联硬盘不同的物理硬盘被映射到不同的逻辑卷上不同的物理硬盘被串联起来形成一个虚拟盘e.g.MacOSX10.4,Microsoft'sWindowsHomeServerRAID(RedundantArrayofIndependentDisks)冗余磁盘阵列e.g.主流服务器的硬盘设置2023/2/142023/2/15为什么需要磁盘阵列?磁盘阵列

磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅降低数据的存取时间,同时有更佳的空间利用率。

2023/2/16什么是磁盘阵列?磁盘阵列

磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统。

2023/2/17磁盘阵列的特点存取速度快;具备容错(faulttolerance)能力,即安全性;有效的利用磁盘空间;尽量的平衡CPU,内存及磁盘的性能差异,以提高电脑的整体工作性能。磁盘阵列2023/2/18什么是冗余磁盘阵列技术?磁盘阵列RAID(RedundantArrayofIndependentDisks)冗余磁盘阵列技术,1987年由加州大学伯克利分校提出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用(RAID称为RedundantArrayofInexpensiveDisks廉价的磁盘阵列),同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术。

常用的RAID磁盘阵列数据根据不同的校验方式,分为0、1、3、5、0+1五种等级(RAIDLevels)。RAID的实现软件RAID硬件RAID例子:0.90RAIDlayer(Linux-2.2,Linux-2.4核心)/HOWTO/Software-RAID-HOWTO.htmlRAID卡(基于主机)外部RAID控制器(基于磁盘阵列)优点:成本低(随操作系统)优点:对主机CPU性能影响小,灵活性高缺点:RAID相关运算影响CPU性能不支持所有RAID级别与操作系统捆绑,缺乏灵活性。缺点:贵2023/2/19简介服务器硬盘设置什么是RAID?RAID技术的实现RAID分级RAID数据恢复RAID实例2023/2/110RAID分级RAID分级取决于三个因素:分条Striping数据镜像Mirroring奇偶校验Parity(ErrorCorrection)2023/2/111RAID分级-分条分条Striping:将数据分散到不同物理硬盘上,使读写数据时可以同时访问多块硬盘。

2023/2/112RAID分级-数据镜像数据镜像Mirroring:将同一数据写在两块不同硬盘上,从而产生该数据两个副本。2023/2/113RAID分级-奇偶校验奇偶校验Parity(ErrorCorrection):通过数学方法而不是单纯重复写同样数据来实现数据保护。e.g.独立磁盘奇偶校验:校验信息单独存在磁盘上,一旦出现磁盘损坏,用校验值减去其它磁盘上对应位置的值,就能找回数据。2023/2/114检错和纠错编码的基本原理编码是指在一个所有可能的字集W中(或符号集中),只有其中的一个子集C代表有效信息。这个有效子集称为码字集。海明距离的提出-1一位码表示信息:信息U用“1”表示,信息V用“0”表示无法检测错误二位码表示信息:A=“11”,B=“00”,可能的组合是“00,01,10,11”。这四个码的集是W,码字集为C=A+B。由此可知,C的编码规则是“两位相等”。可以检测单位错,不能检测两位错不能纠错海明距离的提出-2三位码表示信息:W=“000,001,010,011,100,101,110,111”,C=“000,111”可以检测一位错,可以检测二位错纠正一位错四位码表示信息:W=“0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111”,C=“0000,1111”可以检测一位错可以检测二位错可以检测三位错可以纠正一位错海明距离的提出-具体分析1可以检测一位错任意两个码对应的相异的位数为2海明距离的提出-具体分析2可以检测一位错,部分错误码可以纠正任意两个码对应的相异的位数为2海明距离的提出-具体分析3可以检测一位错,可以纠正一位错任意两个码对应的相异的位数为3在所有合格码的集合中,两个码之间对应位相异的位数以及代码分布,决定了该编码技术的检错和纠错能力。这就是海明距离所要研究的内容海明距离-1两个代码对应位不同的位数称为海明距离,简称为码距,用D表示有两个n位代码:A=anan-1

·

·

·a1,B=bnbn-1

·

·

·b1,则有在一个多代码的码系里,所有两个代码键的码距最小值称为最小码距,用Dmin表示海明距离-2海明距离

编码检错和纠错能力的理论依据在n位代码中,如果要求能检测出e位错,则如果要求能纠正n位代码的t位错,则如果要求对n位代码能检测e位错,纠正t位错2023/2/123奇校验偶校验按照代码中“1”的格式保持为奇数或偶数为基准的编码技术称为奇偶编码如果在一个代码上增加一定数量的冗余位之后,使所有位“1”的个数为奇数,则称此码为奇校验码如果“1”的个数为偶数,则称为偶校验码奇偶检测器代价:多种奇偶校验方案交织奇偶校验可以检出多位错对全0全1错有很高的覆盖率适合对于总线和存储器的检测代价:片交织奇偶校验检测多位错可用于控制信号的检测代价:片组交织奇偶校验将错误定位在芯片上代价数据冗余:h/b校验树的数目:h校验树的位数:h+1检测延迟:水平-垂直奇偶校验码可以检测多位错可以检测一定数量个偶数位错加法运算中的奇偶预测执行A+B=Y运算,选用偶校验加法的奇偶预测示意图奇校验与偶校验的比较(代码中包括校验位)奇偶校验是一种简单易行的监测方法,其覆盖率比较高。目前比较多地应用到存储器的代码检测上,也有计算机用奇偶校验来检测总线错。RAID分级RAID0单纯依靠分条提高I/O性能,无数据保护。适用:I/O量大但不需要数据保护的应用e.g.图像处理

2023/2/138RAID分级RAID1通过数据镜像提升容错性。同一数据写在不同硬盘上。可以承受一块甚至几块硬盘同时坏掉,但不优化读取性能。适用:数据安全可靠性要求非常高的应用e.g.人事会计系统2023/2/139RAID分级RAID0+1镜像的分条。数据先被分条,再镜像,一旦一块硬盘坏掉,级数下降成RAID0,恢复起来较RAID1+0麻烦。RAID1+0分条的镜像。数据先被镜像,再分条,数据恢复简单,迅速。2023/2/140RAID分级RAID2带海明码的RAID(超算中应用较多,不做详细讨论。)2023/2/141ECC校验ECC一般每256字节原始数据生成3字节ECC校验数据,这三字节共24比特分成两部分:6比特的列校验和16比特的行校验,多余的两个比特置1。2023/2/142ECC容错能力2023/2/143将从OOB区中读出的原ECC校验和新ECC校验和按位异或,若结果为0,则表示不存在错(或是出现了ECC无法检测的错误);若3个字节异或结果中存在11个比特位为1,表示存在一个比特错误,且可纠正;若3个字节异或结果中只存在1个比特位为1,表示OOB区出错;其他情况均表示出现了无法纠正的错误RAID分级RAID3通过分条提高性能,利用奇偶校验提升容错性。在存储普通的信息的硬盘以外,用一块专门的硬盘存储校验信息。2023/2/144RAID分级RAID4通过分条提高性能,利用奇偶校验提升容错性。在存储普通的信息的硬盘以外,用一块专门的硬盘存储校验信息。但允许某一数据单元(block)可以从单块磁盘中读写,而无需访问整个条带,所以数据读取的速度高。2023/2/145RAID分级RAID5通过分条提高性能,利用奇偶校验提升容错性。允许某一数据单元(block)可以从单块磁盘中读写,而无需访问整个条带。校验信息分布在所有磁盘上。比RAID4写性能好,容易恢复。2023/2/146RAID分级RAID6基本与RAID5一样,但引入第二校验元素应对两块磁盘同时失效的情况。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。写代价也因此比RAID5高,恢复也比RAID5耗时长。2023/2/147RAID比较RAID最少磁盘数磁盘利用率开销读性能(较单磁盘)写性能(较单磁盘)数据恢复时间RAID02100%低很好很好N/ARAID1250%高较好较好快RAID33n-1/n中随机读较好顺序读很好较好较好RAID43n-1/n中随机读很好顺序读较好较好较好RAID53n-1/n中随机读很好顺序读较好较好优于RAID3,RAID4,RAID6RAID64n-2/n中随机读很好顺序读较好较好较快RAID1+0RAID0+1450%高很好较好快*n为磁盘数目2023/2/148RAID动画展示raid.exe2023/2/149简介服务器硬盘设置什么是RAID?RAID技术的实现RAID分级RAID数据恢复RAID实例2023/2/150数据恢复-热备份(HotSpare)热备份指的是RAID阵列中用于临时替代RAID集中故障硬盘的备用硬盘(一个阵列中可以有多个热备用盘),热备可以设置为自动或用户发起。不同RAID使用不同方法从热备中恢复数据:如果采用校验RAID,则按照RAID集中的校验值和幸存盘上的数据重建如果采用镜像RAID,则从存活镜像上复制数据

2023/2/151数据恢复-热拔插(HotPlug)热拔插指在使用数据保护性RAID阵列时,在开机状况下用新硬盘替换原来的故障硬盘。即在开机状况拔出故障硬盘,安装新硬盘。2023/2/152简介服务器硬盘设置什么是RAID?RAID技术的实现RAID分级RAID数据恢复RAID实例2023/2/153RAID实例-RAID卡需要考虑:主板兼容性RAID控制器性能磁盘接口支持RAID级别HighPointRocketSATARAID3120

带Input/OutputProcessor,128MBDDRII内存。2个SATA接口,可支持2个硬盘的RAID0,1,JBOD。品牌:AdaptecHighpointLSILogic2023/2/154RAID实例-RAID卡RAID通常支持RAID级别价格性能SCSIRAIDSASRAIDRAID0到RAID6高100%硬件RAID接口速度快:160MBps-320Mbps有独立控制芯片,低主机CPU占用率,支持热拔插,在线扩展,后台初始化SATARAIDRAID0到RAID6中磁盘读写不如SCSIRAID,支持热拔插IDERAIDRAID0,RAID1低<SCSI30%50%硬件50%软件RAID有独立控制芯片,但只包括简单操作,高主机CPU占用率不支持热拔插,在线扩展,后台初始化注:SCSI,IDE,SATA,SAS为磁盘驱动接口,将在第五讲直接储存中进一步介绍。2023/2/155RAID实例-配置阵列通常是通过磁盘阵列卡的BIOS工具进行配置。例子:在HP服务器上,用五块磁盘建立RAID5和一个热备盘。开机启动2023/2/156RAID实例-配置出现如下菜单时按F8,进入阵列配置菜单2023/2/157RAID实例-配置进入CreateLogicalDrive菜单2023/2/158RAID实例-配置四块硬盘raid5的建立:同时选中4块硬盘,建成raid5。2023/2/159RAID实例-配置当确认配置完毕后,按enter键确认,再按F8键保存配置2023/2/160RAID实例-配置按回车,再次进入CreateLogicalDrive菜单2023/2/161RAID实例-配置热备盘建立:选择最后一块硬盘,建成热备。2023/2/162RAID实例-配置当确认配置完毕后,按enter键确认,再按F8键保存配置2023/2/163系统可靠性的数学模型一个计算机系统是由许多个子系统组成的,而一个子系统则由大量的元、器件所组成。为了定量的得出系统的可靠度,一般从元器件的可靠度到子系统的可靠度,进而到整个系统的可靠度。因此根据系统与系统内部的各子系统的相互关系建立可靠度的数学模型十分必要的。可靠性框图与逻辑框图一、串联可靠性系统的可靠性模型

可见,串联系统平均无故障运行时间小于子系统的平均无故障运行时间考虑一种特殊情况二、并联可靠性系统可靠性模型考虑一种特殊情况假设一个系统由两个子系统组成,即n=2MTBF提高了1.5倍三、串、并联混合系统可靠性模型可分为三种形式串-并联可靠性系统并-串联可靠性系统复杂的可靠性系统1、串-并联可靠性系统若各模块可靠度相等2、并-串联可靠性系统若各模块可靠度相等串并联与并串联系统的可靠度比较n=m=2Ra0.70.80.90.95串-并联Rs0.7390.8700.9630.991并-串联Rs0.8280.9210.980.995FaultDetection&IsolationEmbeddedI/OPCIDisksCPUChipsetMemoryFaultDetection&IsolationFaultDetection&IsolationEmbeddedI/OPCIDisksCPUChipsetMemoryFaultDetection&IsolationRedundantI/ORedundantCPU/Memory3、复杂的可靠性系统Stratusftserver2300可靠性框图结构改进:逻辑结构FaultDetection&IsolationEmbeddedI/OPCIDisksCPUChipsetMemoryFaultDetection&IsolationFaultDetection&IsolationEmbeddedI/OPCIDisksCPUChipsetMemoryFaultDetection&Isolation分解计算1、Switch失效分解计算2、Switch正常工作分解计算2、Switch正常工作综合计算RAID-开放性思考问题(作业)有了RAID我们还需要备份系统吗?说明RAID0+1和RAID1+0谁更好(以4块具有相同可靠度硬盘为例说明)?在什么情况下RAID1+0比RAID5更适用?我们还可以如何提高RAID的性能?2023/2/186智能存储系统2023/2/187概述关键性的业务应用对性能、可用性、安全性以及可扩展性都有很高的要求。硬盘是存储的核心组成部分,决定了存储系统的性能。RAID技术的出现很大程度提升了存储系统的性能和可靠性。然而,单靠硬盘仍然无法满足应用需求。智能存储系统是一种功能丰富的RAID阵列,提供了高度优化的I/O处理能力。2023/2/188智能存储系统的组成四个核心部分:前端、缓存、后端、物理磁盘一个来自主机的I/O请求首先到达前端端口,然后经过缓存和后端的处理,最终在物理磁盘上存储或获取数据。如果被请求的数据已经保存在缓存中,那么请求可以直接在缓存中完成。2023/2/189前端前端提供了存储系统与主机之间的接口它由两部分组成:前端端口和前端控制器每个前端端口都拥有相应传输协议的处理逻辑,这些协议包括:SCSI、FC、iSCSI等为了获取更高的可用性,一般在前端提供冗余的端口前端控制器通过内部数据总线把数据传入缓存或从缓存传出数据当缓存收到写入的数据后,控制器向主机发出一个应答消息。控制器用命令队列算法来优化I/O处理。2023/2/190前端命令队列前端命令队列在前端控制器上实现控制器对收到的命令的执行顺序进行决策,以减少不必要的驱动器磁头移动,改善磁盘性能。有了命令队列,就可以根据数据在磁盘上的组织方式并发的执行命令,而不是按照这些命令的达到顺序执行。2023/2/191命令队列算法先进先出算法(FirstInFirstOut,FIFO)从性能角度看它是最差的寻道时间优化算法访问时间优化算法2023/2/192高速缓存缓存是智能存储系统用来提高I/O性能的重要环节缓存是半导体存储器为了减少完成主机I/O请求所需的时间,数据被暂存在缓存中物理磁盘是智能存储系统中最慢的组件,缓存可以将主机与磁盘的机械延迟隔离开,从而提升系统的性能2023/2/193带有缓存的读操作每当主机发出一个读请求,前端控制器会通过查询请求的数据是否保存在缓存中。如果在缓存中找到请求的数据,则发生一次读缓存命中,数据被直接送到主机,无需任何磁盘操作。如果没有在缓存中找到请求数据,称为发生了一次缓存未命中,数据必须从硬盘读取。2023/2/194带有缓存的读操作后端控制器负责访问相应的磁盘并读取请求的数据。随后,数据被保存到缓存中并最终通过前端控制器送到主机。缓存未命中增加了I/O响应时间。2023/2/195Pre-read如果读请求是顺序的,可以采用预取或者称为预读的算法。这一过程显著的减少了主机的响应时间读命中率的提高带来性能上的提升2023/2/196带有缓存的写操作带有缓存的写操作提供了比直接写磁盘更好的性能。一个I/O被写入缓存并得到响应比直接写入磁盘所用的时间要少得多。多个小的顺序写操作可以被合并成大的写操作,在有缓存的情况下使得我们有机会对顺序写操作做优化。2023/2/197带有缓存的写操作的实现回写缓存数据被存入缓存,主机立即得到响应。一段时间后多个写操作的数据被一起提交到磁盘。如果遇到故障,未被提交的数据有丢失的风险直接写缓存数据被存入缓存并立即写到磁盘中因为需要磁盘操作,写响应时间比较长2023/2/198跳过缓存写的情况在特定的情况下缓存可以被跳过比如要写入极大量的数据时。这时,如果一个I/O请求的大小超过了预先定义的值(称为写旁入大小),写入操作被直接发送到磁盘以防这些写入占用大量的缓存区域。有限的缓存要用在小的、随机的I/O访问中,这样才更有效。好钢用在刀刃上2023/2/199缓存实现缓存实现分为专用缓存和全局缓存专用缓存:读操作和写操作分别使用单独的内存全局缓存:读写操作都可以使用任意空闲的内存全局缓存的管理更有效率,因为只需管理一组全局的地址2023/2/1100缓存管理缓存是昂贵、有限的资源,需要合适的管理缓存管理算法最近最少访问算法(LeastRecentlyUsed,LRU)假设:如果一个页面刚刚被访问过了,它就不太可能再被访问最近最多访问算法(MostRecentlyUsed,MRU)假设:如果一个页面刚刚被访问过了,它还可能被经常访问2023/2/1101缓存数据保护缓存是易失性存储器,电源故障或者其他缓存故障都会使得还没有来得及保存到磁盘上的数据丢失。保护方法电池供电:将缓存中的数据保存到磁盘缓存镜像:在互相独立的内存条不同位置保存两份缓存跳跃:用一组物理硬盘在停电时转存缓存中的数据。恢复供电时,数据从转存磁盘读到缓存,再写回对应的磁盘中。2023/2/1102后端后端提供了缓存和物理磁盘之间的接口两部分组成:后端端口和后端控制器后端控制器在做读写操作时与磁盘进行交流,同时也提供有限的、临时的数据存储。磁盘端口冗余可以进一步增强可靠性情况罕见2023/2/1103物理磁盘SCSIFCIDE/ATASASSATA2023/2/1104固态驱动器固态硬盘的存储介质分为两种一种是采用闪存(FLASH芯片)作为存储介质另外一种是采用DRAM作为存储介质(需要独立电源来保护数据安全)没有机械运动部件带来了更短的响应时间和更低的电量消耗在阵列中,闪存存储器存储1TB的数据消耗的能量比传统磁盘驱动器少38%30个15K转速的FC盘才能达到一个闪存驱动器的性能在性能相同的情况下,闪存驱动器能节能98%2023/2/1105SSD固态硬盘的优点启动快不用磁头,快速随机读取,读延迟极小相对固定的读取时间基于DRAM的固态硬盘写入速度极快无噪音能耗和发热量较低内部不存在任何机械活动部件,不会发生机械故障,也不怕碰撞、冲击、振动工作温度范围更大体积小、重量轻固态硬盘的缺点成本高。每单位容量价格是传统硬盘的5~10倍(基于闪存),甚至200~300倍(基于DRAM)。容量低易受到某些外界因素的不良影响。如断电(基于DRAM的固态硬盘尤甚)、磁场干扰、静电等。写入寿命有限(基于闪存)数据损坏后难以恢复基于DRAM的固态硬盘在任何时候的能耗都高于传统硬盘2023/2/1106逻辑单元编号逻辑单元编号:LogicalUnitNumber,LUN物理驱动器或一组RAID保护的驱动器可以被分为若干个逻辑卷,这些逻辑卷用LUN统一寻址。一个逻辑设备实际上是RAID组中的一个分区,但却被主机看作是一个物理磁盘。在RAID情况下,这些逻辑设备是RAID组的一部分,分布在所有属于该RAID组的磁盘上。LUN的使用提高了磁盘的利用率。2023/2/1107LUN屏蔽LUN屏蔽是一种数据访问控制,它决定主机可以访问哪些LUN。L

温馨提示

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

评论

0/150

提交评论