存储 频道

一看就会!优化RAID控制器提升存储性能

  【IT168 专稿】调整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缓存的目的本来就是为了隐藏写入磁盘的延迟,当数据命中缓存时接收确认。调整写在后通常需要针对读优先指定需要分配多少缓存空间,此外还需要指定可读或写的最小缓存块大小。

0
相关文章