Utilizzo di Systemd per il ripristino automatico del sistema
Summary: Con l'inclusione del supporto per l'hardware watchdog, systemd può ora svolgere la funzione di daemon watchdog Linux sui sistemi Dell PowerEdge.
Instructions
Con l'inclusione
del supporto per l'hardware watchdog
, systemd
può ora svolgere la funzione di demone watchdog Linux. Sui sistemi Dell PowerEdge, questo hardware può essere il timer watchdog del chipset integrato nel chipset della piattaforma (come Intel ICH9) o il timer watchdog BMC conforme a IPMI di Dell iDRAC.
Dell iDRAC fornisce il ripristino automatico del sistema che, oltre a eseguire il ripristino dai blocchi del sistema operativo, può acquisire uno screenshot da analizzare in un secondo momento. Per abilitare questa funzionalità, è stato necessario sul sistema operativo. Con le distribuzioni più recenti che supportano systemd, questa funzionalità funziona con il software disponibile in modo nativo in una distribuzione, eliminando la necessità di software aggiuntivo.
Era comunque possibile utilizzare il demone watchdogd su Linux, ma c'era una probabilità in cui il demone stesso potesse bloccarsi mentre il resto del sistema era operativo. systemd funge da watchdog del software per tutti i servizi di sistema e il timer watchdog BMC funge da watchdog hardware per systemd stesso. Quindi, se systemd non è operativo, c'è una buona probabilità che il sistema sia inutilizzabile in generale. Quindi ora abbiamo un metodo più affidabile per tutti i servizi di sistema, il gestore dei servizi (systemd) per essere "sorvegliato" dal timer watchdog del BMC.
Il collante tra systemd e il watchdog BMC di Dell iDRAC è il modulo kernel ipmi_watchdog, che fornisce l'accesso API
watchdog Linux al watchdog BMC utilizzando /dev/watchdog. Systemd usa questa interfaccia per kickare periodicamente il watchdog.
Configurazione di systemd con ipmi_watchdog
Systemd può essere configurato per usare il watchdog iDRAC BMC con questi passaggi (su Fedora 19):
- Poiché il sistema dispone di due timer watchdog (chipset e BMC), è possibile utilizzarne uno entrambi. In questo esempio, il watchdog del chipset viene disabilitato. È possibile disabilitare il watchdog del chipset impostando l'opzione "operating system Watchdog Timer" nel BIOS di sistema su "Disabled" (impostazione predefinita).
- Arrivare a un valore di timeout per il watchdog, ad esempio 180 secondi.
- Abilitare il caricamento del modulo del kernel ipmi_watchdog all'avvio del sistema con il timeout di cui sopra:
- Metodo 1. Creare /etc/modules-load.d/ipmi_watchdog con il seguente contenuto
- Opzioni ipmi_watchdog timeout=180
- Elenco Nega iTCO_wdt # Opzionale. Se il watchdog del chipset non è disabilitato nella configurazione del BIOS.
- Metodo 2.
- Installazione dell rpm OpenIPMI
- $ sudo yum install OpenIPMI
- Impostare IPMI_WATCHDOG=yes e IPMI_WATCHDOG_OPTIONS con il timeout in /etc/sysconfig/ipmi.
- Abilitare l'avvio automatico del servizio ipmi
- $ sudo systemctl abilita ipmi
- Installazione dell rpm OpenIPMI
- Abilitare il watchdog di systemd:
- Rimuovere il commento e impostare RuntimeWatchdogSec=180 in /etc/systemd/system.conf
- Riavviare systemd
- # systemctl daemon-reexec
Verificare se tutto funziona:
- Verificare che il watchdog sia attivo
- $ sudo journalctl |grep -i 'hardware watchdog' # dovrebbe mostrare che systemd è impostato per usare il watchdog IPMI.
- $ sudo ipmitool mc watchdog get # controlla se il "Watchdog Timer è: Avviato/In esecuzione."
- Eseguire un test simulando un errore grave del kernel (non eseguire questa operazione su un sistema di produzione). Assicurarsi che kdump sia disabilitato.
- $ sudo echo c > /proc/sysrq-trigger
- Dopo il ripristino del sistema, verificare che in iDRAC sia disponibile un'immagine della schermata di errore
- Accedere all'interfaccia utente web di iDRAC
- Panoramica -> Server -> Risoluzione dei problemi -> Ultima schermata di arresto anomalo