Linux
診斷Linux上孤立inode的原因,繁忙的MySQL?
我們的一台伺服器最近遇到了一些文件系統損壞,我們的根文件系統被自動重新掛載為只讀。我採取的恢復步驟是:
- 試圖
remount > mount -n -o remount /
這樣做失敗了- 重新啟動伺服器
- 提示執行手動操作
fsck
,有 5 個孤立的 inode 需要修復。執行這些步驟後,我能夠訪問並且文件系統再次可寫。不幸的是,我沒有任何資訊日誌,因為沒有人寫過,否則我會包括這些。
有人提出的一個原因是我們的數據庫太忙而無法將數據正確寫入磁碟,這導致了問題,高水平的高速記憶體表明這可能是這種情況。但是我不確定這一點,因為雖然記憶體很高,但我們根本沒有使用交換(
free
下面的輸出)。$ free -m total used free shared buffers cached Mem: 2041 1879 162 0 62 1599 -/+ buffers/cache: 216 1825 Swap: 471 0 471
故障發生後有什麼方法可以診斷嗎?MySQL 看起來像一個可能的候選者嗎?
如果沒有,如果再次發生這種情況,我將來應該採取任何步驟嗎?
首先檢查您的伺服器:
- 你在使用 ECC 記憶體嗎?
- 你在執行 RAID 嗎?您是否看到任何 RAID 卡錯誤?(dmesg 當時會顯示這些,但現在你重新啟動它們可能會失去)
高級記憶體是可取的,並且不應該以任何方式破壞您的文件系統。
每當您有不干淨的解除安裝時,孤立的 inode 是良性的並且完全正常。它們只是已被刪除的文件,但在重新以只讀方式重新安裝 fs 時仍處於打開狀態。它們不是原因,而只是一種症狀。您需要檢查核心日誌以查看導致只讀重新掛載的實際問題。您可能還需要執行一些 SMART 診斷程序以確保驅動器沒有出現故障。