讀/寫 2.6.32-22-server 時檔案損壞(發生在許多核心中)

讀/寫 2.6.32-22-server 時檔案損壞(發生在許多核心中)

我遇到一個問題,伺服器運行一段時間(〜週/幾天)後,伺服器將開始讀取損壞的資料。例如,當我在全新啟動後運行檔案的 sha1sum 時,它保持不變。然而,過了一段時間,我將開始出現段錯誤,從那時起,每當我讀取此檔案時,我都會得到不同的 sha1sum。

我已經通過長時間測試檢查了 SMART,並且運行了擴展 memtest86+(12 次通過)

我的lspci如下:

00:00.0 主軸:Advanced Micro Devices [AMD] RS780 主軸
00:01.0 PCI 橋接器:Advanced Micro Devices [AMD] RS780 PCI 到 PCI 橋接器 (int gfx)
00:06.0 PCI 橋接器:Advanced Micro Devices [AMD] RS780 PCI 到 PCI 橋接器(PCIE 連接埠 2)
00:07.0 PCI 橋接器:Advanced Micro Devices [AMD] RS780 PCI 到 PCI 橋接器(PCIE 連接埠 3)
00:11.0 SATA 控制器:ATI Technologies Inc SB700/SB800 SATA 控制器 [AHCI 模式]
00:12.0 USB 控制器:ATI Technologies Inc SB700/SB800 USB OHCI0 控制器
00:12.1 USB 控制器:ATI Technologies Inc SB700 USB OHCI1 控制器
00:12.2 USB 控制器:ATI Technologies Inc SB700/SB800 USB EHCI 控制器
00:13.0 USB 控制器:ATI Technologies Inc SB700/SB800 USB OHCI0 控制器
00:13.1 USB 控制器:ATI Technologies Inc SB700 USB OHCI1 控制器
00:13.2 USB 控制器:ATI Technologies Inc SB700/SB800 USB EHCI 控制器
00:14.0 SMBus:ATI Technologies Inc SBx00 SMBus 控制器(修訂版 3c)
00:14.1 IDE 介面:ATI Technologies Inc SB700/SB800 IDE 控制器
00:14.3 ISA 橋接器:ATI Technologies Inc SB700/SB800 LPC 主控制器
00:14.4 PCI 橋接器:ATI Technologies Inc SBx00 PCI 至 PCI 橋
00:14.5 USB 控制器:ATI Technologies Inc SB700/SB800 USB OHCI2 控制器
00:18.0 主軸:Advanced Micro Devices [AMD] K10 [Opteron、Athlon64、Sempron] HyperTransport 配置
00:18.1 主橋:Advanced Micro Devices [AMD] K10 [Opteron、Athlon64、Sempron] 地址映射
00:18.2 主軸:Advanced Micro Devices [AMD] K10 [Opteron、Athlon64、Sempron] DRAM 控制器
00:18.3 主橋:Advanced Micro Devices [AMD] K10 [Opteron、Athlon64、Sempron] 雜項控制
00:18.4 主橋:Advanced Micro Devices [AMD] K10 [Opteron、Athlon64、Sempron] 連結控制
01:05.0 VGA 相容控制器:ATI Technologies Inc Radeon HD 3300 顯示卡
01:05.1 音訊設備:ATI Technologies Inc RS780 Azalia 控制器
02:00.0 乙太網路控制器:Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E 乙太網路控制器(rev b0)
03:00.0 FireWire (IEEE 1394):威盛科技設備 3403

我真的需要一些幫助,你知道是什麼原因造成的嗎?這真的讓我很沮喪,因為它似乎完全隨機觸發,並且在我重新啟動之前不會消失。我還在該伺服器上使用KVM 進行虛擬化,並使用MD 進行軟體RAID,處理器是Phenom II X4 965。因此我不知道。

更新2010 年 6 月 21 日 好的,剛剛更換了主機板。仍然有同樣的錯誤。我找不到 CPU 錯誤;通過智慧測試,磁碟均報告正常。有人知道這可能是什麼?我正在把我的頭髮拉在這裡。

更新2010 年 6 月 22 日 所以我檢查了日誌並嘗試了另一個檔案系統,仍然是同樣的事情。順便說一句,這也全部在主機虛擬機器上。

答案1

我的直覺告訴我這是一個硬體問題,可能與熱有關(因為它在一段運行時間後出現)。很可能您的南橋或相關硬體有問題。

考慮在南橋上運行一些廣泛的事務測試,或者乾脆更換主機板。

您的作業系統保持穩定,但出現隨機 IO 錯誤通常會排除 CPU/記憶體的問題,因為這些錯誤往往會導致作業系統與其他軟體一起崩潰和燒毀。但核心的大部分內容是在啟動時從磁碟讀取的,並且從未被交換出,因此即使 Linux 系統無法從磁碟正確讀取,它也可以非常穩定。

答案2

損壞是發生在主機本身還是來賓電腦上? qemu-kvm 中存在一個已知錯誤,會導致大型虛擬磁碟中的資料損壞(請參閱https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/574665例如)

答案3

我同意@pehrs 的觀點,值得研究這個問題的熱方面,因為問題會隨著時間的推移而逐漸加劇。你們有什麼樣的伺服器?如今,大多數機架安裝件都配備了大量感測器,可用於監控硬體運作狀況。查看流明感測器。如果是戴爾伺服器,則戴爾奧姆薩包包可能會有幫助。我確信其他大公司也有自己的專有軟體包。

我也可能會拋出一些其他的想法——這些想法與您描述的問題僅在一段時間後出現的場景並不相符,但它們不會造成傷害。

就錯誤日誌而言,您是否在磁碟或 RAID 子系統的日誌中收到任何錯誤訊息?或在 dmesg 中? Linux軟體-RAID HOTWO有一些關於您要尋找的錯誤類型的信息。像是電纜損壞之類的問題可能不會出現在驅動器的 SMART 自檢中,但您肯定會看到記錄的一些錯誤訊息。

RAID配置是什麼? /proc/mdstat 中有什麼嗎?例如,如果伺服器有 3 個磁碟機 RAID 5,且其中一個磁碟機損壞,則可能會導致問題。

另外,檢查主機板/SCSI 卡等的韌體版本,看看它是否是最新的,或者是否存在與磁碟 I/O 相關的錯誤已修復。

相關內容