专家博客:用RAID实现最佳存储性能(上)

本文作者Henry Newman是Instrumental Inc.的首席技术官。他是一位行业咨询师,在高性能计算和存储领域拥有28年的工作经验。 

DOSTOR存储在线11月2日国际报道:调节RAID(独立磁盘冗余阵列)并不困难,你不需要专业服务也可以进行。

围绕高速缓存和高速缓存使用率有许多参数,一些是明显可以调节的针对RAID LUN(逻辑单元号)的参数。这篇文章不是讲述如何调整特定的RAID控制器,如果是那样,你将需要花点时间来阅读文档,但是通过这篇文章,你可以在整体系统的I/O背景下考虑参数。每家厂商都有自己的命名和概念体系。由于没有标准的定义,我会选择我自己的定义标准,你可以把它套用到一些特定厂商上。在调整RAID的时候你需要考虑的领域是:LUN创建和RAID水平,高速缓存调节和设置。

我们已经有许多文章来讨论如何判断该使用什么样的RAID水平,因此我们这里将讨论如何调整RAID参数。如果你准备通过设置RAID来优化你的系统,无论要设置的是个人电脑上的RAID控制器卡还是高端关键任务型企业级RAID阵列,通过这篇文章,你都可以很好的理解需要考虑哪些事情。

我们一开始先考虑你所拥有的RAID控制器的类型。如今,RAID控制器可以分成三类:

1.企业级主动/主动型:这种类型的控制器允许你从任意主机写入到任意LUN,同时对性能没有影响。这些控制器通常有庞大的镜像后的高速缓存(通常超过32GB),而控制器设计成可以热插拔任意组件。这种控制器的连接目前主要是在光纤通道上,以后很快就会变成FCoE(以太网光纤通道)。

2.中端主动/被动型:这种类型的控制器对每个LUN有两面,一面是主动,也是主存储路径,一面是被动,用于故障复原。你通常可以将LUN在主存储和故障复原之间进行分割,甚至分割你的系统。高速缓存可以在控制器中进行镜像化操作,但是这些控制器不像企业级控制器那样富有弹性。这类控制器的连接方式目前主要是光纤通道,以后很快会变成FCoE。

3. RAID控制器卡:这些是可以插入到PCIe的卡,通过SAS或SATA连接方式连接到驱动器。这些卡没有像中端或企业级控制器那样强大的处理器,而且他们也不支持那么多的驱动器。你不能故障复原到另一个控制器,而且你的系统只能在PCIe插槽和控制器卡上做文章。

许多RAID厂商只考虑他们自己的设备和存储。他们某种程度上认为存储只是按顺序从主机进行分配,同时存储只是按顺序分配的裸设备。尽管这种观点已经有了某些改变,我仍然有时听到一些奇怪的厂商言论说用户只是使用裸设备,同时数据库和文件一次性写入系统。其实,基于块的文件系统并不是按顺序分配数据。

RAID高速缓存调节和设置

RAID高速缓存调节可以分成三个方面:

  • 调节高速缓存,无论是先读取的还是后写入的;
  • 调节高速缓存块大小;
  • 调节高速缓存镜像(对中端控制器很重要);

先读取和后写入:你可能认为先读取和后写入是一样的,但是它们实际上很不同。

如果是先读取方式–通过在磁盘上读取顺序块,在请求前先读取数据–它假设的是数据将被顺序读取,而且是分配在顺序的块地址上。RAID控制器不知道文件系统或数据的拓扑或格局,它们知道的就是顺序的块地址,因此控制器I/O请求是针对顺序的块地址的。如果你的文件系统分配小于你的RAID条带大小,同时如果同一时间两个以上的文件被写入,那么文件可能在这些RAID条带内分割。

更多请阅读 专家博客:用RAID实现最佳存储性能(下)