
/home 上掛載了一個檔案系統,有 2.6PB 的儲存空間。目前,/home目錄下散佈著300TB+的資料。我打算備份整個 300TB+ 數據以日常的方式到/home/fs_backup,但我發現以下命令tar
非常慢:
cd /home/fs_backup && tar -cpf backup.tar.gz --exclude="/home/fs_backup" --one-file-system "/home"
我估計它只能產生10GB/min,這意味著24小時內無法備份整個300TB+的資料。知道如何在 /home 下「複製」當前數據,無論它是否壓縮良好 - 或者甚至根本沒有壓縮 - 或者不是在短時間內。多謝。
答案1
由於您已經確定無法在規定的 24 小時內備份全部 300GB 量,因此您需要檢查您的要求。
star
在文件級別,諸如、duplicity
、甚至rsync
/之類的增量工具rsnapshot
可能仍需要一天以上的時間來創建基本備份,但之後它應該會快得多。顯然,這取決於每個 24 小時備份週期內更改的檔案的數量和大小。
在檔案系統級別,快照可能足以滿足您的需求(儘管這不是真正的備份),特別是您可以隨意從快照中進行真正的備份,而不必過多考慮完成備份所需的時間。和以前一樣,一旦建立了基本備份,您的增量備份可能需要相當少的時間來產生。
您尚未指定如何儲存備份,但對於許多小型檔案來說,類似的內容rsnapshot
可能很合適。 (我將它用於許多內部文件伺服器的基於文件的備份,因為它允許我們輕鬆訪問單個文件以進行恢復。)
順便說一句,備份到同一台主機上的另一個磁碟實際上不應被視為安全備份。完全備份到不同的主機會要好得多。 (如果/home/fs_backup
是從不同伺服器進行遠端安裝,請認真考慮使用duplicity
或rsync
/rsnapshot
直接與遠端主機通信,而不是透過遠端安裝的檔案系統。)
答案2
我所知道的最快的備份方法是使用star
(請參閱 參考資料中該程式的最新版本schilytools
),因為該程式實現了一個任意大小的環形緩衝區,該緩衝區位於檔案系統進程和另一個執行歸檔I /O 的進程之間。如果以正確的方式選擇了 FIFO 大小,則幾乎所有檔案都可以使用單一read()
系統呼叫來讀取,這使得它(連同其最佳化的程式碼)非常快。
此環形緩衝區被呼叫FIFO
並預設使用8MB
,但可以被告知使用任何大小。最大有用值為RAM
機內用量的一半。
star
也支援工作增量轉儲,我建議先進行完整轉儲,然後再進行增量轉儲,以在最後階段需要很少時間的方式保存檔案系統的內容。
您可能會想查看手冊頁:http://schilytools.sourceforge.net/man/man1/star.1.html
請注意,本手冊頁建議不要從即時檔案系統進行備份,而是從snapshot
檔案系統層級進行備份。