Filesystems

將零複製到我的外部驅動器,報告錯誤,日常 rsync 是否仍然安全,哪些文件系統更安全?

  • February 1, 2018

我有一個損壞的文件,我懷疑它是由我老化的外部機械攜帶式 HDD 的 rsync 引起的。

我做了一個備份,決定寫零,看看是否有寫錯誤。果然,我得到了一些但不是很多。見下文。

我想知道這是否可以安全地用於我的 linux 電腦和我的 linux 筆記型電腦之間的日常 rsync。什麼文件系統對此是安全的,與 ext4 相比,NTFS 本質上是不安全的嗎?

$ sudo dd if=/dev/zero of=/dev/sdc1 bs=1024
dd: error writing '/dev/sdc1': Input/output error
960119073+0 records in
960119072+0 records out
983161929728 bytes (983 GB, 916 GiB) copied, 51641 s, 19,0 MB/s

$ sudo smartctl -a /dev/sdc1  
smartctl 6.5
2016-01-24 r4214 [x86_64-linux-4.4.0-109-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke,
www.smartmontools.org

=== START OF INFORMATION SECTION === Vendor:               WD Product:              My Passport 0748 Revision:             1019 Compliance:          
SPC-4 User Capacity:        1 000 170 586 112 bytes [1,00 TB] Logical
block size:   512 bytes Rotation Rate:        5400 rpm Serial number: 
WX81A7242861 Device type:          disk Local Time is:        Thu Jan
18 11:30:41 2018 CET SMART support is:     Unavailable - device lacks
SMART capability.

=== START OF READ SMART DATA SECTION ===

Error Counter logging not supported

No self-tests have been logged


$ dmesg | grep sdc1 
[ 8279.937899]  sdc: sdc1 [21382.527511] Buffer
I/O error on dev sdc1, logical block 240030162, lost async page write
[21382.527516] Buffer I/O error on dev sdc1, logical block 240030163,
lost async page write [21382.527518] Buffer I/O error on dev sdc1,
logical block 240030164, lost async page write [21382.527524] Buffer
I/O error on dev sdc1, logical block 240030165, lost async page write
[21382.527526] Buffer I/O error on dev sdc1, logical block 240030166,
lost async page write [21382.527528] Buffer I/O error on dev sdc1,
logical block 240030167, lost async page write [21382.527530] Buffer
I/O error on dev sdc1, logical block 240030168, lost async page write
[21382.527532] Buffer I/O error on dev sdc1, logical block 240030169,
lost async page write [21382.527534] Buffer I/O error on dev sdc1,
logical block 240030170, lost async page write [21382.527535] Buffer
I/O error on dev sdc1, logical block 240030171, lost async page write
[21387.552539] VFS: Dirty inode writeback failed for block device sdc1
(err=-5). [21398.777810]  sdc: sdc1 [21550.843225] EXT4-fs (sdc1):
mounted filesystem with ordered data mode. Opts: (null)

您已經有一個損壞的文件,並且磁碟存在已知問題。問題要麼保持不變,要麼變得更糟:它極不可能“治愈”。所以,不,這不安全。

但是,已知不可靠的備份仍然(略)比沒有備份要好:如果您失去了筆記型電腦,它可以讓您至少恢復部分數據。

如果您繼續使用此磁碟,您應該嘗試讀回您備份的所有文件:可能不是每天,但肯定是每週。

在任何情況下,你都應該問自己:

  • 數據對您來說價值多少?超過新磁碟的成本?大約是多少倍?
  • 從失敗的備份中恢復數據所需的*時間對您來說價值多少?*在您的筆記型電腦已經失去或損壞的情況下?會不會讓你錯過重要的業務?它會帶來多少壓力和焦慮?值得冒險嗎?

您似乎有一個非常好的備份方案(與普通筆記型電腦所有者相比)。你設置它是有原因的。不要破壞它。

更新:

每條logical block NNNNN, lost async page write消息意味著作業系統告訴磁碟將一個數據塊寫入磁碟,並I failed to do it properly從磁碟取回一個數據塊。

從理論上講,這可能意味著在寫入的輸出中只有一個位被翻轉,或者整個塊現在都是隨機的亂碼。現實可能介於這兩個極端之間。

現代磁碟通常通過將塊標記為失敗並使用備用塊來透明地處理寫入失敗。磁碟實際上報告故障的事實意味著這個備用容量已經耗盡:這意味著磁碟上已經有相當多的故障塊。

由於您的smartctl命令報告:

SMART support is:     Unavailable - device lacks SMART capability.

除了嘗試讀回所有數據,將其與原始數據進行比較併計算錯誤之外,沒有其他方法可以了解更多細節。

NTFS 和 ext4 都是非常有彈性的文件系統類型,但是如果物理儲存介質不可靠,它們都不能無限期地存活:如果某些關鍵文件系統元數據的位置發生故障,整個文件或目錄可能會變得無法訪問。

如果這些失去文件的數據恰好位於尚未發生故障的塊上,則這些失去文件的數據可能仍然物理存在於磁碟上,但是沒有文件系統元數據,您需要一些數據恢復軟體來找到與每個失去對應的正確塊文件。即使這樣,如果文件是碎片化的,或者使用恢復軟體不知道的文件格式,也不能 100% 保證恢復軟體可以找到正確的塊並將它們重新組合成完整的文件。

有人說:“磁碟本質上是故障機器——數據儲存只是一個副作用。” 最終,任何旋轉磁碟都會因機械磨損而失效。與安裝在台式機或伺服器系統中的硬碟相比,攜帶式硬碟也受到更多的碰撞和撞擊。

引用自:https://unix.stackexchange.com/questions/418000