如何优化RAID控制器提升存储性能.docx_第1页
如何优化RAID控制器提升存储性能.docx_第2页
如何优化RAID控制器提升存储性能.docx_第3页
如何优化RAID控制器提升存储性能.docx_第4页
全文预览已结束

下载本文档

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

文档简介

如何优化RAID控制器提升存储性能如何优化RAID控制器提升存储性能 调整RAID控制器并没有象有些厂商吹嘘的那么困难,甚至不需要专业的技术支持就可以搞定。许多参数都与缓存和缓存利用率,以及众所周知的RAID LUN相关,本文不针对具体的RAID控制器优化,但阅读本文一样很有帮助,至少你知道有哪些参数经过调整对I/O性能有益。优化RAID控制器需要考虑的地方包括:LUN创建和RAID级别,缓存调整和配置。 关于RAID级别与性能有关的文章已经很多,这里就不再重复了,主要谈一服务下RAID的调优,如果你想通过配置RAID优化存储性能,不管是安装在PC器上的RAID控制器,还是高端企业级存储阵列,阅读本文之后,你将有清晰的方向。 首先我们来看看RAID控制器的种类,目前我们常见的有以下三种: 1、企业级“Active/Active”:这种控制器允许你从任何主机向任何LUN写入数据,不会造成性能下降,它通常具备很大的镜像缓存(一般会超过32GB),这种控制器支持热插播硬盘,正常运行时间很长,现在与控制器通信一般是走光纤通道(FC)或以太网光纤通道(FCoE)。 2、中端“主动/被动”:这种控制器对于每个LUN来说都有两个侧面,一个主动侧面,它是主要路径,一个被动侧面,用于故障转移,你通常需要在主要和故障转移侧之间分割LUN,平均划分你的系统,缓存可以在控制器上镜像,但这种控制器的弹性没有企业级控制器好。 3、RAID主机卡:这种卡插入到PCIe插槽,通过SAS或SATA数据线连接到硬盘,它没有独立的处理器,而企业级和中端控制器都有,它们支持的硬盘数量也没有前两种控制器多,此外,要想故障转移到另一个控制器也是不可能的,你系统的弹性完全取决于你的PCIe插槽和控制器卡。 RAID缓存调整和配置 可以从三个方面调整RAID缓存: 调整缓存,读优先,写在后。 调整缓存块大小。 调整缓存镜像(对于中端控制器来说特别重要)。 读优先,写在后:你可能会认为这样调整后不会产生实质性效果,但事实证明不是你想象的那样,如果读优先,它会认为数据是连续的,这样可以为数据分配连续的地址空间,RAID控制器不知道文件系统或数据的拓扑结构,它只知道连续块地址。如果你的文件系统分配单元小于RAID条带尺寸,如果同时有多个文件写入,这些文件将会在这些RAID条带上变成碎片。 例如,如果文件系统分配尺寸是64KB,RAID 5 8+1条带大小是512KB,同时有多个文件写入,RAID控制器做得最多的事情就是读取你请求的数据,在这里是64KB,也可能是另一个64KB,如果你连续读,直到读完整个条带,这就是读优先,另一方面,如果你只读一个64KB的块,条带中剩余部分的数据来自其它文件,那么读优先只有害处,只有RAID条带大小和文件系统分配单元相匹配时,实施读优先才会获得很好的性能。 写在后:将块读入缓存以便写入内容,当数据命中缓存时向写入程序发送一个响应,这里的关键是数据在RAID条带上必须是对齐的,如果没有对齐,RAID必须完成“读-修改-写入”(读入条带数据,修改成新数据,再写入条带),这样的后果是开销大,延迟严重,RAID缓存的目的本来就是为了隐藏写入磁盘的延迟,当数据命中缓存时接收确认。调整写在后通常需要针对读优先指定需要分配多少缓存空间,此外还需要指定可读或写的最小缓存块大小。 调整RAID缓存块大小 缓存块大小是可以读入缓存的最小数据量,例如,在一块磁盘上的一个RAID,你可能会认为该磁盘的所有I/O单元都是32KB,但如果缓分配单元可能是32KB存块大小是4KB,那对该磁盘的最小读或写大小应该是4KB,而不是32KB,它是今天磁盘扇区大小的8倍,如果你的文件系统分配单元很大,你的写入请求也很大,但缓存块大小很小,就可能会降低RAID的性能。 我所见过的大多数RAID控制器都是这样,缓存块越小速度越慢,因为它们没有足够的处理器能力管理所有的块,也许等下一代控制器上市会改变这一现状(因为处理性能将会提升)。只有在RAID分配单元中数据处于非对齐状态时,缓存块小一点更好。 想象一下以小的请求写,大的请求读,文件系统分配单元和条带大小匹配时会是什么状况,发生多个连续写操作时,文件系统不会产生严重的碎片,并且读优先将会起作用,如果读比写更大,读优先也有帮助,所有RAID控制器会认为读是连续的,因此在调整读操作时,你需要知道读和写请求大小,并确定同一时间有多少文件写入,如果同一时间只有一个文件写入,数据将很可能是连续分配的,直到文件系统产生碎片,读优先将会带来很大的好处。 另一方面,如果有多个文件写入,并且写入大小和文件系统分配单元比条带尺寸小,这时读优先的作用就很小,甚至毫无作用。归结起来就是:读优先适用于写和分配单元相等,或者当有多个文件写入时,大于RAID的条带尺寸。 调整缓存镜像 在许多中端RAID产品中,写缓存镜像是一个常见的功能,所有写入内容全部镜像到RAID控制器中,控制器处理I/O请求,将其写入控制器的另一半缓存中,如果数据在条带上是完全对齐的,有些厂商在控制器上使用一些技术绕过缓存写入请求,但在普通环境中是具有写缓存镜像的,每一次写操作都要写入到缓存,在向I/O请求发出确认前再写入到另一个缓存,写缓存镜像因此通常会降低性能,因为写入其它缓存存在延迟,并会占用一定的带宽,每个缓存必须镜像到其它缓存,因此缓存空间利用率会下降一半。 如果厂商提供了读或写缓存调整参数,可以根据负载和可靠性考虑进行微调。我经常听到的一个问题是用户到底应不应该使用写缓存镜像,这要根据你对数据可靠性的需要而定。假设你正在写一个文件,将数据写入一个没有写缓存镜像系统的缓存,如果这个时候整个控制器出现故障(从缓存到磁盘),你的应用程序会被告知写入成功,但数据却没有来得及写入磁盘。虽然这种事故发生的几率非常小,但仍然是可能发生的,我就有幸见过一次。 如果你对同一个文件再执行一个写入操作,你可能会遭遇I/O错误,大多数RAID这个时候会意识到它们不能从缓存写入到磁盘,因此会暴露错误,有的RAID控制器会故障转移到可以工作的一侧,你的操作得以成功完成,但实际上已经有一个文件已经丢失了,但你的应用程序却不知道,如果文件少写入了内容,这可能会引发后续一系列的连锁反应,这也是为什么写缓存镜像默认启用的原因。调整写缓存镜像需要指定为写入操作保留多少缓存空间,写缓存镜像开关应该开启,如果控制器损坏,想要找出损坏的数据或缺少的数据几乎是不可能

温馨提示

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

评论

0/150

提交评论