Backup

在將小文件寫入磁帶之前將它們打包成一個大 tar 文件會在發生錯誤時增加數據失去的程度嗎?

  • October 20, 2011

我最近一直在查看我們的備份,並註意到在寫入大量小文件時磁帶吞吐量要低得多,因此正在考慮將這些小文件打包成一個大 tar 文件並將其寫入磁帶而不是小文件直接文件。(很像Tar:避免歸檔大於特定大小的文件

但是,當我將這個 tar 文件寫入磁帶時,如果在此過程中出現磁帶錯誤,我會遇到問題嗎?我的意思是,我會失去包含許多小文件的整個(大)文件,還是會失去該 tar 文件的特定塊並能夠恢復其余文件?

此外,Amanda 或 Bacula 等備份程序如何處理大量小文件?他們是否只是將文件單獨寫入磁帶,或者他們是否會執行類似這樣的預壓縮成更大的文件以更快地寫入?

注意:可能只是我們的暫存磁碟太慢了,但我假設對於大多數人來說,小文件會導致這樣的備份性能問題。

第一:強烈建議備份tar文件而不是單個文件以避免擦鞋效應,這是您遇到的情況:電腦無法足夠快地傳遞文件並且磁帶驅動器必須停止並且在再次開始寫入之前回退一點點找到流結束的精確點。這不僅速度慢了很多,而且對驅動器和磁帶都造成了很大的磨損(據說現代驅動器,即 LTO4,在防止/減少這種影響方面做得更好,因為當它們的輸入緩衝區空了並且不執行時它們會減慢速度。不需要倒帶)。

第二:可以跳過 tar 文件的損壞部分,至少對於未壓縮的檔案。

第三:Bacula 確實可以(並且應該)配置為創建一個假離線文件,然後將其寫入磁帶。不幸的是,它無法在假離線文件中同時將另一個文件寫入磁帶,從而有效地將備份速度降低了約 50%。

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