Backup
備份期間的並發修改:rsync vs dump vs tar vs?
我有一個 Linux 日誌伺服器,多個應用程序在其中寫入數據。數據以突發方式寫入,並且寫入許多不同的文件中。我需要對這些混亂進行備份,最好在文件版本之間保持盡可能多的一致性,並避免截斷文件。伺服器上的數據總量約為 100Gb。我真正想要(但不能)是關閉,備份系統冷,然後重新啟動它。
各種備份工具對並發修改提供了什麼樣的保證?他們什麼時候“凍結”文件版本?我目前正在研究 rsync、dump 和 tar,但我對其他(開源)替代方案持開放態度。
遺憾的是,更改應用程序或阻止寫入備份不是一種選擇。系統(還)沒有執行 LVM,但我已經考慮過重建系統,然後是快照。
您正在考慮的任何工具都不能保證防止並發修改。但是,您真的需要時間點快照嗎?如果是這樣,請使用上面給出的 LVM 快照選項。由於您已將 rsync 作為選項,我假設磁碟到磁碟備份是一個選項。
最不安全的是轉儲,它在讀取磁碟塊時獲取磁碟塊的副本。鑑於數據的大小,目錄資訊和數據之間可能存在顯著差異。對於磁碟到磁碟的備份,您可以考慮 dd 到相同大小的分區作為替代方案。這兩種解決方案基本上做同樣的事情並且有同樣的問題。
Tar 將一個一個地讀取文件,並將讀取到每個文件的末尾。如果在 tar 備份文件時重命名或刪除文件,tar 將備份它開始讀取的文件。這是日誌文件的合理解決方案。
Rsync 的行為類似於 tar,但只複製更改。本質上,它將所有更改複製到目錄。使用基於日期的日誌輪換方案 (logfile. yyymmdd ) 而不是常見的輪換版本方案 (logfile.1 logfile.2gz …)。它可以有效地備份您的日誌文件。