A menudo tenemos DIMM en nuestros servidores que funcionan mal con los siguientes errores en syslog:
7 de mayo 09:15:31 kernel nolcgi303: EDAC k8 MC0: error general del bus: procesador participante (respuesta del nodo local), tiempo de espera (sin tiempo de espera) tipo de transacción de memoria (lectura genérica), mem o I / o (acceso mem) , nivel de caché (genérico) 7 de mayo 09:15:31 kernel nolcgi303: MC0: CE página 0xa0, offset 0x40, grano 8, síndrome 0xb50d, fila 2, canal 0, etiqueta "": k8_edac 7 de mayo 09:15:31 kernel nolcgi303: MC0: CE - no hay información disponible: k8_edac Error Overflow set 7 de mayo 09:15:31 kernel nolcgi303: EDAC k8 MC0: código de error extendido: error ECC chipkill x4
Podemos usar el CD HP SmartStart para determinar qué DIMM tiene el error, pero eso requiere sacar el servidor de producción. ¿Hay una manera astuta de averiguar qué busto de DIMM mientras el servidor está activo? Todos nuestros servidores son hardware de HP con RHEL 5.
Respuestas:
Además de usar los códigos EDAC, puede usar las utilidades de CLI solo de HP para determinar esto mientras la máquina está en línea. Las versiones cli son mucho más livianas que las basadas en la web y no requieren que abras puertos o tengas un demonio corriendo constantemente.
hpasmcli le dará el cartucho y los números de módulo de los módulos fallidos. Un poco más rápido que analizar EDAC.
Ejemplo:
El estado cambiará para los módulos fallidos.
fuente
MC0, fila 2 y canal 0 son significativos. Intente reemplazar DIMMA1 en CPU0.
A modo de ejemplo, tuve que identificar un DIMM defectuoso en un servidor Linux con 16 ranuras DIMM completamente pobladas y dos CPU. Estos son los errores que vi en la consola:
El DIMM incorrecto en mi servidor era DIMMA0 en la CPU1.
EDAC significa Detección y corrección de errores y está documentado en http://www.kernel.org/doc/Documentation/edac.txt y /usr/share/doc/kernel-doc-2.6*/Documentation/drivers/edac/edac .txt en mi sistema (RHEL5). CE significa "errores corregibles" y, como lo indica la documentación, "los CE proporcionan indicaciones tempranas de que un DIMM está comenzando a fallar".
Volviendo a los errores EDAC anteriores que vi en la consola de mi servidor, MC1 (Controlador de memoria 1) significa CPU1, la fila 1 se conoce como csrow1 (Chip-Select Row 1) en la documentación de Linux EDAC, y el canal 0 significa el canal de memoria 0 Verifiqué la tabla en http://www.kernel.org/doc/Documentation/edac.txt para ver que csrow1 y Channel 0 corresponden a DIMM_A0 (DIMMA0 en mi sistema):
(Como otro ejemplo, si hubiera visto errores en MC0, csrow4 y Channel 1, habría reemplazado DIMMB2 en CPU0).
Por supuesto, en realidad hay dos ranuras DIMM llamadas DIMMA0 en mi servidor (una para cada CPU), pero nuevamente el error MC1 corresponde a la CPU1, que aparece en "Localizador de bancos" en la salida de dmidecode:
(En mi estación de trabajo, dmidecode realmente muestra el número de pieza y el número de serie de mis DIMM, lo cual es muy útil).
Además de buscar errores en la consola y en los registros, también puede ver los errores por MC / CPU, fila / csrow y canal al examinar / sys / devices / system / edac. En mi caso, los errores fueron solo en MC1, csrow1, canal 0:
Espero que este ejemplo sea útil para cualquiera que intente identificar un DIMM incorrecto basado en errores de EDAC. Para obtener más información, le recomiendo leer toda la documentación de Linux EDAC en http://www.kernel.org/doc/Documentation/edac.txt
fuente
MC0: UE row 0, channel-a= 2 channel-b= 3
.