1、 磁盘阵列的组成磁盘阵列的组成 参考书:参考书:海量信息存储海量信息存储(第三章、第四章)(第三章、第四章)磁盘阵列的分类磁盘阵列的分类 1.1.软阵列软阵列 :阵列部分的处理功能由主机(服务器)完成;阵列部分的处理功能由主机(服务器)完成;2.2.硬阵列硬阵列:由专门的硬件来完成阵列的功能由专门的硬件来完成阵列的功能软阵列软阵列特点:特点:可以用磁盘分区组合磁盘阵列,可以用磁盘分区组合磁盘阵列,不必用整个磁盘来组合;每个磁盘可不必用整个磁盘来组合;每个磁盘可以是不同类型,大小也可以不同。增以是不同类型,大小也可以不同。增加了服务器的处理负载。加了服务器的处理负载。LinuxLinux软阵列的
2、数据流程软阵列的数据流程文件系统文件系统缓冲区层缓冲区层硬件设备硬件设备设备驱动层设备驱动层阵列驱动层阵列驱动层BioBioBiosBios流程:流程:(1)(1)文件系统会调用具体的文件读写过文件系统会调用具体的文件读写过程程,将偏移量和文件的起始位置转换为将偏移量和文件的起始位置转换为具体文件系统中的数据块具体文件系统中的数据块,同时将这些同时将这些信息传递给下面的缓冲区层信息传递给下面的缓冲区层.(2)(2)缓冲区层根据数据块的逻辑设备名缓冲区层根据数据块的逻辑设备名和块号和块号,使用使用biobio结构体对它进行包装结构体对它进行包装,形形成一个请求成一个请求(request)requ
3、est).同时使用同时使用submitbiosubmitbio将请求挂在该设备将请求挂在该设备(blk_devs)blk_devs)的请求队列上的请求队列上,等待设备进行读写工作等待设备进行读写工作.(3)(3)如果读写的设备不是如果读写的设备不是MDMD设备设备,则转则转向向5.(5.(Linux Linux 中磁盘阵列以中磁盘阵列以MDMD设备来标识)设备来标识)(4)(4)如果读写的设备是如果读写的设备是MDMD设备设备,则则RAIDRAID驱动程序分析该请求驱动程序分析该请求,进行优化处进行优化处理理,最后将该请求分解到对应的磁盘最后将该请求分解到对应的磁盘,并将分解后的请求挂在真正的
4、设备上并将分解后的请求挂在真正的设备上.如图中虚线所示如图中虚线所示.(5)(5)最后由磁盘驱动程序来完成读写最后由磁盘驱动程序来完成读写过程过程,然后将处理的结果再一层层的向然后将处理的结果再一层层的向上传递到文件系统上传递到文件系统.课后作业课后作业 阅读阅读linuxlinux下下MDMD代码,弄清代码,弄清RAID0RAID0,1 1的工作流程的工作流程 硬阵列的组成硬阵列的组成 1.1.专用的电路板专用的电路板 :磁盘阵列卡,盒式磁盘阵磁盘阵列卡,盒式磁盘阵列控制器列控制器 (易于嵌入服务器内形成一个整体(易于嵌入服务器内形成一个整体 )2.2.通用板卡集成式磁盘阵列通用板卡集成式磁
5、盘阵列:更新速度快,更新速度快,开发周期短,维修方便,能附加用户特殊要求和开发周期短,维修方便,能附加用户特殊要求和性价比高等优点,但存在部分冗余的部件和机箱性价比高等优点,但存在部分冗余的部件和机箱尺寸稍大等缺点尺寸稍大等缺点集成式磁盘阵列中的关键问题集成式磁盘阵列中的关键问题 1.1.硬件组成环节的性能平衡;硬件组成环节的性能平衡;2.2.软件开发平台的选择、裁剪和板支持软件开发平台的选择、裁剪和板支持软件的设计软件的设计;3.3.系统控制软件的设计系统控制软件的设计;4.4.完成特定功能的软件设计完成特定功能的软件设计;图图1 1:硬件结构图:硬件结构图图图2 2:软件关系图:软件关系图
6、初始化模块初始化模块容错功能模块容错功能模块命令命令分解数据分块分解数据分块重组重组I/O调度模块调度模块Cache-Buffer管理模块管理模块从通道控制模块从通道控制模块主通道控制模块主通道控制模块应用层驱动层启动消息、数据流向软件模块功能说明软件模块功能说明阵列参数设置、初始化模块:阵列参数设置、初始化模块:提供一个浏览、配置阵列参数的人机交互接口,根据用户的配置设置提供一个浏览、配置阵列参数的人机交互接口,根据用户的配置设置对阵列控制软件中的相关参数进行初始化,这些参数包括阵列级别、数对阵列控制软件中的相关参数进行初始化,这些参数包括阵列级别、数据分块大小、校验存放策略、阵列中的串数及
7、盘数等,它们是阵列有效据分块大小、校验存放策略、阵列中的串数及盘数等,它们是阵列有效容量计算、逻辑地址与物理地址相互转换的依据。容量计算、逻辑地址与物理地址相互转换的依据。读命令的执行过程读命令的执行过程阵列处理读命令过程为:阵列处理读命令过程为:接收命令接收命令 命令分解命令分解 读盘读盘数据重组数据重组 数据输入数据输入状态、消息输入状态、消息输入 完成(等待下一命令到达)完成(等待下一命令到达)写命令的执行过程写命令的执行过程阵列处理写命令过程为:阵列处理写命令过程为:接收命令接收命令 接收数据接收数据 命令分解数据分块命令分解数据分块写磁盘写磁盘 状态、消息输入状态、消息输入 完成(等
8、待下一命令到达)完成(等待下一命令到达)从通道控制模块(从通道控制模块(TargetTarget):):控制阵列中的从通道适配器完成控制阵列中的从通道适配器完成主机和阵列的消息、命令、数据的主机和阵列的消息、命令、数据的交互;将来自主机的交互;将来自主机的I/OI/O命令按顺序命令按顺序进行排队以等待命令分解模块和其进行排队以等待命令分解模块和其他模块处理。他模块处理。命令分解,数据分块重组模块:命令分解,数据分块重组模块:根据设定的阵列参数,从从通道根据设定的阵列参数,从从通道控制模块生成的命令队列里取出的控制模块生成的命令队列里取出的I/OI/O命令按一定的规则分解为独立磁命令按一定的规则
9、分解为独立磁盘上的子命令,同时将读写数据进盘上的子命令,同时将读写数据进行分块重组。行分块重组。Cache-BufferCache-Buffer管理模块:管理模块:该模块提供了三种可供用户根据实际应用的数据请求特点进行选择的该模块提供了三种可供用户根据实际应用的数据请求特点进行选择的BufferBuffer策略,即写回策略(策略,即写回策略(Write-backWrite-back)、)、写直达策略(写直达策略(Write-Write-throughthrough)、)、自适应的顺序预取策略。自适应的顺序预取策略。Cache-BufferCache-Buffer管理模块的主要目管理模块的主要目
10、的是减少实际的磁盘的是减少实际的磁盘I/OI/O次数,达到快速响应用户的数据请求,从软件上次数,达到快速响应用户的数据请求,从软件上最大限度地提供磁盘阵列的性能。最大限度地提供磁盘阵列的性能。I/OI/O调度模块:调度模块:依次扫描各子命令队列,对这些依次扫描各子命令队列,对这些子命令经过子命令经过Cache-BufferCache-Buffer管理模块管理模块过滤后,将需要磁盘操作的子命令过滤后,将需要磁盘操作的子命令按优先级分组,然后按优先级从高按优先级分组,然后按优先级从高到低逐组分派给各主通道控制模块到低逐组分派给各主通道控制模块并行地完成磁盘操作请求。该模块并行地完成磁盘操作请求。该
11、模块是整个阵列控制程序的控制核心,是整个阵列控制程序的控制核心,其他模块几乎都要和它发生交互。其他模块几乎都要和它发生交互。主通道控制模块主通道控制模块(串控制器):串控制器):调度、控制阵列中的串控制器完调度、控制阵列中的串控制器完成磁盘成磁盘I/OI/O操作,并且负责向上层模操作,并且负责向上层模块报告块报告I/OI/O完成情况和磁盘状态。完成情况和磁盘状态。容错功能模块:容错功能模块:包括数据重构(包括数据重构(ReconstructReconstruct)和磁盘数据的重建(和磁盘数据的重建(RebuildRebuild)修复。修复。前者是指在阵列运行于有容错功能的级别下单盘失效时阵列降
12、级运行,前者是指在阵列运行于有容错功能的级别下单盘失效时阵列降级运行,利用冗余的校验信息重新生成失效盘上的数据以响应主机的利用冗余的校验信息重新生成失效盘上的数据以响应主机的I/OI/O请求;后请求;后者指的是在有盘失效的情况下,当系统检测到有新的磁盘被换上时,系者指的是在有盘失效的情况下,当系统检测到有新的磁盘被换上时,系统在后台将失效盘上的数据恢复到新盘上。统在后台将失效盘上的数据恢复到新盘上。RAID5RAID5重构和重建重构和重建校验块校验块接口异构的磁盘阵列原理接口异构的磁盘阵列原理接口异构接口异构:指在结构上磁盘阵列控制:指在结构上磁盘阵列控制器与主机的接口和阵列中磁盘驱动器与主机
13、的接口和阵列中磁盘驱动器的接口不是同一种接口,称为异器的接口不是同一种接口,称为异构接口。如构接口。如SCSI-EIDESCSI-EIDE、USB-SCSIUSB-SCSI、USB-EIDEUSB-EIDE、FC-SCSIFC-SCSI等。等。例:例:SCSI-EIDESCSI-EIDE阵列阵列CPU阵列阵列Cache阵列控制软件阵列控制软件NCR53C8XXEIDE适配器适配器EIDE适配器适配器(EPROM)PCPC主板主板0mEIDE/ATA总线总线m-12m-1EIDE/ATA总线总线说明:说明:m2SCSI总线总线连接连接主机主机软件:软件:在普通在普通SCSISCSI阵列软件基础阵
14、列软件基础上再增加命令模拟模块和协议转上再增加命令模拟模块和协议转换模块换模块命令模拟模块:命令模拟模块:完成与主机的启动配置通信,使完成与主机的启动配置通信,使主机能够识别阵列,读取正确的阵列主机能够识别阵列,读取正确的阵列参数,完成参数,完成IDEIDE协议不能对应的协议不能对应的SCSISCSI命命令。该模块负责完成的令。该模块负责完成的SCSISCSI命令包命令包括括:InquiryInquiry、Test Unit ReadyTest Unit Ready、VerifyVerify、Read CapacityRead Capacity、Mode SenseMode Sense等。等。
15、协议转换模块:协议转换模块:完成从完成从SCSISCSI命令到对应的命令到对应的EIDEEIDE命令的转换。如读写命令。命令的转换。如读写命令。网络磁盘阵列简介网络磁盘阵列简介在传统的服务器系统中,当客户机需下载服务器上的文件时,由客户机在传统的服务器系统中,当客户机需下载服务器上的文件时,由客户机向服务器发出请求。响应后,通过文件系统和向服务器发出请求。响应后,通过文件系统和I/OI/O系统,调用设备驱动程序系统,调用设备驱动程序对磁盘驱动器进行读操作。读得的数据经由原路进入客户机,此次服务便告对磁盘驱动器进行读操作。读得的数据经由原路进入客户机,此次服务便告结束。这种服务器结束。这种服务器
16、/客户机工作模式,存在两个显著的缺点:客户机工作模式,存在两个显著的缺点:一是命令和数据都要经过同一一是命令和数据都要经过同一I/OI/O路径。当有多个用户请求时,容易造路径。当有多个用户请求时,容易造成阻塞,即使单个用户也延长了服务成阻塞,即使单个用户也延长了服务等待时间;等待时间;二是在数据读取和传输过程中,即二是在数据读取和传输过程中,即使采取使采取DMADMA方式,也需经历多次存储转方式,也需经历多次存储转发,增加了系统开销,降低了数传率。发,增加了系统开销,降低了数传率。传统服务器系统示意图传统服务器系统示意图瓶颈瓶颈网络磁盘阵列设备示意图网络磁盘阵列设备示意图网络通道外设通道网络磁
17、盘阵列说明网络磁盘阵列说明:网络磁盘阵列和与之相连的服务网络磁盘阵列和与之相连的服务器构成网络磁盘阵列系统;器构成网络磁盘阵列系统;系统的连接方式与传统的服务器系统的连接方式与传统的服务器存储设备连接方式不同,它在磁盘存储设备连接方式不同,它在磁盘阵列端增加网络通道直接入网,即磁阵列端增加网络通道直接入网,即磁盘阵列具有异构双通道盘阵列具有异构双通道外设通道外设通道与网络通道。与网络通道。用户读取文件的过程用户读取文件的过程客户机向文件服务器发出读文件请求;客户机向文件服务器发出读文件请求;服务器确认请求的合法性和权限,经分析截取文件的位服务器确认请求的合法性和权限,经分析截取文件的位置和存储
18、地址组的信息;置和存储地址组的信息;服务器向网络磁盘阵列发出用户授权;服务器向网络磁盘阵列发出用户授权;网络磁盘阵列启动读进程,等待客户机请求到来;网络磁盘阵列启动读进程,等待客户机请求到来;服务器向客户机发出确认字、授权字、磁盘阵列的网络服务器向客户机发出确认字、授权字、磁盘阵列的网络地址和数据存储地址组;地址和数据存储地址组;建立客户机与磁盘阵列的连接并从磁盘阵列上读得数据;建立客户机与磁盘阵列的连接并从磁盘阵列上读得数据;客户机向服务器和磁盘阵列发出结束请求的信号;客户机向服务器和磁盘阵列发出结束请求的信号;磁盘阵列向服务器发出结束信号;磁盘阵列向服务器发出结束信号;读出过程结束。读出过
19、程结束。网络磁盘阵列工作原理网络磁盘阵列工作原理网络网络网卡网卡网网络络存存储储设设备备网卡网卡网网络络存存储储设设备备外设通道外设通道主机通道主机通道适配器适配器PCIPCI总线总线系统总线系统总线处理器处理器存储器存储器网卡网卡客户机客户机1 1客户机客户机2 2客户机客户机4 4客户机客户机3 3请求应答网络磁盘阵列的特点网络磁盘阵列的特点1.1.命令与数据的分流:命令与数据的分流:外设通道用于传输命令,网络通外设通道用于传输命令,网络通道用于向用户传输数据。服务器只用道用于向用户传输数据。服务器只用于命令的响应和处理,缩短了服务等于命令的响应和处理,缩短了服务等待时间;数据不经过服务器
20、直接到达待时间;数据不经过服务器直接到达用户,缩短了用户,缩短了I/OI/O路径,减少了存储转路径,减少了存储转发,提高了平均数传率。发,提高了平均数传率。网络磁盘阵列的特点网络磁盘阵列的特点2.2.扩容与增速同步:扩容与增速同步:在一个系统中每增加一台磁盘阵在一个系统中每增加一台磁盘阵列便增加了一条网络通道,这样在增列便增加了一条网络通道,这样在增加容量的同时,同步增加数据接口带加容量的同时,同步增加数据接口带宽。宽。(利用这一优点可以构建(利用这一优点可以构建1010100100T T容量的海量存储系统)容量的海量存储系统)网络磁盘阵列的特点网络磁盘阵列的特点3.3.通信与传输自主:通信与
21、传输自主:数据传输过程不需服务器干预,数据传输过程不需服务器干预,增加了独立性和自主性。增加了独立性和自主性。网络磁盘阵列的特点网络磁盘阵列的特点4.4.文件的集中管理与数据的分布存储:文件的集中管理与数据的分布存储:服务器负责文件管理功能,数据服务器负责文件管理功能,数据可以分布存放在一个或多个阵列上。可以分布存放在一个或多个阵列上。7070s 80ss 80s 90s 90s 00s 10s00s 10s软件结构软件结构磁盘阵列控制软件实磁盘阵列控制软件实例例软件模块功能软件模块功能千兆网卡驱动,iSCSI协议引擎SATA控制器驱动硬件设备无关磁盘阵列控制软件实磁盘阵列控制软件实例例7070s 80ss 80s 90s 90s 00s 10s00s 10s软件模块功能软件模块功能iSCSI Target设备无关功能实现SCSI命令过滤;非读/写实现;Cache管理、调度RAID数据布局分布子I/O的分解与聚合磁盘阵列控制软件实磁盘阵列控制软件实例例7070s 80ss 80s 90s 90s 00s 10s00s 10s软件模块功能软件模块功能解析配置文件执行配置命令记录操作日志记录系统状态变化日志实现用户的日志操作接收解释控制程序的状态报告接受其他硬件监控程序的状态报告向用户报告系统状态信息磁盘阵列控制软件实磁盘阵列控制软件实例例EndEnd!感谢下感谢下载载