2017年5月1日 星期一

[經驗分享]比 rsync 更適合大檔案同步的 bigsync



這麼多檔案同步工具裡,rsync 歷史悠久功能也很不錯,幾乎大部份的 Linux 系統與 NAS 設備都有內建,使用起來非常方便。




有什麼問題?


rsync 的缺點在於進行檔案同步時,rsync 所使用的系統資源較為吃重,以及傳輸的效率不夠快速。

rsync


這是肇因於 rsync 所使用的檔案比對機制所致。





有什好推薦?


為了加快與提高效率,在 2011 年我們發現了一款仍在初期開發階段的「bigsync」套件,同樣是開源軟體。

bigsync



bigsync 用起來很快,同步的速度比 rsync 快非常非常多,我曾經用他做為檔案同步到異地機制好一段時間,直到後來遇見了 ZFS,那就是另一段故事了。



bigsync 適合用在備份目的裝置效能低落的場景




運作方式:
  • 取出來源區塊計算 Hash 值
  • 讀取目的端上次計算過的 Hash 值
  • 兩相比對,有不同才傳輸該區塊
  • 因為目的端只要取儲存過的 Hash 值,所以快(rsync 每次都要把目的端檔檔案進行比對)
  • 使用者可以依據實際情況自行決定區塊大小





指令用法:
bigsync --source /pve/d2.qcow2 --dest /bak/d2.qcow2
其它常用參數

--blocksize:指定使用區塊大小(預設 15MB)
--sparse:支援以稀疏檔案方式處理
--quiet:沉默是金(不要笑,說明檔真的這麼寫!!)



支援系統:
  • Linux
  • macOS



安裝方式:
  • 呃... 他只提供編譯方式,請下載原始碼後 Makefile



注意事項:
  • bigsync 已經有一段時間沒有更新版本,最新版號 0.1.2,釋出日期 2013/09/29