Synology Docker 搬到 NVMe SSD:資料夾、Volume 與風險一次整理
如果你在 Synology NAS 上跑 Docker,最值得優先搬到 NVMe SSD 的,往往不是影片,也不是照片,而是容器本身。
原因很簡單:容器與資料庫的讀寫模式,常常充滿大量小檔隨機 I/O。這種工作負載放在 HDD 上,會比你想像中更容易拖慢整台 NAS 的體感。
🎯 這篇適合誰
| 你的情況 | 建議先看哪段 |
|---|---|
| 想知道搬過去有沒有效果 | 哪些服務最適合搬到 NVMe |
| 直接看搬遷步驟 | 建議搬遷流程 |
| 怕搬壞,先看風險 | 最常見的 5 個踩雷點 |
| 只看結論建議 | 我會推薦的做法 |
🎯 哪些服務最適合搬到 NVMe
以下這些我會優先考慮:
- Home Assistant
- Nginx Proxy Manager
- Vaultwarden
- qBittorrent
- PostgreSQL / MariaDB
- Immich
- Grafana / Prometheus
- 各種需要頻繁寫入 metadata 的容器
如果你的容器只是偶爾跑一下、也不吃 I/O,那就不用為了搬而搬。
📦 搬遷前先搞懂兩件事
1. 你的容器資料不只是一個資料夾
Docker 在 Synology 上,通常會涉及:
- 映像檔
- container writable layer
- bind mount 資料夾
- named volume
- 資料庫檔案
- 設定檔
真正要搬的,常常是「容器持久化資料」,不是單純把 Docker 套件移位置就結束。
2. 搬遷重點不是速度,是一致性
很多人搬完之後服務起不來,不是因為操作很難,而是因為:
- 沒有先停容器
- 複製過程中資料還在被寫入
- 權限沒保留
- compose 路徑沒有一起改
所以流程正確比快更重要。
🗂️ 建議的資料夾規劃
如果你的 NVMe 儲存空間已經建立好了,我會建議先規劃一個清楚的結構:
/volume2/docker/
appdata/
homeassistant/
immich/
vaultwarden/
postgres/
compose/
backups/
這樣的好處是:
- 所有容器資料集中管理
- 備份路徑明確
- 之後重建或搬機比較輕鬆
📋 建議搬遷流程
Step 1:盤點你有哪些容器資料
先確認以下資訊:
- 哪些容器最吃 I/O
- 哪些服務的資料量最大
- 哪些是不能中斷太久的
- 哪些使用 bind mount,哪些使用 named volume
建議先從 1 到 2 個服務開始,不要第一次就全搬。
Step 2:先做備份
至少做兩種:
- 容器設定檔備份
- 資料夾或資料庫 dump 備份
如果是 PostgreSQL 或 MariaDB,最好先做一次邏輯備份,不要只相信檔案複製。
Step 3:停止容器
搬資料前,一定先停掉相關容器。
如果你用 Compose 管理,建議直接整組停:
docker compose down
如果是單容器,也至少要停止該服務,不要邊跑邊搬。
Step 4:複製資料並保留權限
搬遷重點是保留:
- 檔案權限
- 時間戳
- 目錄結構
你可以使用 rsync 或保留屬性的複製方式。搬完後再檢查新位置內容是否完整。
Step 5:更新路徑設定
如果你原本的 bind mount 是:
/volume1/docker/appdata/immich
搬完後就要改成:
/volume2/docker/appdata/immich
不要忘了連 Compose 檔、環境變數、備份腳本都一起改。
Step 6:重新啟動並驗證
啟動後要檢查:
- 容器是否正常啟動
- 網頁有沒有打得開
- 日誌有沒有權限錯誤
- 資料有沒有正確讀回來
🚀 哪些服務搬過去最有感
Immich
這類需要大量縮圖、metadata、資料庫配合的服務,放到 NVMe 通常差很多。
Home Assistant
如果你安裝很多 integration、history、logbook,UI 反應與資料寫入穩定度通常都會改善。
PostgreSQL / MariaDB
資料庫本身就是超典型的 SSD 受益者。查詢、索引、寫入體感會最直接。
qBittorrent
如果你下載量大、檔案多、種子數量高,把設定檔與暫存放到 NVMe,整體操作會順得多。
⚠️ 最常見的 5 個踩雷點
1. 沒停容器就直接複製
最容易導致資料不一致。
2. 只搬資料夾,沒改 compose
重啟後服務還是讀舊路徑,等於白搬。
3. 沒注意 UID / GID
有些映像對權限非常敏感,尤其是 LinuxServer 系列或資料庫容器。
4. 低估備份重要性
搬遷不是壞事,但它就是一種變更。只要是變更,就應該先有回退方案。
5. 全部服務一次搬
如果一次搬十幾個容器,問題發生時很難定位。先小規模驗證比較穩。
✅ 我會推薦的做法
如果你是第一次搬 Docker 到 NVMe,我會建議這樣做:
- 先選一個最有感、風險中等的服務
- 做備份
- 停止容器
- 搬資料
- 改路徑
- 重啟驗證
- 穩定後再處理下一個服務
這樣做雖然慢一點,但很適合長期維護。
❓ 常見問題
Q1:是搬 Docker 套件,還是搬容器資料夾?
A: 對大多數人來說,真正有價值的是搬「容器持久化資料」,不是只搬套件本身。
Q2:可以把所有下載資料也放在 NVMe 嗎?
A: 可以,但要看容量與 SSD 壽命。大量長期下載不一定划算,很多人只會把暫存和 metadata 放到 NVMe。
Q3:如果容器已經很多,值得重搬嗎?
A: 如果你明顯感受到卡頓,特別是資料庫、縮圖、索引類容器,那通常很值得。
Q4:DSM 更新會影響 Docker 路徑嗎?
A: 一般不至於直接改掉你的資料夾,但每次大更新後都建議快速驗證容器與掛載設定是否正常。
✨ 總結
Docker 搬到 NVMe SSD,通常是 Synology 上最有感的一次性能升級。
但真正關鍵不只是搬,而是要搬得有規劃:知道哪些資料要動、哪些服務先搬、怎麼保留回退空間。
🔗 延伸閱讀
- NVMe 快取 vs 儲存空間:Synology 的兩種用法怎麼選?
- M.2 SSD 建立儲存空間教學:在 Synology NAS 上實作
- Container Manager 完整教學:用 Docker GUI 管理所有容器
- NAS 先升 RAM 還是 NVMe SSD?一次說清楚
只要流程穩,這個升級通常很值得做。