rsync 運行時使用 HDD 安全嗎?

rsync 運行時使用 HDD 安全嗎?

我計劃在 之前備份我的大型硬碟rsync,預計需要幾天時間。rsync工作時使用原廠硬碟(新增檔案)是否安全?或者最好在rsync完成之前保持硬碟不變?

答案1

正如其他人已經指出的那樣,在 rsync 運行時,從來源磁碟讀取或使用目標目錄之外的目標磁碟是安全的。這也是安全的在目標目錄中,特別是當目標目錄由 rsync 運行專門填充時。

什麼不是一般來說安全是在來源目錄中寫入當 rsync 運行時。 「寫入」是修改來源目錄或其任何子目錄內容的任何內容,包括檔案更新、刪除、建立等。

這樣做實際上不會休息任何內容,但 rsync 可能會或可能不會實際拾取變更以複製到目標位置。這取決於更改的類型、rsync 是否已掃描該特定目錄以及 rsync 是否已複製有問題的檔案或目錄。

然而,有一個簡單的方法可以解決這個問題:完成後,使用相同的參數再次執行 rsync。(除非您有一些時髦的刪除參數;如果有,請更加小心。)這樣做將導致它重新掃描來源,並傳輸在原始運行期間未拾取的任何差異。

第二次運行應該轉移僅有的上次 rsync 運行期間發生的差異,因此完成速度會快得多。因此,您可以在第一次運行期間可以正常使用計算機,但在第二次運行期間應盡可能避免對來源進行任何更改。如果可以的話,強烈考慮以唯讀方式重新掛載來源檔案系統在開始第二次 rsync 運行之前。 (類似mount -o ro,remount /media/source應該做的事情。)

答案2

這取決於您使用的備份系統,但一般來說這是一個壞主意調整備份設備時的內容。但是,您可以其內容;這是一個安全的操作,即使它會減慢進程。

在您的情況下,rsync將建立一個文件列表,然後開始備份。因此,在備份開始後新增至來源 HDD 的任何檔案都將不是被複製。

我所做的就是在備份期間根本不使用任何設備。這是獲得快速且一致的備份的更安全方法。

答案3

在操作時從來源區域讀取資料是安全的rsync,但如果您更新任何內容,則建立/更新的副本rsync可能會不一致:

  1. 如果您更新 rsync 已掃描的文件,那麼直到將來運行時它才會看到更新。如果您更新了尚未掃描的文件,則目標中將尊重變更。如果您更新已掃描和未掃描的文件,您最終會在目標中得到新舊版本的混合。

  2. 如果您將檔案新增至已掃描的目錄中,則這次目標副本中將會遺失該檔案。如果您從已掃描的目錄中刪除文件,這次它將保留在目標副本中。根據您呼叫的方式,rsync整個樹可能會在開始時被掃描,也可能在同步過程發生時增量掃描。

  3. 在某些情況下rsync會看到不一致並警告您。如果您從已掃描自身但尚未掃描其內容的目錄中刪除檔案或子目錄,您將收到有關物件遺失的錯誤訊息。在類似的情況下,有時(如果大小和/或時間戳已更改)它也會警告檔案在掃描過程中發生變更。

對於某些備份來說,這種不一致可能不是一個大問題,但對於大多數備份來說,這是一個大問題,因此建議您不要嘗試同步主動更改的來源。

如果您使用 LVM 來劃分儲存系統,則可以使用暫存快照來進行時間點備份。這要求卷組上有足夠的空間來創建足夠大的快照卷,以容納在需要快照的持續時間內將發生的所有更改。查看 LVM 文件(或許多線上範例之一:搜尋「LVM 快照備份」或類似內容)以了解更多詳細資訊。

即使沒有 LVM,某些檔案系統本身也支援快照 - 因此您可能也希望研究該選項。

如果您想要備份大型活動磁碟區而不需要長時間停機並且無法使用快照,則執行「即時」掃描完成可能就足夠了,然後停止對該磁碟區的存取並執行另一個rsync 進程,這可能需要更少的時間(如果變化很小,它只會掃描目錄樹,然後掃描幾個更新的檔案)。這樣,您應該避免更改的持續時間可能會短得多。

答案4

目前所有的答案都在討論一致性方面的資料安全性並假設完美的硬體。

另一件需要考慮的事情是硬體安全本身。如果您有未備份的硬碟,它可能處於故障的邊緣(您甚至可能還不知道)並且您正在製作一個最初的全面備份不要使用它。如果資料是關鍵,甚至不要安裝它。您可以使用諸如dd將磁碟克隆為區塊設備。當您嘗試進行備份時,您不希望磁碟頭尋找並可能寫入的內容。 Plusdd對於初始備份來說應該更快,因為它只是按順序複製位元(如果磁碟機大部分未滿,我想 rsync 在初始情況下也會獲勝)。

對於後續增量備份,rsync 是一個不錯的選擇,我 100% 同意其他答案。

相關內容