作者birdy590 (Birdy)
看板PC_Shopping
标题Re: [情报] Synology针对硬碟槽速度限制为 1.5Gb说明
时间Fri Aug 12 22:18:20 2016
※ 引述《kerorog66 (便当加鸡腿)》之铭言:
: 2) Synology DiskStation DS1815+ 为 Synology 所推出的 8-bay NAS 机种,采用的Int
: el Atom C2538 处理器原生提供 2 组 SATA3 (6.0Gb/s) 及 4 组 SATA2 (3.0Gb/s)的连
: 线规格。而为满足 8-bay 机种的扩充需求,DS1815+ 额外采用 SIL3132 SATA2 控制器来
: 管理第 7 及第 8 硬碟槽,并於 2014 年 11 月搭配 DSM 5.0 作业系统上市。
: 而後在2015年5月发布 DSM 5.2 作业系统时,为优化系统稳定性,研发部门修改 SIL3132
: 的驱动程式,将第 7 及第 8 硬碟槽速度限制为 1.5Gb/s,同时经反覆测试,确认结果
: 与原先官网公布之测试数据相同,不影响一般使用情况之效能 (例如将 8 颗硬碟建成一
: 组 RAID,透过 Link Aggregation 进行区网或外网档案传输等情况)。由於我们并未预期
: 使用者在此机种有全部使用SSD 的情况,也因此未在release note 说明。
仔细看完好像勾起了一些回忆, 稍微回头调查一下大概就有底了...
有兴趣的可以先看一下底下这个网页, 是做 ZFS/soft RAID 选择控制器非常
经典的介绍文, 虽然有点年份但对这个问题没有影响
From 32 to 2 ports: Ideal SATA/SAS Controllers for ZFS & Linux MD RAID
http://goo.gl/Xa49zv
里面关於Sil3132的介绍如下:
[SATA] SiI3132, 3Gbps, PCIe (gen1) x1 [75-88MB/s/port]
Availability: $20. Warning: the overall bottleneck of the PCIe link is
150-175MB/s, or 75-88MB/s/port, but the chip has a 110-120MB/s bottleneck per
port. So a single SATA device on a single port cannot fully use the
150-175MB/s by itself, it will be bottlenecked at 110-120MB/s.
简单解释, 就是这颗晶片只接一颗硬碟频宽上限是 110-120MB/s
两颗做 RAID0 总频宽上限 120-130MB/s(150-175 是理论值, 实际没那麽高)
网路上还可以找到古代的测试报告, 现在很多人嫌慢的 Jmicron 还比它快
以十几年前的标准或许问题不大(那时候单颗都还在 100MB/s 以下)
但是两个 port 加起来上限 130MB/s, 跑 SATA2 和 SATA1 有差吗?
这样还敢坚持"不影响一般使用情况之效能", 好像有点违反常识呢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.204.205.201
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1471011503.A.B1D.html
1F:推 stu87616 : 简单来说就是为了帐面bay数量好看硬挂上去的 08/12 22:30
2F:→ stu87616 : RD搞不好也很干 要看这种上古时代的文件 08/12 22:30
3F:→ HwaSIn : 搞不好出包的是pm 08/12 22:32
4F:→ birdy590 : 当时最好的选择应该是 Marvell, 很多板厂的 U3S6 08/12 22:33
5F:→ birdy590 : 都是用它, 硬是塞个老古董进去实在没啥道理 08/12 22:35
6F:→ tactics2100 : 所以以後买六槽以下 不需要加扩充晶片的最保险 08/12 22:48
7F:→ cunankimo : RAID的速度是加叠上去的 如果是4颗硬碟RAID5 08/12 22:49
8F:→ cunankimo : 读取是4颗的速度 写入是3颗的速度 08/12 22:49
9F:→ cunankimo : 当然如果你很赛 做随机小档读取 要的档案刚好都在 08/12 22:50
10F:→ cunankimo : 同一颗 那就会被单颗硬碟的速度限制住 08/12 22:51
11F:→ cunankimo : 如果是连续大档 会用ABCD ABCD...的方式存取 08/12 22:53
12F:→ cunankimo : 读取速度就是单颗的4倍 08/12 22:53
13F:→ CHOCOLA1983 : 四碟 RAID 5 的读取效能有到四颗的速度? 08/12 23:03
14F:推 b325019 : 我理解的是4颗RAID5读取最高是3颗的速度,写入的话 08/12 23:07
15F:→ b325019 : 会速度大概2颗多,因为要算同位元检查码所以效能会 08/12 23:07
16F:→ b325019 : 折损 08/12 23:07
17F:推 HiJimmy : 一定没有 除非靠硬体XOR 08/12 23:07
18F:推 b325019 : 不过实际上RAID5除非有XOR帮忙算不然读写效能折损满 08/12 23:09
19F:→ b325019 : 明显的 08/12 23:09
21F:→ cunankimo : 如果你资料有平均分散到每颗硬碟 读取会是 08/12 23:13
22F:→ cunankimo : A1 A2 A3 B1 B2 B3 C1 C2 C3 08/12 23:14
23F:→ cunankimo : P不用读 所以是4颗硬碟都有事做 读取速度是4倍 08/12 23:15
24F:→ cunankimo : 写入的话 必须写入P 是耗损 所以是3倍 08/12 23:18
25F:→ CHOCOLA1983 : ..................................是这样解释的吗 08/12 23:20
26F:→ cunankimo : 是这样没错 不过仅限循序存取 08/12 23:21
27F:→ linjrming : 都拿wiki的图了,怎麽不看看上面写什麽 08/12 23:22
28F:→ cunankimo : 如果你做随机小档存取 然後要的资料刚好都只在某颗 08/12 23:22
29F:→ cunankimo : 硬碟 那就会被单颗硬碟速度卡住 08/12 23:23
30F:→ cunankimo : linjrming:中文维基资料有错 RAID5读取速度的确是N 08/12 23:26
32F:推 CHOCOLA1983 : 四碟 RAID 5 读取如果要四颗的速度,那势必也要读到 08/12 23:32
33F:→ CHOCOLA1983 : P,怎麽会是不用读 P? 08/12 23:32
34F:→ cunankimo : P是parity的意思 你硬碟损坏才需要靠P算回来 08/12 23:33
35F:→ cunankimo : 平常读取不需要去读P 08/12 23:34
36F:→ birdy590 : 现在运算能力不是瓶颈, zfs/soft raid变成显学 08/12 23:56
37F:→ birdy590 : 平常就都会读 不然怎麽侦错? 08/12 23:57
38F:→ cunankimo : 楼上 RAID平常没在侦错的 08/12 23:58
39F:→ cunankimo : 假如你熟悉parity的原理 就会了解 任一颗硬碟资料 08/12 23:58
40F:→ cunankimo : 发生位元翻转 都会让parity产生变化 08/12 23:59
41F:→ cunankimo : 也就是说 假如A1 A2 A3算出来的parity 和P不一样 08/12 23:59
42F:→ cunankimo : 你也无法得知 是A1 A2 A3哪一颗有错误 08/13 00:00
43F:→ cunankimo : 另外一个RAID平常没在侦错的原因 08/13 00:02
44F:→ cunankimo : 是如果你做随机小档读取 只需要读A1 08/13 00:02
45F:→ cunankimo : 可是为了侦错 必须把A2 A3和P全部读起来 才能做比对 08/13 00:03
46F:→ cunankimo : 代价太高 08/13 00:03
47F:→ cunankimo : 所以RAID平常是不做侦错的动作的 08/13 00:03
48F:→ cunankimo : 这也是zfs btrfs这些新世代档案系统 有做checksum 08/13 00:04
49F:→ cunankimo : 的原因 因为RAID不会帮你侦错 08/13 00:05
50F:→ b325019 : 所以就算是RAID6遇到翻转也是无解吗? 08/13 00:05
51F:→ birdy590 : 啊对 写入的时候才需要算p 不然太慢了 08/13 00:05
52F:→ cunankimo : b325019: RAID6理论上可以侦测出位元翻转 08/13 00:12
53F:→ cunankimo : 不过问题跟前面一样 必须把每颗都读起来才比对 08/13 00:13
54F:→ cunankimo : 再来 因为不知道是哪颗发生位元翻转 08/13 00:13
55F:→ cunankimo : 所以必须用消去法 每颗都重算一次比对 一直比到 08/13 00:14
56F:→ cunankimo : 有错的那颗 一样是代价太大 08/13 00:14
57F:→ b325019 : 感谢解说,假设我用RAID5上面用btrfs还有需要定期跑 08/13 00:16
58F:→ b325019 : 同位元检查吗? 08/13 00:16
59F:→ birdy590 : zfs一套就搞定 08/13 00:19
60F:→ cunankimo : btrfs本身有scrubbing的指令 08/13 00:19
61F:→ cunankimo : 就直接用checksum比对了 不用做同位元检查 08/13 00:20
62F:→ cunankimo : 不过目前synology的方案 还是采用传统的mdadm RAID 08/13 00:21
63F:→ cunankimo : 而非btrfs原生的raid 所以只能侦测出位元翻转 08/13 00:22
64F:→ cunankimo : 无法自动修复 08/13 00:22
65F:推 b325019 : 难怪我想说明明btrfs自带RAID了怎麽感觉还要另外创 08/13 00:25
66F:→ b325019 : 磁碟群组,结果还是要跑同位元检查QQ 08/13 00:25
67F:→ cunankimo : 所以现在各家都在推zfs或btrfs啊 08/13 00:32
68F:→ cunankimo : 部分原因就是ext4无checksum 而RAID又不会自动侦错 08/13 00:32
69F:→ cunankimo : 除非你是坏轨坏到读不到 如果能读的到 但位元翻转 08/13 00:33
70F:→ cunankimo : 使用者通常是无感的 08/13 00:34
71F:推 b325019 : 我现在也只遇到一次红标一天内跳7次I/O ERR马上拆下 08/13 00:35
72F:→ b325019 : 来跑光华换一颗回来 08/13 00:35
73F:推 GeneFox : c大好专业~~那Q家呢?目前有哪牌在做原生Btrfs呢? 08/13 00:45
74F:→ cunankimo : 楼上 Q家是推zfs 不过目前只有出在rack机种上 08/13 00:52
75F:→ cunankimo : thecus和netgear都有btrfs机种 08/13 00:53
76F:→ cunankimo : 不过目前就我所知 应该都是用传统mdadm RAID 08/13 00:53
77F:→ cunankimo : 後两家资讯较少 不确定後来有没有更新 08/13 00:55
78F:→ cunankimo : 好像有点歪楼了 本来是要讨论RAID的速度的 08/13 01:00
79F:→ birdy590 : 有资源的可以测看看 阵列里有两颗接在低速卡上 08/13 02:15
80F:→ birdy590 : 理论上整体效能都会被拖下来 08/13 02:16
81F:→ glen246 : SiI晶片已经十几年,性能上不敷使用,不过若需要用 08/13 04:15
82F:→ glen246 : 到PMP功能的话都是SiI相容性比较好,ASMedia与 08/13 04:15
83F:→ glen246 : Marvell的PMP问题多 08/13 04:15
84F:推 jakkx : 上PTT一般下载没问题 08/13 10:18
85F:→ jakkx : 疑?我卖的好像不是PC 08/13 10:19
86F:→ birdy590 : Asmedia根本没做fbs啊 esata+pmp早就是时代的眼泪 08/13 11:21
87F:→ glen246 : 这倒也是,有点像没落的技术了...其实也不便宜 08/13 17:17
88F:→ glen246 : 要玩的通常都跑去搞SAS expander 08/13 17:18