如何优化RAID控制器提升存储性能

~ 许多参数都与缓存和缓存利用率,以及众所周知的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分配单元可能是32KB,你可能会认为该磁盘的所有I/O单元都是32KB,但如果缓存块大小是4KB,那对该磁盘的最小读或写大小应该是4KB,而不是32KB,它是今天磁盘扇区大小的8倍,如果你的文件系统分配单元很大,你的写入请求也很大,但缓存块大小很小,就可能会降低RAID的性能。
我所见过的大多数RAID控制器都是这样,缓存块越小速度越慢,因为它们没有足够的处理器能力管理所有的块,也许等下一代控制器上市会改变这一现状(因为处理性能将会提升)。只有在RAID分配单元中数据处于非对齐状态时,缓存块小一点更好。
想象一下以小的请求写,大的请求读,文件系统分配单元和条带大小匹配时会是什么状况,发生多个连续写操作时,文件系统不会产生严重的碎片,并且读优先将会起作用,如果读比写更大,读优先也有帮助,所有RAID控制器会认为读是连续的,因此在调整读操作时,你需要知道读和写请求大小,并确定同一时间有多少文件写入,如果同一时间只有一个文件写入,数据将很可能是连续分配的,直到文件系统产生碎片,读优先将会带来很大的好处。
另一方面,如果有多个文件写入,并且写入大小和文件系统分配单元比条带尺寸小,这时读优先的作用就很小,甚至毫无作用。归结起来就是:读优先适用于写和分配单元相等,或者当有多个文件写入时,大于RAID的条带尺寸。
调整缓存镜像
在许多中端RAID产品中,写缓存镜像是一个常见的功能,所有写入内容全部镜像到RAID控制器中,控制器处理I/O请求,将其写入控制器的另一半缓存中,如果数据在条带上是完全对齐的,有些厂商在控制器上使用一些技术绕过缓存写入请求,但在普通环境中是具有写缓存镜像的,每一次写操作都要写入到缓存,在向I/O请求发出确认前再写入到另一个缓存,写缓存镜像因此通常会降低性能,因为写入其它缓存存在延迟,并会占用一定的带宽,每个缓存必须镜像到其它缓存,因此缓存空间利用率会下降一半。
如果厂商提供了读或写缓存调整参数,可以根据负载和可靠性考虑进行微调。我经常听到的一个问题是用户到底应不应该使用写缓存镜像,这要根据你对数据可靠性的需要而定。假设你正在写一个文件,将数据写入一个没有写缓存镜像系统的缓存,如果这个时候整个控制器出现故障(从缓存到磁盘),你的应用程序会被告知写入成功,但数据却没有来得及写入磁盘。虽然这种事故发生的几率非常小,但仍然是可能发生的,我就有幸见过一次。
如果你对同一个文件再执行一个写入操作,你可能会遭遇I/O错误,大多数RAID这个时候会意识到它们不能从缓存写入到磁盘,因此会暴露错误,有的RAID控制器会故障转移到可以工作的一侧,你的操作得以成功完成,但实际上已经有一个文件已经丢失了,但你的应用程序却不知道,如果文件少写入了内容,这可能会引发后续一系列的连锁反应,这也是为什么写缓存镜像默认启用的原因。调整写缓存镜像需要指定为写入操作保留多少缓存空间,写缓存镜像开关应该开启,如果控制器损坏,想要找出损坏的数据或缺少的数据几乎是不可能的。
其实只要掌握一点RAID控制器的常识,调整它就不难了。我们需要记住的是,如果同时有多个文件写入,文件系统分配单元很小时,读优先是没有用的,最糟糕的一个例子就是Windows上的NTFS。

如何优化RAID控制器提升存储性能
答:1、企业级“Active/Active”:这种控制器允许你从任何主机向任何LUN写入数据,不会造成性能下降,它通常具备很大的镜像缓存(一般会超过32GB),这种控制器支持热插播硬盘,正常运行时间很长,现在与控制器通信一般是走光纤通道(F...

谁知道IO系统性能之二:缓存和RAID如何提高IO
答:1、改进磁盘IO的另一个技巧是尽可能多地写入或尽可能多的读取。换句话说,将程序的读写缓冲区设置得尽可能大。2、我们今天要研究的内容主要在IO调度这一层。它要解决的核心问题是,如何提高块设备IO的整体性能?这一层也...

raid本地写缓存满
答:提升RAID卡写性能。将数据写入RAID卡缓存,并直接返回,RAID卡控制器将在系统负载低或者Cache满了的情况下把数据写入硬盘。该设置会大大提升RAID卡写性能。存储阵列,由大量的存储单元组成,每个存储单元能存放1位二值数据(0...

如何对RAID磁盘配置进行设置?
答:6.在RAID控制器设置界面中创建一个RAID1卷。7.设置RAID1卷的大小和其他相关参数。8.完成设置后保存并退出RAID控制器设置界面。9.安装操作系统。四、RAID5 RAID5是一种将多个硬盘组合在一起来提高读写速度和数据安全性的R...

组建raid0后,硬盘性能没有提升?
答:还得看主板的支持情况,如果是ICH5R芯片组如P4P800,想组RAID模式,则必须要选择此项,并将Configure T-ATA as RAID项设为Yes,T-ATA BOOTROM项设为Enable,设置后BIOS自动检测的时候按“Ctrl+I”进行RAID设置。也的bios...

raid常识
答:(6)、RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。 3、RAID0+1 把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据...

硬盘RAID是什么意思,怎么搞?
答:RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘...

三星笔记本组建RAID0,开启INTEL的快速储存技术,BIOS该如何设置?
答:RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量...

如何管理 RAID 控制器
答:另外,RAID 1还可以实现双工——可以复制整个控制器,这样在磁盘故障或控制器故障发生时,用户的数据能够得到保护。镜像和双工的缺点是需要花费两倍数量的驱动器来复制数据,但系统的读写性能并不会由此而提高。如何组建RAID系统...

14T的磁盘阵列写入速度只有10m怎么办?
答:磁盘阵列卡散热有问题 你打开电脑机箱,摸一摸。磁盘阵列卡60度以上必须特约维修

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网