带两个SSD硬盘的RAID 0(条带化)是否有意义?


9

我有一台带有RAID控制器(硬件RAID控制器)的笔记本电脑(Dell M6500、16GB Ram,I7-940M)。目前,我有两个RAID 0(条带化)的SATA HDD,以获得最佳性能。

我想购买固态硬盘(三星840 pro)。

具有两个SSD磁盘的RAID 0(条带化)是否有意义还是仅一个磁盘就足够了?

那么1 ssd 512GB(无团队攻击)或2 ssd 256GB(突袭0条带)?


1
这很浪费,这样做会浪费延迟,这首先就是SSD的主要原因。
nerdwaller

否。操作系统要求使用2个SSD,而不是2个HDD。我没有提到在条带中混合使用一个HDD和一个SSD。
Hennes

多少速度就足够了?您听起来足够聪明,可以自己进行测试!保存您的硬盘,然后尝试使用一个或两个ssds安装。看看是否有所作为。请记住,如果一个SSD发生故障,如果进行条带化,则会丢失该卷上的所有数据。
G Koe

糟糕,我误解了问题。
allquixotic

我知道在条带化配置中,如果一个SSD发生故障,我将丢失该卷上的所有数据(我想要性能,对于备份,我还有其他解决方案)。就像现在一样(RAID 0条带中的2个磁盘)。问题是,具有1 ssd 512GB(无RAID)或2 ssd 256GB(突袭0条)是否是更好的性能。
Andrea 2013年

Answers:


12

您需要正确阅读问题。

他询问的是RAID0 STRIPE,而不是RAID1 MIRROR。

我的回答:是的,您的速度将得到显着提高。

参考:http : //staff.science.uva.nl/~delaat/rp/2009-2010/p30/presentation.pdf

速度:我的工作站确实使用软件RAID(mdadm)运行Linux Mint,并且在以XFS作为文件系统的条带中确实运行了4个驱动器。一旦坐在这样的工作站上,您就不希望使用一个磁盘驱动器回到过去。

每天使用增量备份备份您的工作站,每周备份一次完整备份,以防万一一个SSD崩溃。

您的速度很棒,但是如果ONE ssd确实崩溃了,则会丢失大量数据。所以你被警告了。

备份并使用云存储其他文件。

存储:我的NAS仅运行FreeBSD ZFS ZRAID2来存储2 + 4个3TB驱动器,因此我有12TB,而2个3TB驱动器确实提供了冗余,因此我可以一次松开2个驱动器而不会丢失数据。我的NAS确实在常规驱动器上运行。

对于存储,ZFS当前是最佳的磁盘文件系统。您可以寻找FreeBSD或专用的NAS软件解决方案,例如FreeNAS,ZFSguru,NexentaStor……我之所以选择ZFSguru是因为我喜欢调整FreeBSD系统。我在上面使用iSCSI和SMB / NFS共享。

服务器:

我最喜欢的是在ZFS中使用盘片,在ZFS中将SSD用于ZIL。但这是黑暗的艺术。

注意1:

如果出现故障,请尝试避免进行硬件突袭。您需要再次使用相同的硬件。不要在客户主板上使用廉价的RAID控制器。出于恢复的考虑,请尝试使用操作系统支持的软件突袭,因为操作系统具有更多的方式来应对突袭,因为这些硬件控制器中的最糟糕的突袭软件都是如此。

笔记2:

使用ZFS时,请不惜一切代价避免使用硬件RAID控制器。寻找具有足够SATA端口以连接驱动器的主板。有专用的控制器,无需RAID功能。

使用ZFS设置团队

注意3:

SSD在4个磁盘后不再扩展HDD在5个磁盘后继续扩展

注4:

有不同类型的SSD

您有SSD SLC和MLC。对于繁重的读/写操作,第一个是最昂贵但最快和最好的。


3

是的,写入速度确实会增加。我正在以30GB的速度在4个SSD上运行raid 0,我的写入速度将达到600MbPS,我将很快升级到2个256 SATA3 SSD Raid 0驱动器,只有一个磁盘以300MbPS运行,所以这取决于您,这还取决于SATA等级如果您有2个SATA 3 SSD,则可以写入900MbPS,但也需要设置RAID 0。因此,如果您想获得性能,完全取决于您。是的,它速度更快,是的,您将丢失所有数据,但如果仅用于游戏,则可以在不到一天的时间内重建它。另外,如果您选择获得2个256GB SSD或1个512 SSD,我将选择2个256 SSD,以实现更快的写入速度。


1
同样,写入速度的确取决于SATA等级,但您始终可以使用OCZ的PCI硬盘驱动器来提高性能。:D
Eryper

2

这是我所做的测试。您可以决定自己查看结果。

环保环境

  • CPU:Intel Xenon CPU E5-2650 v3 @ 2.30GHz(核心10,逻辑处理器20)
  • 内存:32GB
  • 文件:sample.rar(13.5 GB大小)
  • Windows 10

测试

我的工作站包括。

  • 2个1TB SSD设置为RAID0驱动器
  • 1 TB硬盘
  • 二手Cygwin终端cptime命令
  • 如果您不是具有time命令的家庭,请使用“实时”来比较每种情况

这是每种情况的文件复制时间

从RAID0到RAID0

real    0m17.089s
user    0m0.140s
sys     0m10.686s

RAID0到HDD

real    1m25.302s
user    0m0.437s
sys     0m21.078s

硬盘到硬盘

real    1m17.935s
user    0m0.265s
sys     0m14.921s

硬盘到固态硬盘

real    1m29.908s
user    0m0.359s
sys     0m13.281s

注意:在我的工作站中,我使用此RAIDO驱动器来编译150GB的大型C ++ / C#项目。由于设置了RAID0,这为我节省了两个多小时。如果您需要如何设置RAID0,请看我写过的博客文章http://codeketchup.blogspot.sg/2016/03/how-to-setup-raid-0-with-ssd.html


1
很难说出这里的结果是由于条带化还是由于SSD与HDD的性能。为了完整起见,您需要在SSD中包括非条带化SSD。
Drew Noakes '18

1

虽然可以RAID 2,但两个SSD在某些情况下会具有更快的读写速度(请参阅TechReport的评论,以RAID 0中有4个驱动器的极端示例)。单个SSD将提供我不推荐使用的足够好的性能。RAID 0中的两个驱动器意味着,如果其中一个发生故障,您将丢失所有数据。

TechReport也对此进行了比较,以比较整个驱动器系列中的SSD扩展,从而有助于比较大型驱动器的性能增量。

该问题答案的很大一部分将取决于您的预期用法。开发,照片编辑,游戏等都可以具有不同的存储访问模式。最好的选择是在高科技网站上阅读评论。


有了保管箱和其他良好的备份/数据管理实践,丢失我的主操作系统驱动器并不会真的让我感到那么麻烦。
詹姆斯·默兹

0

我的工作计算机是Dell M6500,我正在运行Corsair 240gb SSD。M6500具有SATA 2接口,因此您无法获得SATA 3驱动器的全速。我会说它比我的个人计算机快得多,后者是在RAID 0条带中具有2 160GB硬盘的M6400。我相信您将看到2个SSD的提升,但不会比仅1个SSD的提升两倍。


0

您追求速度,不关心冗余..所以我会回答。突袭0可能会稍有改善,因此,如果2 256Gb SSD的成本与1 512Gb SSD的成本没有不同,那就去吧。


0

这是征求意见,但是:

如果您的目标是针对单个卷的纯性能,这确实很有意义。

如果没有意义,则:

  1. 磁盘访问足够快(甚至一个现代的SSD几乎可以满足所有需求,尤其是其他潜在瓶颈是笔记本电脑组件时)。
  2. 如果您需要最小的电源使用(您将一直使用两个驱动器。SSD的耗电量要比HDD少,但仍然比睡眠/待机模式下的耗电量更多)。
  3. 如果需要可靠性(但同样,RAID 0 /条带中的两个旋转磁盘也是如此)

所有这一切都假设“足够一个”意味着“一个SSD(不是条带化)就足够了。从技术上讲,将SSD和HDD混合使用应该可以,但是根据RAID的不同,可能会造成两个方面的最坏情况。


0

2X或Nx仅在不使总线饱和的情况下才能加快速度,某些主板沿其所有sata端口共享带宽,而另一些则允许您同时在每个端口上达到该带宽。

记住...读取速度与写入速度不同...通常写入速度比读取速度慢得多(尝试在连续的SSD 32GiB上快速写入),其中大多数会非常快几兆字节,然后下降到25MiB / s或更低(它们使用内部缓存和SSD内的DDR3内存,填充后它们将无法继续以如此高的速度接收数据,因此写入速度会变慢)。

有时,您必须执行基准测试,如果要快速启动(读取很重要,不要写太多),如果要写入具有随机数据的大文件,请确保基准测试至少以尽可能快的速度写入数GiB,某些SSD的写入速度为1或SSD内有2 GiB的RAM用于写缓存...因此最好将其填满以进行基准测试。

关于IOP:这对于任何类型的存储(usb,存储棒,磁盘,ssd等)来说都是最重要的,例如对于小文件,或更确切地说,对于小块数据的读写,请确保(对于SSD) )说的不仅仅是……价值。

现在回答您的问题:-如果“大” IOP少于“小” IOP的2倍,请不要购买“大” IOP ...购买能给您“最大” IOP的东西

相信我,IOP比“规格”中的读/写速度重要得多……因为:-它们表示达到了最大值(对于写速度,他们使用SSD上的内部RAM并且未写入足够的数据来填充它...还有一些还使用PC RAM作为写缓存,因此他们说某些GiB / s的写速度,例如您的PC主RAM的速度,尚未在SSD上刷新数据)

现在,对于所有说Raid0的人来说,它们会让您放松...

如果执行此操作,则不会丢失任何内容:1.-将RAID 0用于操作系统2.-在USB机柜上创建操作系统的克隆(最好是USB 3.1 Gen 2 ... 10Gib / s)

如果一个磁盘发生故障,则可以取出发生故障的磁盘,放入新的磁盘,还原克隆,然后在几分钟后系统再次启动。

现在,如何在RAID 0上的一个或多个磁盘死后也使启动快速进行:1.-拥有所需的操作系统后,在USB 2上创建克隆。-取出RAID 0中的两个或多个磁盘并将其放在安全的地方3.-放新的PC并恢复克隆

当一个磁盘消失时,您已经准备好放置其他磁盘并进行引导……只需几秒钟即可进行交换并重新引导……然后创建另一组磁盘以放置在安全的地方。

这适用于任何类型的Linux软件RAID ...盘和SSD。

成本:拥有两倍的磁盘...一些磁盘可以工作,另一些磁盘已准备好数据并可以从中引导。

现在,对于RAID 0中的数据(非系统)和失败时的零丢失(备份之前的更改除外):1.-在进行任何写操作后,将更改备份到外部介质(我个人使用不同类型的介质中的5个不同副本) ,SSD,磁盘HDD,DVD,存储卡和USB记忆棒)2.-在关闭系统电源之前,请确保备份同步

请记住,RAID 0在使用时非常适合“速度” ...但是任何失败和仅有的一切都会丢失(关键是这个词:只有)。

认为您在外部USB机箱上具有系统的克隆...松开系统没问题,启动Live Linux并将克隆恢复到同一磁盘(案例软件故障)或新副本(案例硬件故障)。

认为您已将所有数据都保存在某个BackUP(一个以上的副本)上,在跟踪中丢失数据不是问题,只需在修复导致故障的原因(更换磁盘等)之后从BackUP复制数据即可。

现在,您还不想等待这种“回写” ...可以通过使第二组磁盘处于就绪状态来完成。

最后考虑一下...失败之后,在工作时执行后台任务以重新创建第二组“即用型”。

如果您有这种习惯...您将永远不会再不使用Linux RAID 0 ...

...除非您有大量RAM并可以使用ZFS。

ZFS的主要优点:1.-读/写时的校验和,因此可以在关闭状态下检测到位的变化。2.-具有一个参数,可以让您拥有想要的每个文件或文件夹的多个副本(带有和不带有RAIDZ级别) )3.-如果您负担得起松开50%或更多的空间,则可以仅在一个磁盘(笔记本)上使用ZFS copys = N,并且如果在关闭模式下某些数据被损坏,ZFS仍可以正确读取(它在同一磁盘上存储多个副本)...您还可以将其与ZFS的RAIDZ级别并行使用。

ZFS副本= N类似于旧的RAID 1级别,但是具有校验和和自动修复功能,以防检测到不良数据。

警告ZFS:某些ZFS部件上的RAM位失败会破坏所有ZFS并丢失所有此类数据...因此,切勿使用一个ZFS来仅存储一个数据...拥有所有BackUP并始终保持备份状态。


0

我没有使用mdadm硬件raid0 进行过测试,但是我使用LVM剥离进行了测试。

简短的答案是,如果使用短条带(例如4KiB条带),则组合读取速度将仅低于一个SSD读取的速度。

看起来像是一种竞争状况,似乎LVM一次向每个SSD发送一个阻止请求,而不是并行发送。

因此,如果处理请求的时间大于SSD将数据发送到RAM所花费的时间,则2个或更多SSD将不会将数据发送到RAM,则大多数时间将等待命令并处理此类命令。

只有当我开始放置较大的条带时,组合的读取速度才开始高于单个SSD,并且我总是谈论1MiB条带;2xSSD的增益大约是仅1倍的1.3到1.5倍。

因此,首先,检查队列深度为1的4KiB中的SSD的性能如何,如果真的很好,请不要尝试以较小的条带大小进行条带化,最好不要进行条带化。

我还曾在两个并行进程中进行过测试,两个dd命令都看是否同时读取两个命令会降低它们的速度,所以减少的幅度很小。

因此,将它们用于不同的事物(OS / APPS)比剥离它们要好得多。

如果磁盘不是SSD,而是旋转磁盘,那么条带化将带来巨大收益。

OS以某种方式一次将请求发送到一个磁盘,而OS正在将请求发送到剥离集中的下一个磁盘时,前一个磁盘已将所有数据发送到ram,因此必须等待不做任何事情,等待下一个请求。

因此,我认为LVM条带实现不佳,可以通过发送条带请求队列来改进LVM条带,因此每个SSD都有更多数据要发送给每个请求的ram。

数学公式为:开始发送数据的时间与向ram发送数据的时间。

如果第一部分大于方程的第二部分,则剥离只会使事情变得比仅使用第二部分慢,要真正获得更大的改进,方程的第二部分必须比第一部分大得多。

对于GOOD SSD,第一部分(在LVM上)大于第二部分。对于GOOD旋转HDD,第一部分(在LVM上)比第二部分小得多。

这是基于我自己在两个快速SSD(在队列深度为1的4KiB上,> 35Mib / S)上使用LVM2进行的测试中,我测试了高达1MiB的4KiB条带;直到128KiB条带大小,组合速度才比仅使用一个SSD低,然后组合速度要稍大些,直到达到最大1MiB(使用2个SSD的速度要比仅使用一个SSD快1.3倍)

因此,只有30%的增益,而如果我在不同的任务(而不是分条)中并行使用它们,则我的增益为96%(我可以同时使用98%的读取速度)。

用一个数字来表示,一个SSD线性读取速度为386MiB / s,2xSSD LVM2 4KiB条带线性读取速度为186MiB / s,因此它比仅使用一个SSD慢得多。2xSSD LVM2 1MiB条带线性读取速度为487MiB / s; 在不同的过程中从同一位置(未剥离)中的两者进行线性读取,我从每个位置获得374MiB / s,因此合计为2x374 = 738MiB / s

因此,根据测试结果得出的结论是:使用LVM2,在巨大的条带大小(1MiB)上增益非常低,而在正常的条带大小(4KiB至64KiB)上损失很大。

请注意,我dd从大容量设备(/ dev / sda,/ dev / sdb)和大容量逻辑卷(/ dev / mapper / test-test)中使用命令读取,status=progress块大小为1MiB,计数为10000,所以我读了10GiB; 并且我在每次测试后都会重新启动以完全避免缓存等。

我使用SystemRescueCD实时Linux版本来避免重新引导差异,例如从不可变磁盘(只读介质)引导。

我希望有一天我能使用Linux mdadm对软件突袭进行测试。


0

tl; dr基本基准测试表明RAID 0(条带化)可以显着提高SSD驱动器的吞吐量。

基准配置

  • 2个1TB固态硬盘(SanDisk X600 SD9TB8W-1T00-1001,2.5英寸7mm自加密驱动器)
  • Windows 10,软件RAID
  • 联想P720工作站,英特尔至强银4110 2.10GHz
  • ATTO磁盘基准测试4.00.0f2

RAID 0(条带化)

在此处输入图片说明

RAID 1(镜像)

在此处输入图片说明

单个磁盘

在此处输入图片说明


-1

我认为这是一个很难回答的问题。如果您谈论的是具有良好硬件RAID控制器的台式机,那么绝对可以为您带来更好的性能。在进行软件突袭的笔记本电脑中,您可能会发现您在CPU上创建了一个瓶颈,从而将无法在很大程度上提高性能。如果笔记本计算机运行的是SATA II,而现代SSD可以最大化这种性能,则根据笔记本电脑的年龄,您可能还会发现性能受到SATA总线的限制。我怀疑您会获得性能上的提升,但可能不足以证明这项工作的合理性,除非您进行测试,否则您将不会知道。


我的笔记本电脑带有硬件RAID控制器。
Andrea

这肯定会使您更有可能得到提升。
上校
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.