Rsync
使用 rsync over SSHFS 或 CIFS 作為遠端儲存庫是否更好,沒有 rsyncd 選項?
我有一個只能支持 CIFS、AFS、SSH(沒有 rsyncd 功能,沒有 NFS)的 NAS。
我必須備份非常大的文件(vm 映像),我通常在備份設備上設置一個 rsync 伺服器,然後我
rsync --inplace
只傳輸大文件的塊級增量。這適用於 rsyncd。對於 CIFS,它似乎必須在將其全部複製之前讀取所有目標文件和本地文件**(**整個內容,而不僅僅是增量).. SSHFS 會更好嗎?
還有其他方法可以在沒有 rsyncd 的情況下僅移動塊增量嗎?
sshfs 對此無濟於事;你需要做的是添加一個
-W
選項來告訴 rsync 只傳輸整個文件,而不是試圖找出具體的差異在哪裡。您可能還需要刪除--inplace
(不確定)。rsync 實際上是為遠端操作而設計的,其中每台電腦上都有一個 rsync 實例(或守護程序),每個電腦都有一個快速連結到其磁碟,但 rsync 實例之間的連結很慢。在您的情況下,慢速連結位於“遠端”rsync 及其磁碟之間,因此需要一組不同的優化選擇。具體來說,rsync 通常預設讀取整個源文件和目標文件,因此它可以確定哪些部分需要通過“慢”中間連結傳輸;在您的情況下,它會減慢它的速度,而不僅僅是盲目地傳輸整個文件。
此外,請確保您有
-t
選項(或-a
,這意味著-t
),並且沒有使用-c
.-c
會讓它讀取整個文件,看看它是否發生了變化;沒有它,它只會查看-t
(和-a
)保留的文件大小和修改時間。