Mongodb
處理 Mongo 服務中的匯流排錯誤
我有一個 Mongo 服務,多個主機正在與之互動。執行 Mongo 服務的主機非常特別——它有 3TB 的 RAM。但是,該主機也會引發間歇性匯流排錯誤響應。如果在 Mongo 服務程序中發生匯流排錯誤,則服務將暫停,並且所有與資源互動的 celery (Python) 程序都會收到連接拒絕響應。
有沒有辦法讓 Mongo 服務以某種方式從匯流排錯誤中恢復?分片可以幫助解決這個問題嗎?是否可以在應用程序配置級別解決匯流排錯誤的其他一些潛在解決方案?對於其他人可以就這個問題提出的任何建議,我將不勝感激!
我從 RedHat 上的原始碼建構了 Mongo,因此如果有幫助,我可以使用任何最新版本。目前安裝的版本是 3.6.4。
處理 Mongo 服務中的匯流排錯誤
根據此處**
smartctl
**的 MongoDB 文件,執行(作為smartmontools的一部分)檢查 SMART 硬體錯誤也很有幫助:sudo smartctl -a /dev/sdb
即使您可以執行 Linux
fsck
實用程序,它也可用於檢查和修復 Linux 文件系統(ext2
、ext3
、ext4
等)。根據上次檢查文件系統的時間,系統會
fsck
在引導期間執行以檢查文件系統是否處於一致狀態。當文件系統出現問題時,系統管理員也可以手動執行它。確保
fsck
在解除安裝的文件系統上執行以避免任何數據損壞問題。
匯流排錯誤通常是程序錯誤的指示,在這種情況下是 MongoDB 本身,或者很少是硬體問題。因此,首先要嘗試升級到最新的穩定版本。如果問題仍然存在,除了向 Mongo 送出錯誤報告之外,您無能為力。