60.0 PB 的文件大小是錯誤的。刪除它會導致數據失去嗎?
在使用 備份一些數據(200 GB 主目錄)時
rsync
,我收到一個特定文件的 I/0 錯誤,之後rsync繼續“正常”地進行備份。問題源文件顯示為文件大小為 72 字節。我取消了 rsync,並再次執行了相同的命令。這一次,同一個文件顯示正在傳輸數據……大量數據……還有更多數據,還有更多……我檢查了目標文件的大小,它高達 13 GB!所以我使用 Ctrl-c 取消rsync。
再次檢查源文件大小時,在 Nautilus 中,它
60.0 PB
在 500 GB 驅動器上顯示大小為(Peta Bytes!)。現在,這一切的要點:刪除這個文件會/可能會導致其他文件中的數據失去,看到文件系統可以感知到它比實際大得多……文件系統是
ext4
..我可以用rsync異常跳過它,但我對如果它被刪除會發生什麼特別感興趣。
更新:目標和來源都是
ext4
關於它是稀疏文件的建議:如果它是稀疏文件,為什麼它會從一分鐘到下一分鐘顯示不同的大小?該文件當時肯定(?)未使用。它是一個
~/.macromedia/Flash_Player/#SharedObjects/someting-or-other.sol
文件,其中該目錄中有更多這樣的*.sol*文件.. 加上它在第一遍時確實顯示了 I/0 錯誤。此外,根據
man rsync
,建議的選項是有效-S
地處理稀疏文件,而不是正確地,所以這向我表明,即使我沒有使用它,也應該在任何一種情況下準確地複制稀疏文件:它沒有,甚至如果它是一個稀疏文件,那麼 60.0 Peta Bytes 似乎肯定(?)在某個地方的文件系統中是一個錯誤……這是我主要關心的問題:如果文件系統中有一個故障,可以刪除那個文件對其他文件有影響嗎?-S
更具體地說:因為它寫入了 13 GB 的數據,而且還在攀升!當我取消它時,它是否也會在我刪除它時刪除 13 GB - 60 PB 的數據?
看起來源文件系統已損壞,通常是由於核心錯誤或 RAM 損壞(與損壞的數據相比,損壞的磁碟更可能導致文件無法讀取)。在這一點上,所有的賭注都關閉了。但是,如果損壞非常局部,則只有一個文件的 inode 損壞,而其他文件未損壞,因此您可以安全地刪除該文件。請注意,沒有辦法測試這個假設。
我的建議是:
- 進行 RAM 測試,或將磁碟插入另一台機器。
- 確保您已備份所有數據。
- 如果可能,請使用 SMART 檢查磁碟的執行狀況。
- 執行
fsck
。- 如果磁碟仍然很好,請繼續使用它。