Tommy 碎碎念

Tommy Wu's blog

« 上一篇 |

Synology DSM 6.1 硬碟同步速度過慢的問題
post by tommy @ 10 四月, 2017 10:02

去年中的時候, 原本在 Synology DS1813+ 上面用的 WD 紅標 3TB 在過保後, SMART 出現了警告. 加上容量又快被我用光了, 所以... 就逐步汰換成 Toshiba 6TB. (壞第一顆時先把備用的 HSGT 4TB 換上去, 壞第二顆就開始換成 Toshiba 6TB 的硬碟)

在 Synology 的主機上, 原本同步時的速度不快, 但只要更改下面幾個設定值, 就能大幅提高同步的速度:

/proc/sys/dev/raid/speed_limit_min
/proc/sys/dev/raid/speed_limit_max
/sys/block/md2/md/stripe_cache_size

我是把 speed_limit_min 設成 70000, 把 speed_limit_max 設成 0, 把 stripe_cache_size 設成 32768.

以我家的每個硬碟 3TB 的大小, 在 DS1813+上頭八個硬碟同步時, 原本同步的速度約要一星期才能同步完成, 改成上面的值之後, 約 12 小時就能同步完成. 當然, 同步時的效能也會降低不小, 只是就算沒改, 只要同步, 效能一樣會變差, 而且... RAID 最怕出問題的時間點就是在同步的時候, 同步時間越久就越不安全. 所以就算效能不佳, 但能越快完成同步越好.

前陣子 Toshiba 6TB 在各大網站都出現特價, 所以就把剩下的硬碟補齊 (可惜只有剩兩顆). 換上後, 發現同步變很慢, 查了半天, 終於發現無論我把 stripe_cache_size 改成多大的數字, 都會被逐步降回 256, 這樣同步一顆硬碟要花上 2-3 個星期. 上網查了一下, 發現有人跟我同樣的問題, 是發生在升級到 DSM 6.1 之後.

找了幾天都查不到解決方法 (有試過弄個 script 定時改回去, 不過.... 感覺上這樣改來改去的效能反而更差). 最後終於受不了, 在 DSM 上的技術支援中心發了一封信請求技術支援. 在 3 天後收到了回信, 有提到解決的方法.

在 DSM 6.1 上面, 可以在 /etc.defaults/synoinfo.conf 中新增下面兩個參數:

md_resync_cache_size
md_resync_disk_threshold

md_resync_cache_size 是動態調整後的最小值, 預設是 256.

md_resync_disk_threshold 是上面這個動態調整的功能啟用的最小的同步硬碟數, 預設值是 8 (所以... 就是 8 個或 8 個以上的硬碟組成的 RAID 才會影響).

不打算用這個功能, 就把  md_resync_disk_threshold 設一個比你的硬碟數還大的值就可以. 如果要使用這功能,但是要把 stripe_cache_size 的值調大, 就改 md_resync_cahce_size 的值.

改了設定之後重開機就應該會生效了. 改好後, 同步一個硬碟的時間, 終於回到 12 小時左右的時間了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 52 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS