通過 rsync 備份到 NFS 的讀取錯誤
我正在將一個 linux 機器備份到通過 NFS 安裝的 NAS。我正在使用 rsync(作為帶有硬連結的http://www.mikerubel.org/computers/rsync_snapshots/方案的一部分)。那就是我 ssh 進入 machine_being_backed_up,啟動我的 rsync 命令,它備份文件大約一個小時左右,然後凍結伺服器(例如,需要物理重新啟動;這非常不方便,因為伺服器在城鎮另一座建築物中,所以需要時間重新啟動)最後的錯誤是(實際名稱匿名):
some/path/file1.gz rsync: read errors mapping "/home/some/path/file1.gz": Input/output error (5) some/path/file2.gz rsync: read errors mapping "/home/some/path/file2.gz": Input/output error (5) some/path/file3.gz
這可能表明我要備份的機器上的硬碟驅動器有一些故障扇區,對嗎?或者,在安裝我的 NFS 驅動器(使用 rw、soft、intr 選項安裝)時,NFS 連接太慢或選擇了錯誤的選項可能會導致該錯誤?有沒有辦法讓這些輸入/輸出錯誤只是跳過/失敗這些文件,而不是凍結系統(所以我不必穿過城鎮重新啟動伺服器)?
更新:我昨天打開了 SMART,昨天執行了短時間和長時間的自測,沒有報告任何錯誤(昨天我無法提及這一點,因為長時間測試在 7 點左右完成,電腦在午夜左右崩潰,所以我可以登錄到今天早上我可以-站點重新啟動)。
此外,我嘗試將有問題的文件同步到同一驅動器上的不同分區,但沒有收到任何錯誤。我現在正在嘗試直接同步到 NAS(而不是使用 NFS 安裝 NAS)。
更新(10 月 3 日):我已將硬碟驅動器移到另一台機器上,並且已經有大約 2 週的時間沒有出現錯誤。在舊機器中,每天都會出現這種類型的錯誤。我猜測另一台機器的主機板或記憶體錯誤(沒有時間完全診斷和查明問題)。
它物理凍結機器的事實強烈表明這是硬體錯誤的症狀。我不希望壞扇區導致機器掛起,所以它可能不太容易診斷。
要查看問題是否出在磁碟上,請嘗試在本地讀取受影響的文件(通過 SSH 登錄並使用
cat /home/path.to.file > /dev/null
),但如果可行,並不一定意味著磁碟表面良好(它可能處於臨界狀態,有時也可以讀取) . 如果您還沒有,請執行 SMART 監控工具並註意諸如扇區重新映射計數上升之類的事情 - 這將表明磁碟表面不是頂部形狀(一些重新映射的扇區在現代大型驅動器中並不罕見,但許多表明一個嚴重的問題)。這可能是文件系統損壞,但我也不希望這會完全掛起機器 - 或者如果它嚴重到導致文件系統驅動程序崩潰,我希望控制台上出現核心恐慌消息,而不是機器停止。您可以使用 fsck 來檢查這一點,但請確保備份您目前可以讀取的所有內容,以防損壞嚴重到試圖修復它會使事情變得更糟(這種情況很少見,但我已經看到它發生過,特別是如果你是使用實驗文件系統或 beta 版本,而不是經過嘗試+測試的版本)。
硬體凍結要檢查的另一件事是 CPU 和 RAM 是否正常。它們可能有故障和過熱——與其說是導致正常操作出現問題的程度,不如說是執行 rsync 一段時間後將某些東西推到邊緣所帶來的額外負載。如果是問題所在,執行記憶體測試和 CPU“老化”測試可能會突出顯示這一點。您的 I/O 控制器也可能以同樣的方式成為嫌疑人,但我不確定您將如何進行測試。