PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

【补档】各种“软RAID”在日常应用环境下的性能表现

[复制链接]
nighttob 发表于 2014-7-29 14:10 | 显示全部楼层 |阅读模式
点击数:14442|回复数:5
本帖最后由 nighttob 于 2014-7-29 23:40 编辑

此帖为本人补档,内容经过合并整理并修改,故与原帖不同

本文只是一个业余存储爱好者舍得花时间去做的测试,受限于技术和条件,测试并不保证完全准确可靠,对结果的分析也不具备权威性,所以不要用本文中的信息作为唯一依据。

本文需要读者了解RAID的基础知识,文中不会过多普及相关知识。
http://bbs.pceva.com.cn/thread-85614-1-1.html

请勿转载,如需引用内容,请直接转发链接。

测试环境:
主板:Asrock Z77 Extreme4  BIOS版本:P2.80
CPU: Intel Xeon E3-1230v2 3.30GHz
内存:G Skill F3-12800CL9-4GBXL DDR3-1600 9-9-9-24 -2T 4GB*2
显卡:MSI 7850 HAWK 1GB
系统盘:Intel 520 240GB FW:400i
操作系统:Windows 8 Pro 64位

测试对象:
主板RAID
RAID Option ROM版本:12.6.0.1867
RST驱动版本:12.8.0.1016
阵列卡 HighPoint RocketRAID 2720
(关于此卡的简单介绍,见我以前的帖子,http://bbs.pceva.com.cn/thread-93134-1-1.html
FW:v1.5
驱动版本:v1.4.13.320
Windows动态磁盘
Windows存储空间

测试盘:Intel X25-M G2 80G FW:02M3 *4

测试项目:
AS SSD Benchmark ver1.7.4739.38088
CrystalDiskMark ver3.0.2
ATTO Disk Benchmark ver2.47
FastCopy ver2.11
PCMark 7 Ver1.4.0

测试步骤:

每轮测试前,4块X25-M都删除RAID阵列形式,直接连接主板SATA接口上(对在RR2720上的测试而言),重新MBR初始化,重新建立分区并格式化,然后用Intel SSD Toolbox手动Trim一遍(本来是想SE的,但我这边做SE十分麻烦,所以只能退一步做Trim了,Trim后有留几分钟时间让每块盘自己GC),之后建立RAID,有需要初始化阵列的等待初始化,接着MBR初始化,建立分区并格式化。第一个跑AS SSD Benchmark(以下简称AS SSD),第二个跑CrystalDiskMark(以下简称CDM),(如果需要)第三个跑ATTO Disk Benchmark(以下简称ATTO),第四个跑FastCopy,在跑PCMark 7之前会格式化待测分区以删除FastCopy拷贝进去的数据,最后跑PCMark 7(以下简称PCM7),一轮测试结束。

如何区分“软RAID”和“硬RAID”

我的标准是RAID硬件在处理其存储工作时需要不需要使用主机CPU资源,如果需要就是软RAID,不需要就是硬RAID。因此本文中所提及的HighPoint RocketRAID 2720阵列卡、主板板载RAID和Windows 8系统里的动态磁盘和存储空间都是软RAID。

测试系统构成

520单盘的情况下,主板BIOS开RAID模式,安装纯净版Windows 8和必要驱动及测试软件。之后连接4块X25-M,主盘的520在SATA(6G) Port0,4块X25-M在SATA(3G) Port2-5。阵列卡在测试时安装在第二条PCI-E x16插槽上,4块X25-M由一条SFF-8087 mini SAS线缆连接在阵列卡的Port1上,测试完毕后移除阵列卡及其驱动。

主机全程为日常使用模式,CPU频率默认(没降电压),内存开XMP,各项目节能默认开启(包括TurboBoost、EIST、C*电源状态等),部分不需要功能禁用(比如第三方SATA、串并口、快速启动、智能连接)。操作系统为默认状态(包括页面文件、临时文件等),有一定量后台程序,和前台用于监控跑分过程的程序(比如任务管理器)。



测试盘概况

本次测试作为主盘和测试盘的5块SSD还有另外一块120G的X25-M,4块80G的X25-M上贴的数字标签代表它连接在主板SATA Port的位置,防止被搞混。

4块X25-M的概况。固件都刷新到02M3。

基准性能测试

4块X25-M的基准理论性能,都差不多。所以挑其中一块做更多测试。


三个测试分别为从系统盘拷贝WOW的游戏目录到被测盘上(写入测试),从被测盘拷贝到系统盘(读取测试),在被测盘内复制一份(拷贝测试)。

最后一个PCMark7的从盘存储测试。

测试项目应该怎么看

AS SSD和CDM表现出的是盘本身的理论性能,除了持续读写是你能在复制文件时候直观感觉到的以外,其他子项目多与少都很难在日常使用中有所体现(见浴室的《SSD实用与跑分的差距》系列,http://bbs.pceva.com.cn/thread-94811-1-1.html)。现在很多人说单线程4K如何如何,但这个值是很难以提升的,单线程4K写入理想情况就是颗粒的编程速度(这个在浴室的各个SSD评析里面都会讲),而单线程4K读取实际上是SSD内部寻址延迟的体现。要提升单线程4K写入相对简单,用编程速度更快的颗粒、更快的闪存通道、更快的主控;而想提升单线程4K读取就困难的多,延迟的产生其实是物理定律的体现,我们当然可以用更大的缓存去储存一个详细的闪存映射表(FTL),但信号要走过的路径还是要比点对点要长。形象点说就是我们在一片田地里种种子,单线程4K写入就是拿一颗种子随便找一个坑种进去,单线程4K读取就是从田地的所有坑里找一颗特定的种子,哪个更复杂显而易见。

那么AS SSD有什么用处呢?我认为就3点。(1)看你AHCI/RAID或者相关驱动是不是正常的;(2)4K是否对齐了;(3)是不是把盘插到错误的SATA接口上。前两点很容易就看得出,左上两个绿色的OK就解决了,第三点要稍微分析一下:如果是SATA3.0的盘,插在SATA2.0接口上持续读写肯定跑不过300MB/s,插在第三方的SATA3.0接口上持续读写一般也跑不过400MB/s,而且插在第三方SATA3.0接口上还会导致延迟较高,如果挂从盘读写延迟都超过0.1ms,那就要注意是不是插错了(仅适用于Intel平台台式机,AMD平台不清楚,笔记本平台由于节能的缘故自身延迟就会比较高)。

ATTO测试是用来看不同数据块尺寸下的性能表现,在单盘测试时意义不大,但之后不同条带大小的RAID测试中,其意义就会有所体现。

FastCopy测试就是拿一个实际文件夹去测试拷贝速度和时间,但我这里有个缺陷就是WOW游戏目录是大文件为主,零碎文件不够多,所以整体上表现出的依然是持续性能。还有一点就是FastCopy本身缓存对测试结果的影响也无法测定。

PCMark 7作为综合测试,反应的是被测的存储系统在应用中的实际表现,也就是说是最接近我们日常使用的结果。看过浴室的《SSD实用与跑分的差距》系列的人应该已经可以预料到,之后很多跑分很高的测试,在PCM7的测试中很可能就跟跑分平平的在同一分数段上,因为跑分出来的性能大部分是过剩的。打个比方就是我一口气只能喝下200ml的水,所以不论是装300ml水的杯子还是500ml水的杯子,我一口气都喝不完,但是我要拿起的是整个杯子,而不是我只需要的200ml水量。V1.4.0版本的PCM7还增加了存储测试的原始评分(数据),这个数字就相当于AS SSD那种跑分软件提供的数据。当然PCMark 8的结果更准确,但目前只有注册版,$1500一份,一个业余玩家做测试显然不会花这$1500的。



HighPoint RocketRAID 2720阵列卡上各个RAID组态的性能测试

HighPoint RocketRAID 2720(以下简称为RR2720)这张阵列卡支持RAID 0/1/5/6/10/50,但固定只能用64KB条带大小。为了与主板支持的RAID级别相同,所以本次只测试了4盘RAID 0/5/10及单盘独立的情况。

这张卡在测试HDD的时候已经见过很多回了,但HDD和SSD的并发压力显然不是一个级别的,所以对这个测试并没有什么底。
首先是4块X25-M单盘独立的情况

盘与盘之间的差异依然很小,但跟在主板上时候就有些差异了,特别是多线程/队列深度(Thrd/QD)4K读写的表现,在iops这一页表现的更明显点。

ATTO测试,峰值都要比在主板上时候低。

FastCopy,写入和拷贝比主板时候低一跌,读取时略高。

PCM7,总分只低了34分,除了Test6以外的子项目都低了不到1MB/s。

整理一下,从直连主板到RR2720,单盘性能有所降低,从PCM7成绩来看,差距并不大。因为重点是RAID后的性能差异,所以单盘不做更多比较了。
接下来就是组建RAID后的情况了,由于图片太多,所以我把图片整合成了一张大的,观看起来可能有所不便。

从左到右的顺序依次是:4盘RAID 0,4盘RAID 5回写,4盘RAID 5直写,4盘RAID 10,单盘。

嗯,4盘RAID 0分数没过千,持续读也没能过千,弱爆了有没有!不过这只是跟板载RAID对比的参照物而已,现在不做过多分析。

然后是各个RAID组态的WebGUI信息和PCM7成绩。

RAID 0 64KB条带

RAID 5 64KB 条带 回写

RAID 5 64KB 条带 直写

RAID 10 64KB 条带。可以看到RAID 10是两个RAID 1组成的RAID 0,所以只有当同一个RAID 1中的两块盘都挂掉的时候,才会导致整个阵列失效。
在用RR2720组成RAID后,实效较单盘都有所提高,提升幅度则根据RAID级别和缓存策略而定。通常我们认为性能不佳的RAID 5,在启用回写缓存的时候,PCM7成绩也接近RAID 0的水平。但任何一种组态对单盘来说,都没有达到如理论性能跑分那样显著区别的水平,由此我们也可以预计在主板板载RAID的测试中也会是类似的结果。



主板板载RAID ROM上各个RAID组态的性能测试

RAID 0
不得不说,会有那么多人想组RAID 0,除了跑分性能x2各种YY以外,就是板载RAID实在太傻瓜化了。首先,把RST控制台点出来;然后,点创建;接着,选择RAID 0,下一步;选择硬盘,下一步;如果盘上有分区的话,会让你再打一个勾,最后点创建卷。这就完成了,然后你就可以在磁盘管理里分区,格式化,该怎么用怎么用了。最厉害的是,新版RST还可以保留其中一块盘上的数据,ORLM成RAID 0,连另找一块硬盘导数据的步骤都可以省了(不对过程中的安全可靠负责)。即使是在安装操作系统之前,在BOOT过程中Ctrl+I进RAID ROM创建一个RAID卷也一样简单,几乎所有主流厂家的主板说明书后面都有教程——如何建立板载RAID,看不懂黑底白字的E文,只要按着说明书上的图示照猫画虎就好了。当然,这一切的前提是你的主板支持完整的RST功能,但随着Z77开4倍频福利的普及,其板载RAID功能也就成了添头。

扯了这么多,回到正题。虽然傻瓜地建立一个RAID 0很简单,但其实里面还是有一些设置可以调整的,在RST里面最主要的就是条带大小和缓存策略,当然如果你觉得取个好听的阵列名字也很重要的话也可以把它算上,另外还有一个滑杆可以调整是否占用满盘的容量。条带大小和缓存策略可以在建立RAID之时进行设置,如下图。

所有RAID级别都有勾选“启用卷回写高速缓存”的选项,但默认是灰色(不可用)的。除了RAID 1以外的级别还有数据条带大小的选项,不同RAID级别时的默认值不同,阵列所含物理磁盘数量不同时也不一样。比如RAID 0不大于3盘的时候是16KB默认,四盘以上就是32KB。当然这个值是我们可以手动指定的,所以没必要纠结默认是多少。但是条带大小是跟性能有一定关联的,在后面的测试中就可以知道。

前面说“启用卷回写高速缓存”的选项是灰色不可用的,是因为需要解除一个“不怕死开关”,如下图。

这个设置大家并不陌生,在James007ss版主的知识普及里提到过(http://bbs.pceva.com.cn/thread-44535-1-1.html)。只有阵列内所有磁盘都打上这个勾以后,“启用卷回写高速缓存”的选项才会变成可用的。当然,回写缓存可以在已经建立好RAID卷以后在更改设置,而且还有不止一个可选,但真正“充分利用”缓存的只有回写这一项,所以之后的测试只会围绕开回写缓存和关闭这两个来进行。

另外一点,不同于回写缓存可以在建立好RAID卷后再更改,条带大小是需要一开始就设置完毕的,建立好RAID卷后就不能更改。(见下文图)

以下性能测试图分为两组,一组是关闭回写缓存,一组是开回写缓存。每组都是从4KB条带到128KB条带递增,依然是整合成一张大图。

关闭缓存组

AS SSD跑分妥妥过千了,4K-64Thrd贡献了大部分分值,但是持续读还不如RR2720上的数字。再来看随着条带增大,分数变化的趋势,持续度一直在上升,4KB条带下512B的iops是最高的,其余数据就没什么规律了。CDM与AS SSD类似。

这时候选择ATTO作为测试软件的意义就显露出来了,达到最大读写速度的数据块尺寸随着条带的变大而降低,较低尺寸的数据块读写速度也有显著提升。但是ATTO并不容易跑完美,总会有奇点,特别是在阵列里。ATTO和AS SSD及CDM一样,数据本身并不重要,关键是表现出了一个性能变化的趋势。

在FastCopy中,除了4KB条带下复制测试成绩比较低以外,其他测试都是在同一水平上。


*



6个PCM7的成绩都是在5300这一层次上,原始成绩有一些波动。

回写缓存组

在开启回写缓存的测试中的性能趋势也跟关闭缓存时的一样,但多线程读写成绩略有下降,4K单线程写入暴增,这就是回写缓存的功劳了。在回写模式中,写入数据到缓存中即反馈完成,而不是写到存储介质(本测试中即为NAND颗粒)中才反馈完成。

在FastCopy中,依然是4KB条带下复制测试成绩比较低。






PCM7测试中,4KB条带成绩偏低,其他各组都是5200分左右,但整体水平却低于关闭回写缓存时候,尽管原始成绩要高出不少。可见性能过剩了,而且关键的性能并没有利用到关键的地方。

RAID 5

RST组建RAID 5卷与RAID 0稍有不同的一点就是有初始化选项,同样地,组建RAID 1/10也有要求初始化,这是为了保证数据的完整性和一致性,所以当测试阵列要求进行初始化的时候都进行了初始化。不同于阵列卡上初始化会有“前台初始化”、“后台初始化”、“快速初始化”、“不初始化(保留旧数据)”的选择,RST中的初始化只有一个复选框,勾上就会在前台初始化,不勾就不初始化。初始化需要的时间则由RAID级别、阵列容量和磁盘性能所决定。

为保持与RR2720上的测试一致,所以板载RAID 5测试也分成了回写组和直写组,条带大小从16KB开始到128KB。

回写组

尽管RAID 5被一贯认为写入性能不佳,但在SSD+回写缓存的帮助下,理论性能依然不俗。不同于RAID 0理论性能随条带增加而提高,RAID 5在这方面表现并不明显,也可以说最低的16KB条带也是“比较大”了。倒是FastCopy写入测试中表现出了一些随着条带增加而提高的趋势。




在PCM7测试里4个条带大小的成绩和原始成绩都比较接近,相对来说128KB条带的成绩较低。

直写组

在开启直写以后,写入性能就明显下跌了,但受惠于读取的高得分,理论性能(得分)依然比较高。跟开启回写缓存时候比,除了多线程写入以外的其余写入水平都明显下降了,尤其是单线程4K跌至4MB/s左右,写入延迟也大大增加了。可见RAID 5就像我们知道的那样,并不适合跑随机写入。

ATTO测试中也表现出了类似RAID 0时候的性能变化趋势,只不过基数太低,即使有提升,结果依然比较差。(就像Intel“高性能核芯显卡”,每次宣传都是性能百分之几十/几百的提升,但基础是6FPS的水平,纵然能提升100%,也仅是12FPS,依然是幻灯片)

在FastCopy写入和拷贝测试中出现了“两边高中间低”的情况,有可能是写入区域与之前测试理论跑分的区域重合了,或者就是发生了我无法解释的情况。




直写情况下的PCM7成绩变化趋势也跟回写时的类似,也是128KB条带的成绩较低。但不同于理论测试中相差悬殊的结果,尽管相同条带下原始成绩较回写时下降了近一半,实际得分只比回写低几十分。这一点确实很出乎意料,本来以为应该要差开至少百分的。

RAID 10

实话说,测RAID 10的时候我偷懒了,只做了64KB条带开关回写缓存的测试,用来跟RR2720的做对比。理论上说,作为RAID 1与RAID 0的混合体,RAID 10应该具有类似RAID 0的性能变化趋势,以及接近双盘RAID 0的写入性能和四盘RAID 0的读取性能。另外,4盘的硬性要求也就限制了RAID 10必然是只有壕才组的起的……

因为只有关闭缓存和开启回写两组,所以图就整合一起了。

实测结果跟之前预期的一样,缓存开启与否之间的差距也不大,有区别的只是单线程4K写入,这也跟之前RAID 0和RAID 5时的情况类似。在FastCopy测试中,开启回写的成绩稍好。


PCM7测试中的结果也与RAID 0时候相似,关闭缓存的成绩较高,开启回写的原始成绩较高。

主板板载RAID的表现也正如之前测试RR2720时候预期的那样,不过测试的规模却超出了我的预想,“罪魁祸首”就是板载RAID所有级别都可以开回写。如果说RAID 5开启回写,一定程度上能弥补自身写入性能的不足的话,RAID 0、RAID 10甚至RAID 1都能开回写,意义又是什么?难道说板载RAID就是为跑分服务的?

通过上面的测试,大家也应该明白了,除了RAID 5以外,其他级别开启回写缓存也只是让跑分更漂亮了而已,对实用的提升很少,甚至还有负增长的情况。最重要的是,就像回写的原理里说的,数据写入到缓存中即反馈完成,而非存储介质里,这也增大了突然掉电而致数据丢失的风险,可以说这种“性能提升”与所要承担的风险是不成比例的。因此,即使是有需要进行RAID以获得性能和/或可靠性提升的玩家来说,在没有额外电源保障的情况下,请谨慎考虑是否要开启回写缓存。



Windows 8系统上动态磁盘和存储空间的性能测试

动态磁盘

之前说用RST组建RAID是傻瓜式的话,那么我已经找不到形容词来描述动态磁盘了,只要你打开过资源管理器,就知道动态磁盘怎么组建。

动态磁盘逻辑卷有简单卷、跨区卷、带区卷、镜像卷和RAID-5卷这几种形式。从本质上来说,动态磁盘就是软RAID,这几种逻辑卷形式也就分别对应为Standalone(简单卷)、Span(跨区卷)、RAID 0(带区卷)、RAID 1(镜像卷)和RAID 5(RAID-5卷)。这里我只测试了带区卷,也就是类似RAID 0的形式。本来也想做RAID-5卷,但我就是无法让“新建RAID-5卷”的选项点亮,所以只能作罢,如果谁能告诉我如何做到,我很乐意在以后把它补充进来。其他几种形式就略过了,这回只着眼于之前测试过RAID级别的对比。

顺便提一句,虽然动态磁盘简单卷跟基本磁盘主分区很类似,但简单卷依然是RAID形式,所以两者之间不能直接替代。在基本磁盘主分区上能正常使用的程序到了动态磁盘上未必依然正常。一些稍旧的磁盘分区工具可能不支持动态磁盘,对动态磁盘很可能当一个RAID整体来对待,因而并不能发挥作用,如果考虑向前兼容性的话,请尽量避免使用动态磁盘。还有一点就是,如果分区不当,事后要调整分区大小的时候,在可用空间位置跨度较大的情况下(比如可用空间在要扩容的分区之前或者在隔过另外一个分区之后),进行分区扩展的操作会把主分区转换成简单卷,而空间分布也会变得散乱,Windows 7/8(之前的版本不了解)不能重新安装在这样的简单卷上。

理论性能跟板载RAID 0时候类似,比关闭缓存的跑分略高;ATTO表现类似低尺寸条带时的。但FastCopy写入和读取测试较低,拷贝测试一样。

但在测试PCM7的时候遇到了问题,进度条一直卡在Test1上,然后出现此页面,没有成绩。多次重试也是这样,这应该就是前面提到的兼容问题。
由于PCM7测试无法完成,所以缺少了很重要的参考数据,结合之前FastCopy和理论跑分的结果(如果可靠的话)来估计,带区卷在实用中应该不会比板载RAID 0关闭缓存的情况更好。而且带区卷会受到一些使用上的限制,比如安装Windows只能在最普通的简单卷和镜像卷上,无法在带区卷上安装。
动态磁盘带区卷作为一种比较简单的软件RAID形式,在大多数测试中取得了跟板载RAID 0上类似的性能。在有相应的需求但无法使用板载RAID 0功能的时候,动态磁盘带区卷可以提供与之相近的性能表现,但一定要注意兼容性问题。

存储空间

存储空间是Windows 8和Windows Server 2012新引入的存储模式,当然这个概念并不新鲜,在其他操作系统/环境下早有部署。这里不再展开了,只简单介绍一下跟测试有关的“复原类型”(就相当于RAID级别)。

首先一点就是存储空间不能在系统盘上部署,也就是限定只能用在从盘上。然后4种复原类型——简单(无复原)、双向镜像、三向镜像、奇偶校验。按照微软的技术说明,简单应该是条带,但我的实际测试却表现的像动态磁盘的跨区卷(对两个及更多盘来说),也就是Span。这个结果让我有点困扰,当然这有可能是系统的问题,也可能是设置参数的问题,以下的测试和结论都是以Span来写的,而非条带(RAID 0)。双向镜像类似RAID 1,需要至少两块盘,在四盘的时候就是RAID 1和Span组合(具体哪个在前哪个在后我就不知道了)。三向镜像可能类似RAID 1E,是错位多份保存,既不是简单镜像,也不是简单条带,需要至少五块盘。奇偶校验就类似RAID 5了,需要至少三块盘。

在Windows 8上建立存储空间同样非常傻瓜,选择要加入存储空间(存储池)的驱动器(可以是物理磁盘,也可以是RAID后的逻辑驱动器),然后选择复原类型、创建名称、分配驱动器号以及可用容量大小,然后就能建立了。值得一提的是可用容量大小是可以超过物理总容量大小的,当可用容量不足的时候可以通过增加驱动器来扩容。由于扩容导致的条带不平均和重建等问题不再深入。另外Windows Server 2012里面建立存储空间也比Windows 8中的复杂不少,建立存储池和再在存储池中建立逻辑驱动器是分开的两步,当然这方面也不继续说明了,有兴趣可以自己开虚拟机玩。

存储空间本身会占用一小部分物理容量,所以最终可用的容量(即使包含复原)也会比物理总容量小。但看在人家方便扩容的份上,这点还是可以接受的(其实对扩容也是有一定限制的),在RAID上通过添加物理磁盘进行扩容一般都是要重新条带数据的,非常费时。

还有就是,虽然存储空间有一定优势,但作为Windows 8和Windows Server 2012的新功能,它是不能向前兼容的,也就是你在Windows 8上建立一个存储空间,Windows 7并不能用,当然非Windows操作系统也一样。所以当有跨操作系统的需求时,也请注意这一点。

因为我手里只有4块盘,达不到三向镜像的最低要求,因此只测试其他三种类型了。




测试结果图与之前的不太一样对吧,都不拥仔细看数据就能发现三点大不同。

第一点,因为简单其实就是Span,性能应当就是单盘,所以没有继续测FastCopy。

第二点,AS SSD没有iops那一页,而且看上去没测试完。确实是这样,不知道是不是兼容性问题,软件测试到Acc.time Write的时候就弹窗停止,然后程序出错关闭,都来不及翻到iops那一页。

第三点,ATTO是从4KB数据块开始测的,而不是之前的512B。这是因为存储空间建立的逻辑驱动器扇区是4KB的,在默认情况下点ATTO的开始就会给你弹出一个窗口告诉你。

让我们仔细看一看测试的结果。

AS SSD持续读取和单线程及多线程4K读取,三组测试都正常。持续写入,前两组都是单盘水平,正常;最后一组其实也是正常的,只不过之前的RAID 5测试,持续写入都比较好,至少能超过单盘,这回是真的在写入上栽坑了。之后的随机写入的毛病就比较多了,简单时候正常,双向镜像时候性能就明显下跌了,到了奇偶校验就基本没法看了,多线程随机写入比单线程还低。最后的延迟测试就一律抽了,直接用iops来测都是6位数的iops。

CDM的结果跟AS SSD的类似。

看过AS SSD和CDM的,再ATTO也就不奇怪了,虽然简单和单路镜像看上去差距较大,但是注意下标尺的单位就明白了,最后奇偶校验的也还是那么惨,虽然大尺寸数据块读的速度上去了。

FastCopy写入和拷贝测试,双向镜像比单盘略低,奇偶校验依然同上面理论跑分那样惨。

最后PCM7测试也跟动态磁盘一样的结果,第一关过不去,所以也没成绩。结合上面的跑分来看,双向镜像不会比单盘的强,奇偶校验也会比RAID 5关闭缓存时候的低。

以上对存储空间的测试似乎说明存储空间这个功能更多是面向静态存储用,而非高存储性能。这对大容量HDD组成的附加存储来说也许合适,但对有较高读写性能要求的应用来说就完全不适合了。这并不是说所有基于操作系统或者操作系统上软件的RAID都是低性能的,软件RAID可以实现比硬件RAID更灵活多变的形式,当然也会有各异的性能及RAS表现,这里对Windows存储空间的测试结果并不代表软件RAID的共性。

到此,4盘的各种RAID组态测试数据就贴完了,下面整理并分析一下。



性能测试数据整理与分析

首先对比一下相同RAID级别下,RR2720、板载RAID和动态磁盘带区卷的性能。

下图,从左到右分别是RR2720 RAID 0 64KB条带、主板板载RAID 0 64KB条带关闭缓存、板载RAID 0 64KB条带回写、带区卷及单盘。

图太大不容易阅读,那么整理成表格。

这下就可以看清楚数字了,还有与单盘X25-M及与RR2720 RAID 0的对比。

然后摘取CDM和FastCopy的成绩做个图。

这样一来,相同测试项目对比起来更加直观。

各种RAID 0,理论测试中除了单线程4K随机读写和读取时间以外,相对于单盘都有不同程度的提高。有下降的就是多了一层RAID逻辑带来的延迟了,使用回写缓存也只能靠更快的返回完成提高写入能力,但对读取完全没帮助,而且像之前测试中提到的,过度使用缓存所要承担的风险与获得的收益不成比例。FastCopy写入和拷贝也是受益于整体持续读写的大幅提高,读取大体上没什么变化,动态磁盘带区卷略低,但凡是超过200MB/s的,基本都是跑满了系统盘520的持续写入能力了,所以读取测试的瓶颈其实是520的写入。

相对于用来做RAID 0参照的RR2720组,其他三组多数项目变化不大,除了开回写的4K写入以外,其他有明显区别的应该就是测试奇点,这也是为什么要用两个理论跑分做测试,因为你不知道哪一个会抽风(虽然多跑几次也能剔除出奇点,但最重要一点是时间有限,再有一点就是并不一定能跑出更好看的成绩,很多时候都是越跑越烂。所以理论跑分都是用来“娱乐”用的)。FastCopy中除了动态磁盘带区卷的写入明显低了一截,其他各组都保持一致。
PCM7的结论都留到最后再说。

然后是RAID 5这一级别的。从左到右分别是RR2720 RAID 5 64KB条带回写、RR2720 RAID 5 64KB条带直写、主板板载RAID 5 64KB条带回写、板载RAID 5 64KB条带直写、存储空间奇偶校验及单盘。

依然整理成表格。

回写和直写都对比的话显得太乱,这里就只与单盘时候对比了,而且RAID 5对比单盘其实并无优势……

还是摘取CDM和FastCopy的成绩做个图。

不同于RAID 0读写基本成比例地提升,RAID 5就只有读保持了增长,写入基本不变或者有不同程度下降,这也是RAID 5自身性质决定的。

分别来看读和写。读取这边,单线程4K和读取时间基本一致,跟RAID 0时候一样略有下降。除此以外其他所有项目都是板载RAID 5要比RR2720和存储空间-奇偶校验的高一些,不论回写和直写,这应该跟逻辑有关系,但只有持续读取的时候比较明显,其他项目差距并不大。同组间直写与回写的区别也不大。

到了写入,回写就普遍比直写强了不少,但整体上RAID 5写入都是短板,只能靠回写缓存加以弥补。各组在单线程4K写入和写入时间上折戟就完全是RAID 5性质所决定的,板载RAID 5能与单盘持平也完全是靠回写缓存。再仔细去看这五组RAID 5测试,只有直写的两组表现类似,回写的两组都有各自的“亮点”,造成这种区别的应该也是逻辑上的差异。而存储空间-奇偶校验除了在单线程4K写入拿到第二名,其余一律垫底。

接下来是RAID 10这一级别。从左到右分别是RR2720 RAID 10 64KB、主板板载RAID 10 64KB条带回写、板载RAID 10 64KB条带关闭缓存及单盘。

因为存储空间-双向镜像是RAID 1+Span,所以就不加进来凑数了。然后整理成表格。

因为之前偷工减料了,这里也一样……只是与单盘做对比。

只有4组数据,图看上去也比较清爽……

第一眼看过去,有点象RAID 5的情况,RR2720的RAID 10持续读取和512K读取都比板载RAID 10的低不少,但AS SSD表示持续读取一样,所以也不好说是测试软件抽风/机理不一样,还是RAID逻辑的区别。其余的测试都能在RAID 0和RAID 5的测试里找到影子,也不再重复分析一遍了。

最后总结一下以上测试的PCM7成绩

然后取总分和原始分做成图。

注意柱状的是原始分,而蓝色折线是总分。

从表格和图上可以看出,虽然原始分最低与最高之间相差了一倍多,但总分差距最大也只有15%,也就是700多分(这并不是说这个差距不大,只是相较于原始分来说并不那么夸张),而且原始分最高的并不是总分最高的。这也就是之前说的,剩余性能的多少并不会等比例反映到实际应用中。但是,我的意思绝对不是成绩最低的板载RAID 5适合日常使用,即使不考虑成本因素,也要考虑系统复杂性。

对比下总分的话,RR2720 RAID 0和板载RAID 0关闭缓存在同一水平上,而板载RAID 0开回写缓存就要低一个档次。RAID 5的测试中,除了RR2720 RAID 5回写总分比其他组都要高接近三档意外,其他组态下不论回写还是直写都在同一档次上,而且有着惊人的一致性。RAID 10则表现出了类似RAID 0的情况。

可以说测试分析到这里才凸显出RR2720阵列卡的优势来,能让理论性能较弱的RAID 5站到近似于RAID 0的成绩上,这款阵列卡却有其厉害之处。但问题在于应该还是没什么人会拿RAID 5作为日常用,万一阵列掉盘重建,这也就什么都做不了了。

而具体到每个子测试项目的分析,恕我无能,只能大概用颜色标记出来是读比写多还是写比读多。更深入的分析就要进一步研究PCM7的白皮书,并辅以更高级的辅助软件了,这里只能做到表层分析的程度。



负载测试

从开篇我就在说,区分软RAID和硬RAID是看处理存储工作时是否要使用主机CPU资源,现在就来看看跑这些测试究竟吃掉了多少CPU资源。这就像我们测试CPU和显卡,在跑完分、超完频以后也要关注功耗(能耗比、效能)和发热一样。

虽然负载测试是一开始就计划好要做的,但用来监控的软件只是Windows 8的任务管理器,而且后台有一些程序运行的,所以不能保证很准确。但是整个系列测试完成以后,还是能从中发现规律的,这就达到目的了。

我们都知道E3-1230v2有8条框框,在测试中记录的是每项测试占用了每个线程多高的百分比,受限于规模,只能精确到10%的范围内。跟先前的性能测试一样,重点不是跑了多少分、多少MB/s,是不同组态跑分的变化。记录的测试项目是CDM和FastCopy。测试对象是除了RR2720上的所有RAID组态以外的其他组,RR2720上的负载也有记录,但并不完整,只记录了高负载的时候,最后总结的时候会加入进去。

这里只贴出汇总以后每个测试项目的图表了,因为原始数据空白和0太多。首先是CDM持续读取,这里我把RAID 10、动态磁盘带区卷和存储空间-奇偶校验合并到RAID 0和RAID 5里面了,所以注意看坐标轴和图例,下同。

我虽然把0%~10%拆分成了0%~5%和5%~10%,但有时候这条框框究竟是大于5%还是小于5%并不好分辨,所以如果不计较的话请把这两条合并看。
一个简单的方法看这个图就是看天蓝色条合橘红色条所占的比例,当然后面的可能还需要看灰色条,总之这些小于20%的占的比例越高,也就意味着CPU的负载越低。最后一条X25-M单盘的是对照组,表达的就是测试的基本负载。

找重点看的话,就很容易发现随着条带增大,CPU的负载也降低了。再结合先前的同RAID级别不同条带下的跑分对比的话就是,随着条带增大,跑分性能提升了,CPU负载下降了。

那么是不是之后的测试都是这样的趋势呢?继续看CDM持续写入的。

CDM持续写入不光是趋势相同,整体CPU负载还比读取时候低,就连我们认为负载应该较大的RAID 5写入也依然较低。再结合先前的同RAID级别不同条带下的跑分对比,其实原因也显而易见,因为整体的写入能力较低。即使是RAID 0,写入速度也只有读取的一半,RAID 5就更低了。也就是说测试盘的单盘写入能力低,组成RAID 0以后也不足以对测试系统造成压力,如果测试盘换成X25-E那样(持续)读写能力相近的盘,那么负载测试肯定是写入的压力要明显高于读取的。

接下来CDM 512K读取。

CDM 512K读取整体负载与持续读取相近,或者稍大一点。

第四个,CDM 512K写入。

CDM 512K写入的整体负载依然比读取时候低,跟持续写入比稍低。要注意此时RAID 5的负载已经与持续写入时候持平了,但是跑分性能要比持续写入低得多,也就是说RAID 5并不像RAID 0那样主要是由读写速度制造负载,本身RAID逻辑的负载也是很大的。

第五个,CDM 4K读取。

CDM 4K读取的负载变化跟条带大小的变化的关联并不明显,但整体负载都小于10%,再结合先前讲过单线程4K读取主要是测试盘内部延迟的体现,因此对RAID系统来说,压力并不在RAID上,所以这样的结果也是合理的。

第六个,CDM 4K写入。

CDM 4K写入终于是比读取时对CPU的压力大了,而且可以看到回写的时候显著比直写和关闭缓存的时候大得多,但负载变化也跟条带大小的变化的关联不明显。

第七个,CDM 4K QD32读取。

CDM 4K QD32读取是本次负载记录中对CPU压力最高的测试,从单盘都有1个线程超过30了就可以看出一斑,组成RAID后更是几乎全线至少有单线程超过60%。其实对于这个测试,用这种表示方法有点乱,不如直接给整体的CPU占用率,但还是能看出来负载随条带变大而降低。

当然,日常使用中是肯定不会出现这个情况的。而且即使是相对最高的负载,也就是一两个线程超过50%,整体平均负载还是在30%左右,这样的负载还不足以影响多数日常应用。

第八个,CDM 4K QD32写入。

CDM 4K QD32写入也是跟读取时候类似,但负载明显小很多,负载变化与条带大小变化的关联也更明显。

这样8项CDM的测试就完成了,后面是3项FastCopy测试的负载记录,按顺序先是写入测试的。

FastCopy写入测试的整体负载不大,仅有RAID 0 4KB条带回写时会超过20%,能看出一些负载变化的趋势。

然后是读取测试。

FastCopy读取测试的瓶颈是在作为系统盘的520上,所以RAID上的压力并不大,RAID 0关闭缓存时的负载较写入测试时略有增加,负载随条带变大而降低的趋势也更加明显。

最后是拷贝测试。

FastCopy拷贝测试的整体负载最高,有点像把写入测试和读取测试的负载相加,负载随条带变大而降低的趋势也很明显。

有一点在图表中无法体现的就是,FastCopy测试中最后在复制到大量小文件的时候,负载会有一个比较大的跳动,但因为测试文件夹的小文件总量有限,所以短则半秒,最长也就3秒,无法准确记录,在这里就被忽略了。

现在把RR2720上的负载记录补充一下。RAID 0时,CDM 4K QD32读取有1个线程满载,2个线程超过40%,其余都小于10%(以下省略);4D QD32写入有1个线程超过70%,2个线程超过30%;FastCopy测试只有拷贝测试有1个线程大于10%,其他测试都小于10%。RAID 5回写时,CDM 4K写入有4个线程大于10%;4K QD32读取有1个线程超过90%,1个超过60%,2个大于10%;4K QD32写入全都小于10%(没有错,回头看一下之前的性能测试)。RAID 5直写时,CDM 4K QD32读取有1个线程超过90%,2个超过70%,1个大于20%;4K QD32写入有2个线程大于30%。

而在较轻负载的时候,RR2720更偏向只是用单个线程,比如单线程到20%,其余的都低于5%。

虽然RR2720出现了RAID 0时单线程满载,RAID 5单线程超过90%的情况,但CPU的总占用率依然跟板载RAID时候持平,全体的性能也都保持一致。而写入时的负载就完全跟写入性能挂钩了,RAID 10和存储空间-奇偶校验的情况就表明了这一点。

简单对负载测试做个小结。

不管何种形式,软RAID的IOP压力都会反应到CPU的负载上。各种软RAID组态在反映一定性能的同时,CPU负载也与之呈一定的相关性,大体上跟读写性能和并发规模成正比,当然RAID 5还有写入时候用来做奇偶校验的开销。这里RR2720作为独立的阵列卡,并没有给我们带来更多的惊喜。除了CDM单线程4K读写以外,其余测试项目的负载随着RAID条带变大而降低。而不论是哪种RAID形式,其提供的性能(不管是否用得到)都不是以巨量消耗CPU资源为代价的(当然我们排除掉极端的CDM 4K QD32这种情况,这一测试对日常应用基本没有参考意义,因为没有什么现实的需求),所以如果真的有RAID的必要的话,用板载RAID这样的方案还是有较高的性价比的。

这里还要说明的一点就是,因为TurboBoost和EIST是开启的,所以CPU的频率会随着负载而变动,大体上是单线程超过20%占用的时候频率会升到2GHz以上,单线程超过50%的时候频率会升到3GHz,如果所有线程都没超过20%就是在EIST最低频率附近跳动。所以对整体低于10%的大部分测试来说,当你有前台任务在处理的时候,进行大量文件的复制操作也不会影响前台程序的流畅运行。

至于发热量……只要是开机一段时间以后,RR2720和Z77 PCH的散热片温度就不再变化了,不管是让它工作还是闲着。PCH有传感器可以在AIDA64里看到温度,大约是47摄氏度。而RR2720的没有,但是手摸上去也并不烫,毕竟是一个功耗只有5.5W的单芯片。对这类软RAID(硬件辅助RAID)卡来说,自身没有IOP这个发热大户,热量就比较低。而硬RAID卡通常就需要主动散热或者提供一定量的空气流动来带走热量了,这也是某些服务器拆机阵列卡到台式机上有时候会过热罢工的原因,机架机箱里都有暴力扇从前吹到后的,而塔式机箱里一般没有,对此通常加一个散热风扇就能解决问题。

用来测试的4块X25-M的外壳也只是比冰凉稍微好点,稍微能用手感觉出一点温度。当然我没把壳拆开摸摸里面主控和颗粒的温度,我觉得没必要……如果换现在主流性能级的盘来做同样的测试,可能温度上就不会这么低了。



额外测试一

本次测试可以说在板载RAID上花了相当多的篇幅,尽量去测试每一种条带和缓存策略下的性能表现。但除了条带大小和缓存策略可以作为变量以外,更基本的是组成RAID的测试盘数量,在额外测试中就测试一下3盘和2盘的情况。

因为是额外测试,所以不会像板载RAID测试时候那么大的规模了,这里只测试板载3盘RAID 0、2盘RAID 0、2盘RAID 1,并与4盘RAID 0和单盘做对比,RAID设置都是默认的16KB条带,关闭缓存。测试项目去掉了ATTO,其余保留。

下图从左到右分别是4盘RAID 0,3盘RAID 0,2盘RAID 0,2盘RAID 1,单盘X25-M。

先继续贴图,之后汇总数据的时候再进行分析。



2盘RAID 0和RAID 1是一起组的,但是同一时间只测试其中的一个。

整理一下数据。

3盘RAID 0和2盘RAID 0跟之前4盘的时候比只是数字变低了,之前该有的情况,盘数少了以后也依旧存在。那些有较大幅度增长的数值,看上去就跟多显卡SLI/CF后的跑分一样。PCM7的得分也一如既往,2盘RAID 0的时候比单盘有比较大的提升,3盘、4盘以后再提升幅度就很小了。可以说由盘数的变化所致的性能变化趋势要比RAID条带的变化时的更具一致性,这在经过整理后的数据表上看的尤其明显。

2盘RAID 1只有大数据快读取和多线程4K读取比单盘时候高,写入的下降很明显。RAID 1作为同步镜像,整体性能不仅受较慢的一块盘影响,而且还要校验确保读写的一致性,所以有大部分测试性能都下降了。PCM7测试比单盘时候提高了一点点,应该是读取性能帮忙了。

性能变化趋势如此的清晰就不做图了,下面看一下负载测试。

CDM持续读取,负载随着盘数减少而下降。

CDM持续写入,大家都没什么压力。

CDM 512K读取,负载随着盘数减少而下降。这跟之前4盘测试时候一样,也是512K读比持续读的整体负载低。

CDM 512K写入,大家还是没什么压力。

CDM 4K读取,大家有那么一丁点压力。也是跟之前4盘时候的情况类似。

CDM 4K写入,变化趋势不明显。同之前一样。

CDM 4K QD32读取,依然是压力最大的一组,能看出负载随着盘数减少而下降。

CDM 4K QD32写入,下降趋势依然明显。

完了。还想要FastCopy的?告诉你是15条蓝道,所以自己脑补吧……

负载测试依然表现出了跟性能测试一样的变化趋势,而且随着盘数降低负载降低的幅度远比条带增大时的明显,这一点在负载最大的4K QD32读取上尤为明显。不过除了4K QD32读写这两组以外,其他时候3盘及以下的负载都很低了,原本4盘的时候都不用太在意,这里更加可以忽略了。



额外测试二

X25-M再怎么说也是2010年的产品了,虽然就当时来说性能不俗,但毕竟三年多了,跑分早落伍了。如今我折腾这么半天,跟目前主流性能级的盘比究竟如何呢?现在就让我的系统盘520与刚才的2~4盘RAID 0测试做个简单对比,看看究竟是双拳难敌四手还是看我一挑四。

从左到右分别是系统盘520、4盘RAID 0、3盘RAID 0、2盘RAID 0、单盘X25-M。

图稍微有点乱。为什么没有520的FastCopy写入和读取测试?你以为之前的测试文件夹是从哪儿来到哪儿去的?ATTO测试不是让你看SF主控在可压缩数据上霸道的能力的,目的是跟旁边4盘RAID 0的比较,而且单盘的ATTO想跑完美要比组成RAID以后要容易的多。

这次不整理成表格了,直接看图说话。即使不考虑SF主控的可压缩能力,纯粹硬碰硬的跑分还是要比2盘RAID 0的时候要好,3盘以上就显著受益于多线程4K读取的暴力iops,因而520就难以企及了。还有很重要的一点就是,X25-M是读取偏向型,卖点之一就是极高的4K iops,组成规模以后更是成倍增加,当然我的测试里并未能完全发挥其优势,因为板载RAID能提供的iops也是有限的,如果是硬RAID卡还能进一步压榨出盘的性能。而520由于SF主控的可压缩特性,是偏向于写入的,在写入负载较高的时候更能发挥出优势,所以在多线程4K写入中即使对比4盘RAID 0也并无太大劣势。当然测试条件就是这样,所以只能这么比。

不过大家也都清楚,高负载跑的好并不意味着日常体验就一定会好,就像之前一系列PCM7测试的结论那样,那么接下来就看看520跑PCM7能有多少分。

别急,我把全部的PCM7跑分汇总一下,摊在一起比就明白了。

一眼看下去,能与520一战的也就是4盘RAID 0了,而且是关闭缓存时的。这可是4块盘啊,才达到520单盘的程度,所以如果想用旧盘堆出一个新盘来,那至少得是这个规模了。4盘RAID 0开回写缓存尽管之前理论跑分强的一塌糊涂,PCM7原始分也相当高,但到了应用中却完全不是520单盘的对手,跑分上的高性能并没有转化到日常应用的高性能上。

同样是单盘,尽管老旧的X25-M原始分只比520的一半多一些,但实用上的差距并没有跑分中那么明显。所以手里的老SSD还是顶用的,用在合适的地方并不比新的差多少。

还是要提醒一下,这块520是系统盘,如果是从盘的话各方面跑分还会更强一些,但在PCM7项目上应该不会有太大差异。

单盘520的CPU负载只比单盘X25-M的时候略高一点点,这里也不画蓝条了,简单描述一下。CDM 4K写入4个线程大于10%,其余都小于5%;4K QD32读取和写入都是1个线程大于40%,1个大于10%,1个大于5%,其余都小于5%;除此以外所有测试都是全线小于5%。

这回不光是赢了性能,CPU负载情况更是完全秒杀了各种RAID。所以,除非你手里有一堆盘,而且喜欢跑分喜欢看任务管理器的框框,否则忘了组RAID这件事吧。



结语

到此整个测试就算完成了。

受个人能力所限,所以我只能尽量把所有测试数据都摆出来,但并不能充分分析数据的意义,所以我希望有高手能参与补充,以惠及更多玩家。
早先几年就看过类似我今天所做的测试,不过那只有RAID 0不同条带的测试,测试盘也都是HDD。测试数据完全不记得了,结论大概就是小条带适合随机(小文件块)读写,比如数据库这样的应用;大条带适合持续(大文件块)读写,比如存储这样的应用。在我的测试里并没有反映出一样的结论,甚至条带较大以后随机和持续性能都达到最大了,但这也可能是由于测试盘为SSD的缘故,而且这么多年过去了,RAID逻辑和RAID硬件也有了发展变化,这都可能对结论产生影响。所以仅以本篇而言,我做到了我能做到的,仅此而已。

下面再来看看这几块“饱受折磨”的测试盘吧,当然我觉得最惨的还是系统盘的520。

4块X25-M G2 80G都有了1TB多的写入量,其中也有E9降低和05增加的,不过整体健康度还是挺好的。

我觉得这块520出二手已经没人会要了(雾,当然我没想出),通电250小时就写进去了1.73TB,绝大部分都是实打实的NAND写入,这都是FastCopy一遍一遍的读取再写入,有多少组FastCopy测试就是这么多组乘以WOW游戏目录的读写量,这个量到了测试盘上是按RAID级别进行分担,但在系统盘上就完全自己扛了。我还得感谢玻璃渣没在我做测试的这几天里更新客户端,不然这又得增加多少写入量。

从开始准备到现在……

尽管在做这个测试之前进行了一些准备和预测试,但最终的测试规模还是超过预期了。最开始只是想证明板载RAID 5持续写入能跑到三位数,所以找齐盘,用跑分软件跑一圈就完事了。但这样做除了让大家知道“哦,主板RAID 5也能跑满千兆网了,以后组NAS也许可以考虑拿主板做RAID 5”以外,就没有更多的意义了。但我觉得仅仅这样显然不够,至少要跟手里这块RR2720阵列卡做个对比,看看都是软RAID 5,会不会有什么差距,事实上我是期待RR2720上会有更好的表现的,但总结果来看,并不是那样。我很期望写一篇有点意义的帖子,而且也想让这篇帖子早日出炉。虽然测试结束,所有数字都摆在眼前了,但是不做合理的整理,很不容易发现其中的规律。很多东西都是在我不断地进行整理的时候才发现的,而且有一些是与我“以为”的完全相反。

在这个测试之前,我基本没玩过RST,更不知道RST里只要是RAID就能开回写缓存。这两年用RR2720这块卡似乎给我制造了一个先入为主的概念,那就是只有RAID 5/6这种要进行奇偶校验的RAID级别才需要回写缓存。所以最开始规划测试内容的时候,只有RAID 0从4KB条带到128KB条带,而没有对缓存的考虑。而发现可以开回写缓存的时候我还犹豫了是否要加入做回写缓存组的测试,因为可以想象回写缓存能很大程度提高性能,就像RAID 5回写与直写的区别那样。如果开回写能完全超过不开缓存的情况,那并没有什么测试的必要,或者说做完整测试的必要,做一组简单测试,然后做个定性的结论就好了,这样能反映结果,也不会显著扩大测试规模。实际结果大家都知道了,我不仅把这两组测试都完整地做完了,而且发现其结果跟我“以为”的有很大差异。这个例子并不是说我“不辞辛苦”、不管这么做有没有意义就去做,也不是说我有多少理论知识可以仅凭理论就能判断出做与不做的意义,而是自己既然想到了这点分歧,那么就去验证一下,而且这是能够做到的,不管结果是否符合预期,它都是客观的事实。这就是动手做测试的意义,想到了就去做,从实践中去证实自己知道的,去发现自己不知道的。

跑测试与写文章,真正跑测试只用了4天时间,第一天跑主板和RR2720上的单盘基准及RR2720全部RAID测试,第二天跑板载RAID 0的全部测试,并给RAID 5开了个头,所以就有了剧透帖,第三天跑板载RAID剩余的部分,第四天跑Windows上的两种软RAID和额外测试。之后就开始整理数据,并开始写这篇文章,从开始动笔到现在是正好一周时间,进度可以说比较缓慢,因为写的过程中发现要缺少的还要去补充,而且经常会写不出想表达的意思,明明数据都在眼前摆着,但就是写不出东西来,这就是纯业余玩家的水平所限了,不过最终还是努力让这篇帖子出炉了。

最后的最后

本文只是一个业余存储爱好者舍得花时间去做的测试,肯定会有不完备的地方,比如从现象到本质的分析,因此希望有大家的交流。虽然是技术帖,我不反对回帖中有“不明觉厉”的玩家表达感叹以及酱油党的路过支持,但我不想看到有表达“LZ这是有多蛋疼才会无聊写这个”和“这太业余了,我要有这套设备做的比这强”这样即无营养又无支持鼓励LZ意思的回复。

我从来没表达过,软RAID可以替代硬RAID卡的意思。不论何种规模和用途下,软RAID与硬RAID都有其优势,都有着众多RAID实例,实践中使用何种RAID形式也应当是基于需求而决定的。在家用存储这方面,我认为我所使用的阵列卡和板载RAID已经足以满足需要,因此就是适合的。带缓存的硬RAID卡确实更好,但性能与成本都超出需要,因此就不会被选用。所以,请不要在回帖中表达类似“这种RAID就是用来玩的”、“这性能就是被xxxx完爆的份”这样的意见。

我个人一贯的建议是,如果不是必要,请不要组RAID。虽然RAID能够提供更高性能、更高容错,但作为一个复杂系统,自身有一定的局限性。首先RAID硬件本身要一定成本,就算我的阵列卡比较便宜也是¥750,这还不算上两根mini SAS线缆,当然板载RAID在一定程度上可以说是白送的了,而更高性能的硬RAID卡往往都要一两千起步。我们都清楚如今的HDD感觉并不是那么靠谱,所以想通过RAID的方式获得一定的数据可靠性,这个需求是合理的,但这么做只是把单盘挂掉的风险打包转移给了RAID阵列。虽然阵列卡是比较可靠的硬件,不太容易挂掉,即使挂掉了同型号甚至同品牌有相同功能的卡都可以替换,但阵列卡毕竟不如硬盘那么普及,寻找替代也会较为复杂。更为关键的是,不论何种RAID形式,冗余量有多大,它都是一个整体。当RAID这个整体挂掉的时候,损失就要比单盘严重的多,我们都会开玩笑说重建时候再掉盘就可以去买彩票了,但真的发生了,恐怕没几个人能那么坦然。所以采用什么样的存储方式,首先看实际需求,如果选定了RAID,自己要有技术支持,同时也要有风险意识。还是那句话,RAID不是100%可靠的,重要数据一定要多种方式保存。



补档备考

1. 原帖是分数楼分别按块发帖的,但补档过程中这么干会导致排版混乱,而且不利于传图。所以补档就集中到主贴里了,原来的楼层用分割线间隔。

2. 单盘基准测试里面换了两张图。结果没变化,只是加上了配套的系统环境图。

3. 补充一下Windows存储空间的说明(红字)。微软的文档确实说简单是条带,但我实测中是Span。这可能是我测试中有不周全的地方,但我没法重新去测。

4. 一些失效的引用重新链接或者调整文字。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
qblee 发表于 2014-12-5 03:03 | 显示全部楼层
感谢lz的辛苦测试,我直接看了结论部分,学习到了很多知识。
powerrc 发表于 2014-12-7 14:43 | 显示全部楼层
如果CPU不够用,软raid的性能会很差。
否则,硬raid的价值,可能需要更密集的I/O才能体现出来。
除此之外,硬raid的价值还体现在你需要重建raid的时候。
对于linux环境下,intel rst这类软raid没有实用价值。
孤舟一笠 发表于 2015-11-24 01:35 | 显示全部楼层
好文章,慢慢看
xxxyyy1 发表于 2015-11-26 03:19 | 显示全部楼层
lz花了多少时间啊
qq2348227 发表于 2015-12-5 03:38 | 显示全部楼层
精品文章……精品文章……精品文章……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部