Uso de Systemd para la recuperación automatizada del sistema
Resumen: Con la inclusión de soporte para hardware de vigilancia, systemd ahora puede realizar la función de un demonio de vigilancia en Linux en sistemas Dell PowerEdge.
Instrucciones
Con la inclusión
de soporte para hardware de vigilancia
, systemd
ahora puede realizar la función de un demonio de vigilancia en Linux. En los sistemas Dell PowerEdge, este hardware podría ser el temporizador de vigilancia de chipset integrado en el chipset de la plataforma (como Intel ICH9) o el temporizador de vigilancia BMC compatible con IPMI de Dell iDRAC.
Dell iDRAC proporciona una recuperación automatizada del sistema que, además de recuperarse de bloqueos del sistema operativo, permite tomar una captura de pantalla para analizarla posteriormente. Era necesario en el sistema operativo para habilitar esto. Con distribuciones más recientes compatibles con systemd, esta característica funciona con software disponible de forma nativa en una distribución, lo que elimina la necesidad de software complementario.
Sin embargo, era posible utilizar el demonio watchdogd en Linux, pero existía la probabilidad de que el propio demonio se bloqueara mientras el resto del sistema estaba operativo. systemd actúa como vigilante de software para todos los servicios del sistema y el temporizador de vigilancia de BMC actúa como vigilante de hardware para el propio systemd. Por lo tanto, si systemd no está operativo, es muy probable que el sistema no se pueda utilizar en general. Así que ahora tenemos un método más confiable para todos los servicios del sistema, el administrador de los servicios (systemd) para ser "vigilado" por el temporizador de vigilancia de BMC.
El vínculo entre systemd y el vigilante de BMC de Dell iDRAC es el módulo de kernel de ipmi_watchdog, que proporciona acceso a la API
de vigilancia de Linux al vigilante de BMC mediante /dev/watchdog. Systemd utiliza esta interfaz para expulsar el vigilante periódicamente.
Configuración de systemd con ipmi_watchdog
Systemd se puede configurar para usar el vigilante BMC de iDRAC con estos pasos (en Fedora 19):
- Dado que el sistema tiene dos temporizadores de vigilancia (chipset y BMC), podemos usar cualquiera de ellos. En este ejemplo, deshabilitamos la vigilancia del chipset. La vigilancia del chipset se puede deshabilitar configurando la opción "Temporizador de vigilancia del sistema operativo" en "Deshabilitado" (valor predeterminado) en el BIOS del sistema.
- Llegar a un valor de tiempo de espera agotado para el vigilante, por ejemplo, 180 segundos.
- Habilite el módulo de kernel de ipmi_watchdog para que se cargue al iniciar el sistema con el tiempo de espera agotado anterior:
- Método 1: Cree /etc/modules-load.d/ipmi_watchdog con el siguiente contenido
- Opciones ipmi_watchdog tiempo de espera = 180
- Lista de denegación iTCO_wdt # Opcional. Si la vigilancia del chipset no está deshabilitada en la configuración del BIOS.
- Método 2:
- Instale OpenIPMI rpm
- $ sudo yum install OpenIPMI
- Configure IPMI_WATCHDOG=yes y IPMI_WATCHDOG_OPTIONS con el tiempo de espera agotado en /etc/sysconfig/ipmi.
- Habilitar el servicio IPMI para que se inicie automáticamente
- $ sudo systemctl enable ipmi
- Instale OpenIPMI rpm
- Habilite la vigilancia de systemd:
- Quite la marca de comentario y establezca RuntimeWatchdogSec=180 en /etc/systemd/system.conf
- Reiniciar systemd
- # systemctl demonio-reexec
Pruebe si esto funciona:
- Compruebe si el vigilante está activo
- $ sudo journalctl |grep -i 'hardware watchdog' # debería mostrar que systemd está configurado para usar IPMI watchdog.
- $ sudo ipmitool mc watchdog get # comprobar si el "temporizador de vigilancia es: Iniciado/en ejecución".
- Pruebe simulando un estado de pánico del kernel (no lo haga en un sistema de producción). Asegúrese de que kdump esté deshabilitado.
- $ sudo echo c > /proc/sysrq-trigger
- Después del restablecimiento del sistema, verifique que haya una imagen de la pantalla de falla disponible en iDRAC
- Iniciar sesión en la interfaz de usuario web de iDRAC
- Visión general -> Servidor -> Solución de problemas -> Pantalla de último bloqueo.