QNAP TS-231P,QTS 5.1.5,接一顆 4TB USB 3.0 外接硬碟(ext4),透過 Container Station 跑一個 Alpine 容器,裡面只有 rsync 和 cron。資料量約 1.8TB,主要是照片和掃描的紙本文件,每天增量大概 3 到 8GB。現象是:用 Hybrid Backup Sync 做 USB 單鍵備份,跑到一半整台 NAS 的網頁介面會卡住十幾秒,而且中斷後續傳常常重來。
我的做法是把備份從 HBS 拆出來,交給容器裡的 rsync 做。先在 Container Station 建一個 bind mount,把 /share/CACHEDEV1_DATA 掛到容器的 /data,外接硬碟掛到 /backup,然後用這段:
rsync -aHAX --delete --numeric-ids \
--exclude='@Recycle/' --exclude='.@upload_cache/' \
--partial-dir=.rsync-partial \
--log-file=/backup/rsync-$(date +%F).log \
/data/ /backup/data/
排程用容器內的 cron,每天凌晨 3 點跑一次,跑完再 sync。外接硬碟是 ext4,所以 -aHAX 的 ACL 和 xattr 都能落地,不會像 FAT32 那樣直接報錯。
為什麼這樣做:HBS 卡住我猜是它把索引和校驗都塞進同一條 I/O 佇列,網頁服務跟著排隊;rsync 是單執行緒、循序讀寫,對這顆 ARM 機器的負擔比較可預測。代價是沒有圖形介面、沒有版本歷史,刪掉的檔案在備份端也會被 --delete 清掉,所以我另外留了 --partial-dir,只保證中斷可續,不保證誤刪可救。
會失效的地方:第一,--delete 是雙面刃,我踩過一次把整個目錄搬走後跑備份,備份端同步被清空,還好那是測試資料;現在跑之前會先 --dry-run 看一次清單。第二,USB 硬碟斷線重插後掛載點會變,容器看不到,得在 QTS 裡確認掛載路徑再重啟容器。第三,QNAP 的韌體更新偶爾會把 Container Station 的 autostart 關掉,備份就默默沒跑,我現在會看 log 檔有沒有當天的日期。
你們在用 QNAP 做 USB 備份時,是留在 HBS 還是也換成 rsync?如果換了,誤刪的防線是怎麼補的?
0 条评论
还没有评论,写下第一条。