[實測] NAS 上硬碟數量與速度的正相關性?
隨著媒體畫質的進步,4K 影片一個檔案動輒 20~50 GB 都有,又有如單眼的 RAW 檔也隨著畫質提升到單檔 100 MB,累積的資料量越來越大,對於儲存媒體的需求也隨之增加。Synology NAS 上也隨繼發展出家用 2、4、6 甚至 8 bay 以上的多槽儲存裝置設計
而硬碟越多,速度真的越快嗎?
通常 NAS 陣列會有的傳輸變因有:機器 CPU 瓶頸、網路傳輸速度、使用的陣列模式,和硬碟數量,這次要比較單純硬碟數量與速度間的關聯性,因此會有兩個問題:
- 硬碟越多真的陣列速度越快嗎?
- 多少個硬碟 RAID 0 能吃滿 10Gbps 網路?
如果要探討速度,選擇來測試的 RAID 格式莫過於循序式 (stripe) 寫入的 RAID 0 格式
因此我們的實驗變因就是硬碟數量,有 1、2、4、6、8 三種 RAID 0 陣列實驗組
同時也加入了常用的 RAID 1 x 2 顆硬碟,與 RAID 6 x 4 顆硬碟這兩種組合來當作比較
追蹤更多我的實驗 >>>
這系列文章主要是我對於 SSD / HDD 硬碟 x 數量 x 陣列 x 模式等幾個在 NAS 環境中常見的變因做的小研究測試,目前有以下這幾個比較實驗,實驗都自己設計、測試了很久,也歡迎到粉專:https://www.facebook.com/garynil.tw/ 點讚支持追蹤看後續更多的奇怪實驗~
- 硬碟越多,速度真的越快嗎?
- 10GbE RAID 大亂鬥,RAID 0 / RAID 5 / RAID 6 / RAID 10 常用的 RAID 速度差多少
▼ 而這次測試主要使用的硬碟是前陣子 Western Digital(WD)更新 NAS 產品線的 WD RED PLUS 家族,RED PLUS 14T WD140EFFX,CMR 技術,主要有 RED 和 RED PRO 兩種產品線都推出 14T 的超大容量,而要能承受這麼大容量的硬碟,通常設計是使用 HelioSeal(氦氣密封充填)技術,RED PLUS 14T 是使用 5400 RPM Class 轉速主軸馬達,而 Red Pro 才是 7200 RPM Class 轉速比較可惜,快取記憶體均比其他容量大上兩倍,使用 512MB 快取增進效能。
官方網頁:https://shop.westerndigital.com/zh-tw/products/network-attached-storage/wd-red-sata-hdd#WD140EFFX
▼ 另外 WD RED PLUS 就是設計來試用 NAS 這種多硬碟會產生共振的環境的,NASware 3.0 採用 3D Active Balance Plus 雙面平衡控制技術以及旋轉震動感應器做出震動的修正補償來改善穩定度,提升多組硬碟間的相容性,也減少噪音增加穩定度。
▼ 此外 WD RED PLUS 也是設計給全年無休 24×7 的運轉使用,MTBF(Mean Time Between Failures)有 100 百萬小時,Workload Rate 則是 180 TB/年,換算下來可以以平均 0.5T / 天來估計自己的用量,並具有 3 年保固。
測試平台
實驗過程中,我以同樣設備、同樣實驗條件皆跑過 3~5 次取平均數據。設備部分選擇 10G 網路搭配 TB3 避免造成傳輸瓶頸。
我們的測試項目有一般常見的 1. Benchmark 軟體、2. 常見的拖拉複製動作,以及 3.使用指令及專業工具複製這幾個項目
測試平台
- MacBook Pro 2018 15″ 2019 i9 (macOS 10.15.5)
- 透過 Thunderbolt 3 轉 AKiTiO T3-10G
- Synology NAS DS1819+ 搭配 10G 網卡 E10M20-T1 (使用 8G 記憶體)直連
- 硬碟使用:WD RED PLUS WD140EFFX 14T
▼ 測試平台以常見的 MacBook Pro 15″ 為主,NAS 端則是選擇 Synology 家用 8 Bay 機種 DS1819+ 搭配 10GbE 網卡。硬碟部分為了不產生 bottleneck 也模擬最快的硬碟可能性,這次選擇 NAS 專用硬碟: WD RED PLUS 系列中最大容量 WD140EFFX 14TB 大硬碟來測試。
首先先以 BenchMark 軟體來基準測試 SMB 存取速度,測試方式以掛載 SMB 於 macOS 中直接跑軟體測試
▼ Benchmark 總結果圖:BlackMagic 與 AJA 1G 的測試如之前的測試都沒吃滿記憶體 buffer,因此在讀取表現上沒有顯著差異。寫入部分則是有隨著數量增多成長的趨勢,待下圖說明
實際應用
隨機碎檔測試(單位:秒)
我也以實際傳輸做測試,這個小測試中是以 SMB 分別傳輸很零碎的 iOS 備份檔案,單檔約落於 1~3KB 間,共有 10GB 百萬個隨機碎檔。結果表現上以 RAID 0 四顆硬碟結果最差,不過也另外對照了 CrystalDiskMark 的 Q32 4K 寫入並沒有顯著差異,不確定這個影響因素為何
影音大檔測試(單位:秒)
另外也傳輸會超過 NAS 內建快取 Buffer 的影音大檔,也是一般人常見的傳輸情境
在表現上以 RAID 0 四顆硬碟時間最短表現最佳,硬碟數越多則沒有明顯差距,可見雖然跑分軟體表現出硬碟數量越多速度越快,但實際應用還是要看各種傳輸協定受到各種因素干擾後才准。
多少個硬碟組 RAID 0 能吃滿 10Gbps 網路?
▼ 而使用 AJA 測試 64GB 最大檔案時,硬碟數量越多(1 -> 2 -> 4 -> 6 -> 8)寫入速度也隨之越快,最高可達 770 MB/s 左右。但考慮到測試環境是以 10Gbps 當作傳輸頻寬,770 MB/s 並沒有吃滿。以目前 2020 這世代的 Synology 主流 CPU 來說,大概用 4 顆 HDD 就可以吃滿 NAS 能承受的寫入速度 770 MB/s,再提升上去比較沒什麼意義,提供參考
硬碟越多真的陣列速度越快嗎?
▼ 當然在 AJA 64GB 測試之下的寫入與讀取都能體現出硬碟越多速度越快的這個趨勢(圖右),寫入(如上圖)大概 4 顆就會卡瓶頸了,而讀取的表現則是 8 顆能達到 10Gbps 的最大頻寬(約 900 MB/s,考慮到各種變因耗損)
和常用的 RAID 模式相比呢?
▼ 拿出 RAID1 (2 顆硬碟,紅) 與 RAID6 (4顆硬碟,粉紅) 這兩個與 RAID 0 相比:
RAID 1 (2顆硬碟) 果然與理論中一樣,速度與 單顆硬碟(BASIC 藍)相同,落於 211 MB/s 也就是與 WD RED PLUS 硬碟原生速度相等
而常見 4Bay 以上的 RAID 6(4 顆硬碟,粉紅),落於 520 MB/s 與 RAID 0 (2顆硬碟,綠)相同。
所以如果想顧及資料安全,又考慮速度的人,可以參考這個表去構建自己的 RAID 模式來進行影音編輯
總歸來說,RAID 速度會隨著硬碟數量增加而更佳,RAID 0 讀取表現在 8 顆剛好吃滿 10Gbps 的傳輸速度,但寫入容易因為 CPU RAM 等各種硬體限制沒有那麼佳的表現,四顆以上就沒有啥顯著差異了。