290 likes | 423 Views
信息存储与管理. 国家天文台 (科技处)信息与计算中心. 第四讲. 智能存储系统. 主讲人:崔辰州. 概述. 关键性的业务应用对性能、可用性、安全性以及可扩展性都有很高的要求。 硬盘是存储的核心组成部分,决定了存储系统的性能。 RAID 技术的出现很大程度提升了存储系统的性能和可靠性。然而,单靠硬盘仍然无法满足应用需求。 智能存储系统是一种功能丰富的 RAID 阵列,提供了高度优化的 I/O 处理能力。. 智能存储系统的组成. 四个核心部分:前端、缓存、后端、物理磁盘
E N D
信息存储与管理 国家天文台 (科技处)信息与计算中心
第四讲 智能存储系统 主讲人:崔辰州
概述 • 关键性的业务应用对性能、可用性、安全性以及可扩展性都有很高的要求。 • 硬盘是存储的核心组成部分,决定了存储系统的性能。 • RAID技术的出现很大程度提升了存储系统的性能和可靠性。然而,单靠硬盘仍然无法满足应用需求。 • 智能存储系统是一种功能丰富的RAID阵列,提供了高度优化的I/O处理能力。
智能存储系统的组成 • 四个核心部分:前端、缓存、后端、物理磁盘 • 一个来自主机的I/O请求首先到达前端端口,然后经过缓存和后端的处理,最终在物理磁盘上存储或获取数据。如果被请求的数据已经保存在缓存中,那么请求可以直接在缓存中完成。
前端 • 前端提供了存储系统与主机之间的接口 • 它由两部分组成:前端端口和前端控制器 • 每个前端端口都拥有相应传输协议的处理逻辑,这些协议包括: • SCSI、FC、iSCSI等 • 为了获取更高的可用性,一般在前端提供冗余的端口 • 前端控制器通过内部数据总线把数据传入缓存或从缓存传出数据 • 当缓存收到写入的数据后,控制器向主机发出一个应答消息。控制器用命令队列算法来优化I/O处理。
前端命令队列 • 前端命令队列在前端控制器上实现 • 控制器对收到的命令的执行顺序进行决策,以减少不必要的驱动器磁头移动,改善磁盘性能。 • 有了命令队列,就可以根据数据在磁盘上的组织方式并发的执行命令,而不是按照这些命令的达到顺序执行。
命令队列算法 • 先进先出算法(First In First Out, FIFO) • 从性能角度看它是最差的 • 寻道时间优化算法 • 访问时间优化算法
高速缓存 • 缓存是智能存储系统用来提高I/O性能的重要环节 • 缓存是半导体存储器 • 为了减少完成主机I/O请求所需的时间,数据被暂存在缓存中 • 物理磁盘是智能存储系统中最慢的组件,缓存可以将主机与磁盘的机械延迟隔离开,从而提升系统的性能
带有缓存的读操作 • 每当主机发出一个读请求,前端控制器会通过查询请求的数据是否保存在缓存中。 • 如果在缓存中找到请求的数据,则发生一次读缓存命中,数据被直接送到主机,无需任何磁盘操作。 • 如果没有在缓存中找到请求数据,称为发生了一次缓存未命中,数据必须从硬盘读取。
带有缓存的读操作 • 后端控制器负责访问相应的磁盘并读取请求的数据。随后,数据被保存到缓存中并最终通过前端控制器送到主机。 • 缓存未命中增加了I/O响应时间。
Pre-read • 如果读请求是顺序的,可以采用预取或者称为预读的算法。 • 这一过程显著的减少了主机的响应时间 • 读命中率的提高带来性能上的提升
带有缓存的写操作 • 带有缓存的写操作提供了比直接写磁盘更好的性能。 • 一个I/O被写入缓存并得到响应比直接写入磁盘所用的时间要少得多。 • 多个小的顺序写操作可以被合并成大的写操作,在有缓存的情况下使得我们有机会对顺序写操作做优化。
带有缓存的写操作的实现 • 回写缓存 • 数据被存入缓存,主机立即得到响应。一段时间后多个写操作的数据被一起提交到磁盘。 • 如果遇到故障,未被提交的数据有丢失的风险 • 直接写缓存 • 数据被存入缓存并立即写到磁盘中 • 因为需要磁盘操作,写响应时间比较长
跳过缓存写的情况 • 在特定的情况下缓存可以被跳过 • 比如要写入极大量的数据时。这时,如果一个I/O请求的大小超过了预先定义的值(称为写旁入大小),写入操作被直接发送到磁盘以防这些写入占用大量的缓存区域。 • 有限的缓存要用在小的、随机的I/O访问中,这样才更有效。 • 好钢用在刀刃上
缓存实现 • 缓存实现分为专用缓存和全局缓存 • 专用缓存:读操作和写操作分别使用单独的内存 • 全局缓存:读写操作都可以使用任意空闲的内存 • 全局缓存的管理更有效率,因为只需管理一组全局的地址
缓存管理 • 缓存是昂贵、有限的资源,需要合适的管理 • 缓存管理算法 • 最近最少访问算法(Least Recently Used, LRU) • 假设:如果一个页面刚刚被访问过了,它就不太可能再被访问 • 最近最多访问算法(Most Recently Used, MRU) • 假设:如果一个页面刚刚被访问过了,它还可能被经常访问
缓存数据保护 • 缓存是易失性存储器,电源故障或者其他缓存故障都会使得还没有来得及保存到磁盘上的数据丢失。 • 保护方法 • 电池供电:将缓存中的数据保存到磁盘 • 缓存镜像:在互相独立的内存条不同位置保存两份 • 缓存跳跃:用一组物理硬盘在停电时转存缓存中的数据。恢复供电时,数据从转存磁盘读到缓存,再写回对应的磁盘中。
后端 • 后端提供了缓存和物理磁盘之间的接口 • 两部分组成:后端端口和后端控制器 • 后端控制器在做读写操作时与磁盘进行交流,同时也提供有限的、临时的数据存储。 • 磁盘端口冗余可以进一步增强可靠性 • 情况罕见
物理磁盘 • SCSI • FC • IDE/ATA • SAS • SATA
固态驱动器 • 固态硬盘的存储介质分为两种 • 一种是采用闪存(FLASH芯片)作为存储介质 • 另外一种是采用DRAM作为存储介质(需要独立电源来保护数据安全) • 没有机械运动部件 • 带来了更短的响应时间和更低的电量消耗 • 在阵列中,闪存存储器存储1TB的数据消耗的能量比传统磁盘驱动器少38% • 30个15K转速的FC盘才能达到一个闪存驱动器的性能 • 在性能相同的情况下,闪存驱动器能节能98%
SSD • 固态硬盘的优点 • 启动快 • 不用磁头,快速随机读取,读延迟极小 • 相对固定的读取时间 • 基于DRAM的固态硬盘写入速度极快 • 无噪音 • 能耗和发热量较低 • 内部不存在任何机械活动部件,不会发生机械故障,也不怕碰撞、冲击、振动 • 工作温度范围更大 • 体积小、重量轻 • 固态硬盘的缺点 • 成本高。每单位容量价格是传统硬盘的5~10倍(基于闪存),甚至200~300倍(基于DRAM)。 • 容量低 • 易受到某些外界因素的不良影响。如断电(基于DRAM的固态硬盘尤甚)、磁场干扰、静电等。 • 写入寿命有限(基于闪存) • 数据损坏后难以恢复 • 基于DRAM的固态硬盘在任何时候的能耗都高于传统硬盘
逻辑单元编号 • 逻辑单元编号:Logical Unit Number, LUN • 物理驱动器或一组RAID保护的驱动器可以被分为若干个逻辑卷,这些逻辑卷用LUN统一寻址。 • 一个逻辑设备实际上是RAID组中的一个分区,但却被主机看作是一个物理磁盘。 • 在RAID情况下,这些逻辑设备是RAID组的一部分,分布在所有属于该RAID组的磁盘上。 • LUN的使用提高了磁盘的利用率。
LUN屏蔽 • LUN屏蔽是一种数据访问控制,它决定主机可以访问哪些LUN。 • LUN屏蔽功能一般在前端控制器上实现。 • LUN屏蔽保证了服务器的卷访问得到适当的控制,防止在分布式环境中的未授权访问和意外访问。
智能存储阵列 • 高端存储阵列 • 活动-活动式阵列 • 主机可以利用任何可用的路径去访问它的LUN • 中档存储阵列 • 活动-被动式阵列 • 主机只能通过到该LUN的控制器的路径进行访问
活动-被动式阵列实例 • EMC CLARiiON CX4 120/240/480/960
活动-活动式阵列实例 • EMC Symmetrix • 为业界提供了性能和容量的最高标准
本讲小结 • 描述了智能存储系统的特色和组成 • 前端、缓存、后端、物理磁盘 • 讲述了智能存储系统的两种实现 • 活动-活动式 • 活动-被动式 • 介绍了新兴的固态硬盘 • 从单机到网络,存储网络是一种灵活的以信息为中心的策略,扩展了企业中智能存储系统的应用范围。存储网络提供了通用的管理、共享、保护信息的方法。
下周更精彩 第五讲、第六讲 直连存储和SCSI存储区域网络 储王伟