Synology DS923+ 買了三年才發現:SHR 與 RAID 5 的實際差異
理解原理之後,我們來看 DS923+ 這台機器的實際表現。DS923+ 是四槽機種,搭載 AMD Ryzen R1600 處理器與 4GB ECC 記憶體(可擴充至 32GB),預設檔案系統為 Btrfs。以下比較都是基於這台機器的實際使用與測試經驗。
3-1. 容量利用率的差異:混合硬碟時最明顯
這是 SHR 與 RAID 5 最直觀的差異。我用一個實際案例說明:朋友原本有兩顆 4TB 硬碟,後來想擴充,問我該買兩顆 4TB 還是兩顆 8TB。如果他用 RAID 5,買兩顆 8TB 插上去之後,系統會把四顆硬碟都當成 4TB 用,可用空間從原本的 4TB(兩顆 4TB 做 RAID 1 或 SHR)變成 12TB,但兩顆 8TB 各有 4TB 被浪費掉,總共浪費 8TB。如果他改用 SHR,四顆硬碟分別是 4TB、4TB、8TB、8TB,可用空間會是 16TB,浪費的空間少了一半。
但要注意一個常被誤解的點:SHR 的擴充並不是無限制的。當你只有一顆大容量硬碟與三顆小容量硬碟時,那顆大硬碟多出來的空间只能做 RAID 1(需要另一顆同容量硬碟搭配),因此無法形成有效容錯。也就是說,SHR 在混合容量時雖然比 RAID 5 有彈性,但還是遵循「容錯需要成對或成組」的基本邏輯。如果你的硬碟容量組合太畸形(例如 16TB、4TB、4TB、4TB),SHR 能榨出的額外空間其實很有限。
3-2. 效能差異:幾乎感覺不到,但特定情境有差
在四顆同容量硬碟的情境下,SHR 與 RAID 5 的連續讀寫效能幾乎一樣,因為底層都是 mdadm 的 RAID 5 陣列。我用 CrystalDiskMark 與實際 SMB 傳輸測試過,兩者的差異在 5% 以內,日常使用完全感受不到。DS923+ 的 1GbE 網路本身就是瓶頸,除非你加裝 10GbE 網卡,否則硬碟陣列的效能差異根本被網路頻寬吃掉了。
但在「混合容量」的情境下,SHR 的效能會稍微複雜一些。因為 SHR 是由多個 RAID 陣列疊加而成,寫入資料時 LVM 需要判斷資料該落到哪一層,這會帶來極輕微的額外開銷。不過這個差異同樣在誤差範圍內,實務上不需要為此煩惱。真正需要在意效能的是 RAID 6 或 SHR-2,因為雙容錯會讓寫入效能明顯下降,但那是另一個層次的選擇了。
3-3. 故障處理與重建:SHR 稍微複雜一點
當一顆硬碟故障時,兩者的處理流程大同小異:系統會發出警告,你把壞掉的硬碟拔掉、換上新的,然後在 DSM 裡面啟動修復。RAID 5 的重建就是單純的 parity 重建,SHR 則是先重建對應的底層陣列,再更新 LVM 的邏輯磁區。對一般使用者來說,操作介面完全一樣,都是點幾下滑鼠就好。
但從「理解發生什麼事」的角度來看,SHR 的黑盒子程度比較高。如果重建過程中出現錯誤,RAID 5 的錯誤訊息比較直觀(就是某顆硬碟的某個區塊讀取失敗),SHR 則可能出現 LVM 相關的訊息,對不熟悉 Linux 儲存架構的人來說比較難懂。這也是為什麼有些進階使用者偏好 RAID 5:它的行為比較透明,出問題時比較容易在網路上找到對應的除錯資訊。
四、三年後才發現的重點:離開 Synology 生態時的差異
前面講的都是「NAS 正常運作時」的差異,但真正讓我改變想法的,是「NAS 故障時」的差異。這是買機器當下不會想到、三年後卻可能救你一命的重點。
4-1. SHR 的底層其實是 mdadm + LVM,但搬遷沒那麼簡單
很多人以為 SHR 是 Synology 專屬格式,硬碟拔出來就讀不到。這個說法只對了一半。SHR 的底層確實是標準的 Linux mdadm RAID 陣列加上 LVM,理論上把硬碟接到一般 Linux 電腦上,用 mdadm 指令可以 assemble 出陣列,再用 LVM 掛載邏輯磁區。網路上也有不少教學示範如何救援 SHR 陣列。
但「理論上可以」跟「實務上好操作」是兩回事。SHR 的陣列結構會因為硬碟容量組合而有所不同,有時是好幾層 mdadm 陣列疊在一起,assemble 的順序與參數需要逐一確認。如果你用的是 Btrfs 檔案系統,還要考慮 Btrfs 本身的掛載參數。對於沒有 Linux 指令經驗的人來說,這個救援過程的門檻不低。相比之下,純 RAID 5 的結構單純很多,一層 mdadm 陣列、一個檔案系統,救援步驟相對標準化。
這不是說 SHR 不能救援,而是說它的救援複雜度比較高。如果你很在意「最壞情況下能把資料救回來」這件事,RAID 5 的透明性會讓你安心一點。當然,最根本的解決方案還是異地備份,任何 RAID 都不能取代備份,這一點無論選 SHR 還是 RAID 5 都一樣。
4-2. 硬碟搬遷與跨機轉移的差異
Synology 有一個很方便的功能:把硬碟整組搬到另一台 Synology NAS,系統會自動辨識並保留設定。這個功能在 SHR 與 RAID 5 上都支援,但 SHR 的相容性更好一些,因為它是 Synology 自家的技術,跨機種轉移時的處理比較完善。RAID 5 雖然也支援,但偶爾會遇到機種晶片差異導致的辨識問題,需要手動介入。
不過反過來說,如果你打算「離開 Synology 生態」,把硬碟接到其他品牌的 NAS 或自組 Linux 伺服器,RAID 5 的相容性就高得多。幾乎所有支援軟體 RAID 的系統都能直接 assemble mdadm 的 RAID 5 陣列,但 SHR 的多層 LVM 結構就不是每個系統都能輕鬆處理。這是一個「留在生態內」與「保持退出彈性」的取捨。
五、DS923+ 使用者該怎麼選?具體建議
講了這麼多,最後還是要回到「那我到底該選哪個」。以下我依照不同使用情境給出具體建議,你可以對號入座。
5-1. 選 SHR 的情況
如果你符合以下任一條件,SHR 會是比較好的選擇:第一,你的硬碟容量不一致,或者未來打算逐步擴充硬碟(先買兩顆、之後再加兩顆不同容量的);第二,你希望設定過程越簡單越好,不想研究 RAID 原理;第三,你打算長期留在 Synology 生態內,未來換機也是換 Synology;第四,你需要 SHR-2 的雙容錯功能(四顆硬碟的 SHR-2 等於 RAID 6,但保留混合容量的彈性)。
特別是「逐步擴充」這個情境,SHR 的優勢非常明顯。很多人的 DS923+ 一開始只裝兩顆硬碟,後來才慢慢補齊。如果一開始用 RAID 5,後來補的硬碟容量不同就會浪費空間;用 SHR 則可以把浪費降到最低。這也是 Synology 預設推薦 SHR 的主要原因,它符合大多數人的實際使用節奏。
5-2. 選 RAID 5 的情況
如果你符合以下任一條件,可以考慮 RAID 5:第一,你確定四顆硬碟容量完全相同,而且未來擴充也會買同容量;第二,你重視底層結構的透明性,希望出問題時能自己用 Linux 工具除錯;第三,你有可能把硬碟搬到非 Synology 的系統使用;第四,你打算用 Btrfs 的 snapshots 與資料 scrubbing 功能,並且希望結構越單純越好。
還有一種情況值得考慮 RAID 5:如果你打算用 SSD 快取或 NVMe 儲存池,DS923+ 有兩個 M.2 插槽,RAID 5 的結構單純性在效能調校時會稍微方便一點。不過這個差異很小,不應該是決策的主要依據。
六、常見迷思與問答
最後整理幾個我這三年來最常被問到的問題,幫大家釐清一些常見迷思。
迷思一:SHR 比較不安全。這是錯的。SHR 的底層是標準的 mdadm RAID,容錯能力與對應的 RAID 等級完全相同。四顆硬碟的 SHR(單容錯)就是 RAID 5 的容錯能力,SHR-2 就是 RAID 6。安全性取決於容錯等級與備份策略,不是取決於 SHR 或 RAID 5 這個名字。
迷思二:SHR 效能比較差。在同容量四碟的情境下,兩者效能幾乎一樣。混合容量時 SHR 有輕微的 LVM 開銷,但實務上感受不到。DS923+ 的網路頻寬才是真正的瓶頸。
迷思三:用了 SHR 就不能換別家 NAS。技術上可以救援,只是步驟比較複雜。如果你很在意這個彈性,選 RAID 5 會簡單一點,但真正的保障還是異地備份。
迷思四:RAID 5 比較省空間。剛好相反。同容量時兩者一樣省,混合容量時 SHR 更省。RAID 5 的優勢是結構單純,不是空間效率。
七、結語:三年後的我會怎麼選?
如果時光倒流回到三年前那個設定精靈前面,我還是會選 SHR,理由很簡單:我當時的硬碟是兩顆 4TB,後來補了兩顆 8TB,SHR 讓我多榨出了 4TB 可用空間,而且整個過程不需要任何指令操作。但這三年讓我學到的是:真正重要的不是 SHR 或 RAID 5 的選擇,而是你有沒有做好備份、有沒有定期檢查硬碟健康、有沒有理解自己系統的容錯等級。
RAID 再厲害,都只是「不停機」的保障,不是「資料不會丟」的保證。我見過太多人以為組了 RAID 5 就萬無一失,結果機殼進水或遭竊,整組硬碟一起報銷。DS923+ 是一台很棒的機器,SHR 與 RAID 5 也都是成熟的技術,選哪個都不會錯。真正會讓你後悔的,是沒有把備份做好,而不是選了哪一種 RAID。
希望這篇三年心得能幫到正在猶豫的你。如果你已經在用 DS923+,不妨進 DSM 的儲存管理員看一下自己的陣列結構,理解一下底層發生了什麼事——這大概是這篇文章最想傳達的一件事:多懂一點原理,少走一點冤枉路。
💬 想說點什麼?
歡迎到留言板分享你的想法、心得或疑問。
💬 前往留言板 →