Linux

btrfs 發送/接收:是否可以使用現有數據引導子卷複製?

  • March 7, 2021

我在兩台機器上有兩個硬碟,遠端連接。我想開始使用有前途的 btrfs 發送/接收功能來加速我接管網路的增量備份,而不是 rsync。

在備份方面,我已經擁有幾乎所有數據的備份副本(大約 1TB)。我做了很多搜尋,但我找到的每一篇文章都開始將所有數據發送到新位置以引導增量備份方案。據我了解,1TB 是要在網際網路上傳輸的大量數據,如果出現問題,btrfs 發送/接收將無法恢復。我可以將巨大的流儲存在一個文件中並使用 rsync 發送它,但是如果我沒有多餘的 1TB 來儲存臨時流文件(在每一側……)怎麼辦?

現在的問題是:您能否以某種方式重用備份端已經存在的數據來開始使用 btrfs 的發送/接收功能,或者在任何情況下都必須執行所有數據的第一次發送?

btrfs send手冊頁:

除非您保證這些快照在發送方和接收方雙方都處於完全相同的狀態,否則您不得指定複製源。

這裡的“exactly”比相同的文件更強大,“exactly”適用於從 btrfs 的元數據、校驗和、佈局和由btrfs send.

雖然第一次設置可能很煩人,但這就是btrfs send/btrfs receive組合可以很好地工作的原因,因為它只能將更改發送到由 btrfs 儲存的快照。您實際上是在序列化文件系統中更改的部分(不僅僅是文件)並將它們發送到另一端。

引用自:https://serverfault.com/questions/1056125