IPMIからどのメモリが故障しているか判別する
自宅鯖のjournalログを見ていたら大量にECCメモリのエラー出ていました。
どのメモリが死んでるか判別するため、IPMIで見てみました。
UbuntuでIPMIを確認するにはまず/etc/modulesにモジュール読み込みます
1 2 | ipmi_devintf ipmi_si |
IPMItool
1 | $ sudo apt install ipmitool |
ログ確認
1 | $ sudo ipmitool sel list |
こんな感じに大量にメモリーエラーが出ていました。
ここから故障してるメモリを特定していきます。
イベントの詳細を確認
XXにはさっき出力されたメモリエラーの行の左端の番号を入力します。
1 | $ sudo ipmitool sel get XX |
Event Data (RAW)の値に注目します。
この値をバイナリに変換し、10進数に変換するとどのメモリのエラーか判別できます。
Windowsの電卓でできるみたいなので使ってみました。
右端の4ビットがメモリ、その一つ左の4ビットがCPUソケットを表すようです。
メモリの値
0000だと1番目、0001だと2番目、0010だと3番目のメモリ…という感じです。
私の使ってるマザーボードでは、DIMM_A1 DIMM_A2 DIMM_B1 DIMM_B2とあり、0001つまり2番目と書いていたので、DIMM_A2に刺さってるメモリが故障していることがわかりました。
CPUの値
複数個とかCPU積んでる場合、0000だと1番目のCPUのレーンのメモリ、0001だと2番目…という感じになることがわかります。
私のマザーボードは1個しかCPU積んでないので0000という値になってます。
最近のコメント