存储知识总结学习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存储知识小结

存储系统分类

通常情况下,根据可扩展性、可靠性、性能、功能等方面,可分为低端存储、中端存储和高端存储。

低端存储一般情况下,只有一个控制器,基本上没有或者有少量的cache。控制器没有冗余,可靠性难以保证。

中端存储通常情况下,采用双控制器结构,两控制器互为冗余。有相当量的cache和链路。控制器是整套存储核心,负责数据请求处理及其存储本身的管理等。

高端存储,大多数采用多控制器结构,并采用以cache为核心的体系结构。高端存储提供高带宽、高可靠性。多数用在核心业务环境中,如金融、电信、移动通讯等核心系统。

存储CACHE技术

Cache读

Cache读技术,主要是考虑命中率问题。如果数据在内存中,则可以直接从内存中

获得,则成为cache命中。如果数据不在内存中,则需要从物理磁盘寻找数据并读入。同样情况,从物理磁盘读入数据所需时间包括三部分:磁盘寻道时间、等待磁盘转到磁头的时间、数据读入到内存时间。这三部分时间远远大于从cache直接获取数据的时间。Cache命中率很重要,是提高单IO响应时间的关键。

Cache写

在写环境下,只要数据写到cache中,系统就反馈给上层应用,写完成。整个过程速度是非常快的。比直接写入物理磁盘快若干个数量级;为了保证写入cache的数据不丢失,大多数存储采用cache镜像技术和后备电池来实现。

镜像技术保证写cache的数据不丢失,因为cache是硬件,当硬件出现故障,导致cache 不能使用的时候,另外的镜像仍然存在,保证cache数据的完整性。

后备电池在系统断电的时候,保证cache数据及时写入物理硬盘中。中低端存储的后备电池能够保证在掉电的情况下,将cache数据写入到物理硬盘。高端存储通常提供UPS,短时间的掉电(如1分钟),不会对存储造成影响。当大于一定的时间阀值时,存储会自动把cache 数据写入硬盘,以保证cache数据的完整性。

可见由于cache写的存在,既能保证数据完整性,又能大幅度提高性能。因此写cache 在存储系统中有着非常重要的地位。

Cache设计技术

一般的存储设计,都简单地把cache分为读cache和写cache。其中写cache需要镜像,读cache则是全局的。

不过在EMC高端存储中,最初采用电子校验的RAID5方式做cache的保护技术。从DMX3开始,又改成读写全镜像的方式。

存储性能指标

IOPS

IOPS是指系统在单位时间内能处理的最大IO频度,一般指单位时间内能完成的随机小IO个数。单个IO的响应时间指的是一个IO请求从开始到结束的时间,往往与cache 大小以及命中率有很大关系。

带宽

也叫吞吐量,指的是单位时间内最大的IO流量,往往是采用大的IO块,大的带宽获得的最大流量。

这两个指标既相互独立又相互关联。一般来说,当涉及更多的频繁读写时,更多的考虑IOPS与响应时间;而一些大量的顺序文件读,如数据仓库应用、流媒体,更多地考虑带宽指标。

IOPS(每表IO个数)

决定IOPS的因素主要为磁盘个数、cache命中率以及阵列的算法。

磁盘个数,这是决定存储IOPS最关键的的因素。因为每个磁盘的最大IOPS个数是有限的。磁盘类型与IOPS的关系如下:

如果一个存储阵列有120块15K rpm FC硬盘,它能支撑的IOPS为 150*120=18000;基本达到硬件所能达到的极限值。

上述IOPS值是硬件所能支撑的硬件理论值。如果考虑读cache命中率,存储所能支撑的IOPS将可能大于这个值。

假定cache命中率在业务正常运行的情况下可以达到30%。那么120块15K rpm硬盘所能支撑的IOPS

IOPS = 120*150/(1-30%)=25700

上面展示了IOPS和cache命中率的关系,影响到IOPS的还有存储阵列算法。如cache算法、寻道算法、预读算法等。存储阵列算法各厂家、各型号存储的是不同的。有时候出于商业机密考虑,这种内部实现原理厂家不会公布的太多。

带宽(Throughput)

吞吐量主要取决于硬盘个数、光纤通道的数量和带宽以及存储架构。

与IOPS一样,单个物理磁盘所能支撑的最大流量大小。硬盘类型与最大流量关系如下:

同样假设一套存储有120块15K rpm的光纤硬盘,则该存储所能支撑的最大流量为120*13=1560MB/s

除了光纤硬盘,还有一个重要的因素需要考虑,那就是光纤通道。所谓光纤通道就是光纤硬盘和存储控制器间的物理链路。同样对吞吐量有决定性的影响。如在数据仓库中,对存储吞吐量要求很高,一个2Gb的光纤链路所能支撑的最大流量理论值为2Gb/8=250MB/s。目前大多数存储中光纤硬盘盒光纤通道都支持4Gb的速率。

最后,存储架构也会对存储吞吐量产生重大影响。主要是存储系统的内部带宽(类似于pc系统的BUS总线),也就是上面所说的光纤通道。通常情况下,考虑到存储扩展性及避免内部带宽瓶颈,内带带宽设计得很充足,不会成为系统的瓶颈。

响应时间(Response Time)

响应时间是指单个IO的响应时间。单IO的响应时间与IOPS的当前值、吞吐量大小及cache命中率都有密切的关系。

当一个存储的其他指标很相近的时候,就可以考虑在相同的条件下,单IO的响应时间是否有差别。很明显,响应速度越快越好。

经验值表示,一个IO的响应时间在20ms以内。属于正常范围。

如果应用是个大型的交易系统,也就是典型OLTP环境,其中主要以事务与小的查询语句居多,基本是离散读写和离散写,则首先考虑IOPS因素、并配置适当的硬盘个数及cache大小。如果应用是数据仓库环境或者是典型的olap环境,其中主要运行大的sql语句,需要大吞吐量,读写规则也基本上连续写或者连续读,则需要考虑存储系统带宽和存储的光纤通道,并配置适当数量的磁盘个数。但与读cache大小关系不大。

存储系统性能测试

真实评估存储的性能,最好的方式就是测试。尤其是模拟自己应用来测试。常用测测试软件有:

ORION软件

Oracle公司开发提供的压力测试软件,但oracle不提供技术支持,有具体的使用手册。Orion能很好的模拟oracle的运行,并能获得极限压力情况下的压力数据,包括IOPS、带宽及响应时间。

Load runner软件

运行自己的业务或者编写模拟业务脚本,然后在压力情况下,获取存储性能指标。

具体两种软件的使用,不在这里介绍。

存储内部架构

双控制器

相关文档
最新文档