《磁盘阵列的组成》PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模
块 功
✓记录操作日志 ✓记录系统状态变化日志 ✓实现用户的日志操作
能
✓接收解释控制程序的状态 报告 ✓接受其他硬件监控程序的 状态报告 ✓向用户报告系统状态信70’息s
00’s
Administrator
Web Server
配置管理模块
RAID配置
系统日志
状态监控
80’s 10’s
90’s
End!
Target Mid-Level
设
备
无
SCSI CMD 解析
关
模
块
RAID命令分解
RAID0 … RAID 5 RAID 6
千兆网卡驱动, iSCSI协议引擎
硬件设备无关
Disk Driver
SATA控制器驱动
磁盘阵列控制软件实例
软
件设
模
备 无
块关
功 能
模 块
Target Mid-Level SCSI CMD 解析 RAID命令分解
网络磁盘阵列工作原理
系
处理器
统
总
线
存储器
主机通道 适配器
PCI总线
网卡
外设通道
网
络
存
储
网卡
设
备
网
络
存
储
网卡
设
备
网络
请求 应答
客户机1
客户机2
客ห้องสมุดไป่ตู้机3
客户机4
网络磁盘阵列的特点
1.命令与数据的分流:
外设通道用于传输命令,网络通 道用于向用户传输数据。服务器只用 于命令的响应和处理,缩短了服务等 待时间;数据不经过服务器直接到达 用户,缩短了I/O路径,减少了存储转 发,提高了平均数传率。
网络磁盘阵列和与之相连的服务 器构成网络磁盘阵列系统;
系统的连接方式与传统的服务器 -存储设备连接方式不同,它在磁盘 阵列端增加网络通道直接入网,即磁 盘阵列具有异构双通道——外设通道 与网络通道。
用户读取文件的过程
•客户机向文件服务器发出读文件请求; •服务器确认请求的合法性和权限,经分析截取文件的位 置和存储地址组的信息; •服务器向网络磁盘阵列发出用户授权; •网络磁盘阵列启动读进程,等待客户机请求到来; •服务器向客户机发出确认字、授权字、磁盘阵列的网络 地址和数据存储地址组; •建立客户机与磁盘阵列的连接并从磁盘阵列上读得数据; •客户机向服务器和磁盘阵列发出结束请求的信号; •磁盘阵列向服务器发出结束信号; •读出过程结束。
磁盘阵列的组成
参考书:
《海量信息存储》
(第三章、第四章)
磁盘阵列的分类
1.软阵列 : 阵列部分的处理功能由主机(服务器)完成; 2.硬阵列: 由专门的硬件来完成阵列的功能
软阵列
特点: 可以用磁盘分区组合磁盘阵列,
不必用整个磁盘来组合;每个磁盘可 以是不同类型,大小也可以不同。增 加了服务器的处理负载。
消息、数据 流向
命令
分解数据分块 重组
I/O调度模块
Cache-Buffer 管理模块
从通道控制模块
主通道控制模块
应用层 驱动层
软件模块功能说明
阵列参数设置、初始化模块:
提供一个浏览、配置阵列参数的人机交互接口,根据用户的配置设 置对阵列控制软件中的相关参数进行初始化,这些参数包括阵列级别、 数据分块大小、校验存放策略、阵列中的串数及盘数等,它们是阵列有 效容量计算、逻辑地址与物理地址相互转换的依据。
RAID0 … RAID 5 RAID 6
iSCSI Target设备无关 功能实现
✓SCSI命令过滤; ✓非读/写实现; ✓Cache管理、调度
✓RAID数据布局分布 ✓子I/O的分解与聚合
70’s 00’s
80’s 10’s
90’s
磁盘阵列控制软件实例
管理配置软件
软 件
✓解析配置文件 ✓执行配置命令
RAID5重构和重建
校验块
接口异构的磁盘阵列原理
接口异构:指在结构上磁盘阵列控制
器与主机的接口和阵列中磁盘驱动 器的接口不是同一种接口,称为异 构接口。如SCSI-EIDE、USB-SCSI、 USB-EIDE、FC-SCSI等。
例:SCSI-EIDE阵列
PC主板 CPU
(EPROM) 阵列Cache 阵列控制软件
I/O调度模块:
依次扫描各子命令队列,对这些 子命令经过Cache-Buffer管理模块 过滤后,将需要磁盘操作的子命令 按优先级分组,然后按优先级从高 到低逐组分派给各主通道控制模块 并行地完成磁盘操作请求。该模块 是整个阵列控制程序的控制核心, 其他模块几乎都要和它发生交互。
主通道控制模块(串控制器):
协议转换模块:
完成从SCSI命令到对应的EIDE命 令的转换。如读写命令。
网络磁盘阵列简介
在传统的服务器系统中,当客户机需下载服务器上的文件时,由客户机 向服务器发出请求。响应后,通过文件系统和I/O系统,调用设备驱动程序 对磁盘驱动器进行读操作。读得的数据经由原路进入客户机,此次服务便 告结束。这种服务器/客户机工作模式,存在两个显著的缺点:
课后作业
• 阅读linux下MD代码,弄清 RAID0,1的工作流程
硬阵列的组成
1.专用的电路板 : 磁盘阵列卡,盒式磁盘阵
列控制器 (易于嵌入服务器内形成一个整体 )
2.通用板卡集成式磁盘阵列:更新速度快,
开发周期短,维修方便,能附加用户特殊要求和 性价比高等优点,但存在部分冗余的部件和机箱 尺寸稍大等缺点
4.文件的集中管理与数据的分布存储: 服务器负责文件管理功能,数据
可以分布存放在一个或多个阵列上。
磁盘阵列控制软件实例
控制软件
管理配置软件
Target Driver
软 件 结 构设
备 无 关 模 块
FC、iSCSI Driver Target Mid-Level SCSI CMD 解析 RAID命令分解
Linux软阵列的数据流程
文件系统
阵列驱动层
缓冲区层 设备驱动层
硬件设备
流程:
(1)文件系统会调用具体的文件读写过 程,将偏移量和文件的起始位置转换为 具体文件系统中的数据块,同时将这些 信息传递给下面的缓冲区层.
(2)缓冲区层根据数据块的逻辑设备名 和块号,使用bio结构体对它进行包装,形 成一个请求(request).同时使用 submitbio将请求挂在该设备(blk_devs) 的请求队列上,等待设备进行读写工作.
读命令的执行过程
阵列处理读命令过程为:
接收命令→ 命令分解→ 读盘→数据重组 →数据输入→状态、消息输入→ 完成(等待下一命令到达)
写命令的执行过程
阵列处理写命令过程为:
接收命令→ 接收数据→ 命令分解数据分块→写磁盘 →状态、消息输入→ 完成(等待下一命令到达)
从通道控制模块(Target):
RAID0 … RAID 5 RAID 6
Administrator
配置管理模块
RAID配置 系统日志 状态监控
Web Server
Disk Driver
70’s 00’s
80’s 10’s
90’s
命令、数据
状态、数据 配置参数 运行状态
磁盘阵列控制软件实例
控制软件
软 件 模 块 功 能
Target Driver FC、iSCSI Driver
感谢下 载
一是命令和数据都要经过同一I/O 路径。当有多个用户请求时,容易造 成阻塞,即使单个用户也延长了服务 等待时间;
二是在数据读取和传输过程中,即 使采取DMA方式,也需经历多次存储转 发,增加了系统开销,降低了数传率。
传统服务器系统示意图
瓶颈
网络磁盘阵列设备示意图
外 设 通 道
网络通道
网络磁盘阵列说明:
网络磁盘阵列的特点
2.扩容与增速同步: 在一个系统中每增加一台磁盘阵
列便增加了一条网络通道,这样在增 加容量的同时,同步增加数据接口带 宽。(利用这一优点可以构建10~100T容量的海量存储系统)
网络磁盘阵列的特点
3.通信与传输自主: 数据传输过程不需服务器干预,
增加了独立性和自主性。
网络磁盘阵列的特点
集成式磁盘阵列中的关键问题
1.硬件组成环节的性能平衡; 2.软件开发平台的选择、裁剪和板支持
软件的设计 ; 3.系统控制软件的设计 ; 4.完成特定功能的软件设计 ;
图1:硬件结构图
Host
GE
DC
…
…
Code
Memory
Cache
DC
… CPU
FLASH
图2:软件关系图
启动 初始化模块
容错功能模块
控制阵列中的从通道适配器完成 主机和阵列的消息、命令、数据的 交互;将来自主机的I/O命令按顺序 进行排队以等待命令分解模块和其 他模块处理。
命令分解,数据分块重组模块:
根据设定的阵列参数,从从通道 控制模块生成的命令队列里取出的 I/O命令按一定的规则分解为独立磁 盘上的子命令,同时将读写数据进 行分块重组。
调度、控制阵列中的串控制器完 成磁盘I/O操作,并且负责向上层模 块报告I/O完成情况和磁盘状态。
容错功能模块:
包括数据重构(Reconstruct)和磁盘数据的重建(Rebuild)修复。 前者是指在阵列运行于有容错功能的级别下单盘失效时阵列降级运行, 利用冗余的校验信息重新生成失效盘上的数据以响应主机的I/O请求; 后者指的是在有盘失效的情况下,当系统检测到有新的磁盘被换上时, 系统在后台将失效盘上的数据恢复到新盘上。
Cache-Buffer管理模块:
该模块提供了三种可供用户根据实际应用的数据请求特点进行选择的 Buffer策略,即写回策略(Write-back)、写直达策略(Writethrough)、自适应的顺序预取策略。Cache-Buffer管理模块的主要目 的是减少实际的磁盘I/O次数,达到快速响应用户的数据请求,从软件 上最大限度地提供磁盘阵列的性能。
(3)如果读写的设备不是MD设备,则转 向5.(Linux 中磁盘阵列以MD设备来标识)
(4)如果读写的设备是MD设备,则RAID 驱动程序分析该请求,进行优化处理, 最后将该请求分解到对应的磁盘,并将 分解后的请求挂在真正的设备上.如图 中虚线所示.
(5)最后由磁盘驱动程序来完成读写 过程,然后将处理的结果再一层层的向 上传递到文件系统.
EIDE适配器 ……
EIDE适配器
SCSI总线
NCR53C
连接
8XX
主机
0
EIDE
m-1
EIDE
/ATA
/ATA
总线
总线
说明:m≤2
m
2m-1
软件:
在普通SCSI阵列软件基础 上再增加命令模拟模块和协议转 换模块
命令模拟模块:
完成与主机的启动配置通信,使 主机能够识别阵列,读取正确的阵列 参数,完成IDE协议不能对应的SCSI命 令。该模块负责完成的SCSI命令包 括:Inquiry、Test Unit Ready、 Verify、Read Capacity、Mode Sense 等。