作者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/m.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