luoht 发表于 2016-2-21 23:50

M.2 RAID0/1就是然并卵

本帖最后由 luoht 于 2016-2-22 07:58 编辑

M.2 指的是外形。M.2 的出现主要是为了适应电脑不断小型化的趋势。有的同学直接把 M.2 盘叫做 NVMe 盘,其实是一种不严谨的叫法。因为 M.2 其实也有 SATA 的盘,NVMe 也有 2.5" 的盘。

目前一些超薄本(如 X1C),M.2 盘是唯一的选择,因为根本放不下 2.5" 盘。当然,这些超薄本,一般只能安装一个 M.2 存贮设备。另外一些型号,如移动工作站系列 P,可以安装两根 M.2,并且可以组成 RAID。貌似很高大上,其实然并卵。问题就在于盘的数量上。两个盘做 RAID,只能在 RAID 0 和 RAID 1 之间选。要性能选 RAID 0,要可靠性选 RAID 1。

首先说说“性能”。磁盘的“性能”受很多因素影响,但主要可归纳为访问速度和传输速度。RAID 0 主要的作用是提升传输速度,即从磁盘阵列与主机内存之间的数据传输,理论上最高可以提升一倍(两个盘的传输速度之和)。但前提是访问速度跟得上。在网上找了关于 950 Pro在单片和RAID0下的评测。

转自 http://www.legitreviews.com/sams ... erformance_161753/5
单片 950 Pro 的速度:

RAID0 的速度:


从上面的结果可见,RAID0速度得到提升的是顺序读写。否则的话,速度没有太大变化(其实还略有下降)。于是,问题来了,在我们的日常应用中,有多少是顺序读写?顺序读写的应用场景是大文件操作。譬如,把一个大文件从磁盘读入内存,或者从内存写入磁盘。采用 RAID 0 还需要考虑一个因素就是可靠性。如果其中一个盘坏了,RAID 就不可恢复了。

再来看看 RAID1。RAID1即是磁盘镜像。如果一个磁盘损坏,RAID可以自动从另一个读取。在笔记本 M.2 SSD 的情境下,其实没什么用。大家知道 SSD 由于没有机械部件,抗震性远高于机械硬盘。SSD 的“损坏”,主要来自写入损耗。但根据 RAID1 的工作原理,写入操作是同时在两个盘上进行的。因此两个盘的写入损耗是一样的。如果一个盘由于写入损耗而“损坏”,那另一个盘也差不多了。而且 RAID1 浪费了一半的存贮容量,在寸土尺金的笔记本上,似乎也不太现实。

楼主的愚见是:M.2 要么不做 RAID,要么就做 RAID5。P50 目前第二个仓可以在一个 2.5" 和两个 M.2 之间选择。其实可以把第一个仓也做成同样的形式。这样就最多可以放置四个 M.2。做 RAID5 至少有三个盘就可以了。RAID5的好处是:
1. 把写入量分散到各个盘上。
2. 就算有一个盘出现问题,RAID 仍然可以工作,不会立即歇菜。把有问题的盘换掉,就可以恢复RAID。
3. 空间浪费相对没那么严重。


===========
更新,补两张 850 Pro 的图,512GB,单盘无 RAID,在 P70 上测试。850 Pro 是 SATA,正常峰值在 500MB/s 左右。但当开启 Rapid Mode 之后,速度剧增,甚至超过了上面 NVMe + RAID 的 4510 峰值。

正常模式:


快速模式:

LIUXX2011111 发表于 2016-2-22 00:08

确实,我试过两块SSD RAID0,速度提高不多。

ganboing 发表于 2016-2-22 01:07

luoht 发表于 2016-2-21 23:50
M.2 指的是外形。M.2 的出现主要是为了适应电脑不断小型化的趋势。有的同学直接把 M.2 盘叫做 NVMe 盘,其 ...

应该说日常的使用没有测试时的那么随机,RAID0会有一定提升,不过应该还是有限。我总是感觉到了现在NVMe的SSD速度已经很可以满足日常使用的,没有必要为了性能搞RAID。搞个RAID0还不如直接买个两倍容量的盘(前提是有这么大的容量)。接下来的瓶颈应该已经不在IO,而是在计算能力。至少我使用Samsung 950 Pro的过程中几乎从来没遇到过磁盘IO成为瓶颈的,瓶颈一直在CPU。当然可能我的CPU也比较弱,6代i3,6100U。

sinfire 发表于 2016-2-22 01:28

居然随机读写没有提高,这个不能理解。

hunnitth 发表于 2016-2-22 04:30

sinfire 发表于 2016-2-22 01:28
居然随机读写没有提高,这个不能理解。

RAID0随机性能不变或者下降是必须的,因为RAID0必须等待多块硬盘读取/写入相关数据,但是多块硬盘必然有快有慢,结果是总要等待最慢的那块硬盘完成对应的操作,这个操作才算完成

如果每块硬盘性能完全一样,理论上RAID0的随机性能不会下降,但是实际上不可能,总会有随机的小范围波动,结果总是被相对更慢的拖后腿

3.14 发表于 2016-2-22 07:52

就问热不热

sinfire 发表于 2016-2-22 09:10

hunnitth 发表于 2016-2-22 04:30
RAID0随机性能不变或者下降是必须的,因为RAID0必须等待多块硬盘读取/写入相关数据,但是多块硬盘必然有 ...

但是现代的SSD技术其实也是通过内部RAID0这样的模式提高随机读写的啊

ccdos 发表于 2016-2-22 09:45

hunnitth 发表于 2016-2-22 04:30
RAID0随机性能不变或者下降是必须的,因为RAID0必须等待多块硬盘读取/写入相关数据,但是多块硬盘必然有 ...

解释得不对,分开写入,一块只写一半数据,两块同时写。

你的解释只能说明速度无法提高到2倍

luoht 发表于 2016-2-22 10:00

sinfire 发表于 2016-2-22 09:10
但是现代的SSD技术其实也是通过内部RAID0这样的模式提高随机读写的啊

呵呵,敢问此理论出自何方?

且不说“现代的SSD”是否通过内部RAID0来提高速度(实际上我还没有找到一家SSD厂商是这样做的),就算真想这样做,从技术上也说不通。

要明白为什么随机读写的速度比顺序读写慢得多。因为随机读写需要寻址(相对于机械硬盘的寻道)。

RAID0 对寻址或者寻道都没有任何帮助,因为寻址/寻道时间是由单个硬盘的指标决定的。在一个硬盘上的寻址,另一个硬盘是无论如何也帮不上忙的。用英语的一句俗语说:“一个女人要十月怀胎才生下婴儿;十个女人不可能一个月就生下婴儿”。

RAID0对传输速度有帮助。这里的“传输”是指从 RAID 控制器到主机内存的传输。假设访问(寻址/寻道)已经完成,单个硬盘的传输速度是恒定的(譬如 SATA3 是 6Gb/s)。如果做 RAID0,就可以利用两个硬盘的传输速度,理论上 SATA3 的 RAID0,传输速度是 6Gb/s * 2 = 12Gb/s。但如果访问速度跟不上,那是然并卵。

打个比方说,做 RAID0 就好像把原来的一条车道扩充成两条车道,理论上会让车流量翻倍。但如果车流量本来就很小,根本没达到一条车道的流量,那两条车道根本没用。如果我们还强制要一辆车走左边车道,下一辆车走右边车道,如此类推。那可想而知,车速反而会下降。

hunnitth 发表于 2016-2-22 10:03

sinfire 发表于 2016-2-22 09:10
但是现代的SSD技术其实也是通过内部RAID0这样的模式提高随机读写的啊

没错,但是大部分人看不到内部JBOD(无RAID)的数据,所以无法比较有无RAID的表现

hunnitth 发表于 2016-2-22 10:04

luoht 发表于 2016-2-22 10:00
呵呵,敢问此理论出自何方?

且不说“现代的SSD”是否通过内部RAID0来提高速度(实际上我还没有找到一 ...

他的意思应该是读写的时候,SSD内部是主控同时对比如说8个颗粒同时进行读写,所以速度快。这个原理和RAID0相似:同时读写多个硬盘

hunnitth 发表于 2016-2-22 10:08

ccdos 发表于 2016-2-22 09:45
解释得不对,分开写入,一块只写一半数据,两块同时写。

你的解释只能说明速度无法提高到2倍
我上面说的随机的意思是小文件读写性能。常见的测量参数是“响应时间”或者“1个序列深度的4k读写速度/IOPS”

写的时候要等待最慢的一块硬盘写完,OS才把这个写入动作视为写完;(写的时候可以依靠内存来缓存,你看到的测试性能中有一部分实际是内存的速度,还有一部分是高QD的数据,因为内存缓存之后1个QD就变成了多个QD,所以测试出来的数据会明显比读的高)
读的时候要等最慢的读出数据,OS才视为它读完

光裕 发表于 2016-2-22 10:16

现代SSD内部的读写机制其实就是类似于RAID0+X。

hunnitth 发表于 2016-2-22 10:16

sinfire 发表于 2016-2-22 09:10
但是现代的SSD技术其实也是通过内部RAID0这样的模式提高随机读写的啊

RAID0提高的是连续读写和高强度的随机读写(高QD,从十多个甚至数十个QD,这种情形基本只在服务器上能看到)

家用环境/文书环境/游戏环境/写代码环境下SSD的QD通常只有0.x个,连1.0都很难达到。这种环境下RAID0并不提高这种随机性能,而是减慢这种性能

luoht 发表于 2016-2-22 10:20

hunnitth 发表于 2016-2-22 10:04
他的意思应该是读写的时候,SSD内部是主控同时对比如说8个颗粒同时进行读写,所以速度快。这个原理和RAID ...

这个解释说不通。主控对颗粒的读写与 RAID 根本是两回事,连“类似”都说不上。

很简单,以 Samsung 850 SSD 为例,512GB 的用了 4 个颗粒,1TB 的用了 8 个颗粒。如果“RAID 理论”成立,那1TB的速度与 512GB 应该有明显的差距(理论上是两倍)。但实际上两者速度基本一样。

hunnitth 发表于 2016-2-22 10:33

luoht 发表于 2016-2-22 10:20
这个解释说不通。主控对颗粒的读写与 RAID 根本是两回事,连“类似”都说不上。

很简单,以 Samsung 8 ...

850 EVO和850 PRO都是SATA3的接口,瓶颈在接口上,所以连续读写性能看不出差异;
小文件的瓶颈是寻址,所以多个颗粒也看不出什么提示

但是如果你去翻2009 / 2010年那会的SSD评测数据,就会看出来,连续读写跟颗粒数量有关

HOPE 发表于 2016-2-22 10:33

RAID的话还是RAID5才有意义,0和1都是阉割版的感觉,实际用处非常小。

冰冻的山泉 发表于 2016-2-22 10:42

我只知道Intel的企业盘内部读写类似raid10而非raid0。

sinfire 发表于 2016-2-22 14:30

luoht 发表于 2016-2-22 10:20
这个解释说不通。主控对颗粒的读写与 RAID 根本是两回事,连“类似”都说不上。

很简单,以 Samsung 8 ...

事实恰恰就是如此,不信你看很多品牌最低端容量的SSD就是比高容量的慢不少,同样的主控,比如64G的和128G的,尤其是明显可以在板子上看到空焊盘的情况下。

容量往大的,可能本来通道就是用满了的,就没啥差别了。

luoht 发表于 2016-2-22 21:36

sinfire 发表于 2016-2-22 14:30
事实恰恰就是如此,不信你看很多品牌最低端容量的SSD就是比高容量的慢不少,同样的主控,比如64G的和128G ...

你把通道数量和颗粒数量搞混了。一个主控通常有几个通道。通道越多,并行传输速度越快。但在同一个通道上,并不是颗粒越多,速度越快。



颗粒的多少取决于颗粒的密度。三星的颗粒就比其他厂商少,因为三星率先采用 3D 堆叠技术。
三星 850 Pro 1TB


Mushkin Reactor 1TB


颗粒的种类、主控芯片的设计是影响速度的主要因素,而并非颗粒的数量。否则,就像买电脑按斤秤,最重越贵,因为用料足?

yangjeig 发表于 2016-2-23 01:01

楼主,850 pro 后面那张图是怎么做到的?

luoht 发表于 2016-2-23 01:11

yangjeig 发表于 2016-2-23 01:01
楼主,850 pro 后面那张图是怎么做到的?

用 Samsung Magician 软件,打开快速模式(Rapid Mode)。

sinfire 发表于 2016-2-23 09:04

luoht 发表于 2016-2-22 21:36
你把通道数量和颗粒数量搞混了。一个主控通常有几个通道。通道越多,并行传输速度越快。但在同一个通道上 ...

即使是名词上有混淆,但是并不影响我的观点。

为什么SSD内部增加通道可以同时提高随机和持续读写速度,但是Raid0就不行?

测试软件测试时应该给予的压力是足够的。

luoht 发表于 2016-2-23 09:25

本帖最后由 luoht 于 2016-2-23 09:32 编辑

sinfire 发表于 2016-2-23 09:04
即使是名词上有混淆,但是并不影响我的观点。

为什么SSD内部增加通道可以同时提高随机和持续读写速度 ...
谁告诉你 SSD 增加通道可以提高随机读写速度?看来还是概念不清啊。搞不清楚什么叫并行处理,以及并行处理的先决条件。

假设生产一件产品需要经过10道工序,历时1小时。那么是否10个工人同时加工,就可以6分钟完成?当然不可以。但如果有10条生产线,每条生产线负责一个产品,那产量就可以提高 10 倍。

随机读写速度之所以不能通过“并行”来提高,是因为其中有“寻址/寻道”的操作。这个操作是线性顺序的,不可以通过并行处理来提速的。

hanyer 发表于 2016-2-23 15:34

学习了

yuan18 发表于 2018-3-3 10:37

本帖最后由 yuan18 于 2018-3-3 10:39 编辑

luoht 发表于 2016-2-21 23:50
M.2 指的是外形。M.2 的出现主要是为了适应电脑不断小型化的趋势。有的同学直接把 M.2 盘叫做 NVMe 盘,其 ...
   劲来看看。。。。。顺便学习楼主组RAID

apparition 发表于 2018-8-22 00:10

还好看了楼主的贴子,这下不用浪费时间了

feeling4t 发表于 2018-8-22 02:10

并不是这样
建议好好了解一下RAID的原理
可以看一下大话存储

QQ4083469 发表于 2018-8-22 09:05

850 PRO阵列了不得啊!!
有情帮顶。
页: [1]
查看完整版本: M.2 RAID0/1就是然并卵