I och med att stöd för watchdog-maskinvaraingår kan systemd nu utföra funktionen hos en watchdog-daemon Linux. På Dell PowerEdge-system kan den här maskinvaran antingen vara kretsuppsättningens watchdog-timer inbyggd i plattformens kretsuppsättning (som Intel ICH9) eller Dell iDRAC:s IPMI-kompatibla BMC watchdog-timer.
Dell iDRAC tillhandahåller automatiserad systemåterställning som, utöver återställning från operativsystemets låsning, kan ta en skärmbild för analys senare. Det var nödvändigt att ytterligare programvara i operativsystemet aktiverade detta. Med nyare distributioner med stöd för systemd fungerar den här funktionen med programvara som finns i en distribution, vilket eliminerar behovet av tilläggsprogramvara.
Det var dock möjligt att använda den övervakningsdamonen på Linux, men det fanns en sannolikhet att själva daemon kunde låsa sig medan resten av systemet var i drift. systemd fungerar som programvaruövervakningsenhet för alla systemtjänster och BMC-övervakningstimern fungerar som maskinvaruövervakningsenhet för själva systemd. Så om systemd är icke-allokerat finns det en god risk att systemet blir oanvändbart i allmänhet. Så vi har nu en mer tillförlitlig metod för alla systemtjänster. Hanteraren för tjänsterna (systemd) som ska "inventeras" av BMC:s övervakningstimer.
Limmet mellan systemd och Dell iDRAC:s BMC watchdog är den ipmi_watchdog kärnmodulen, som ger Linux watchdog API-åtkomst till BMC watchdog med /dev/watchdog. Systemd använder det här gränssnittet för att starta watchdog med jämna mellanrum.
Konfigurera systemet med ipmi_watchdog
Systemd kan konfigureras för att använda iDRAC BMC Watchdog med dessa steg (på Fedora 19):
- Eftersom systemet har två watchdog-timers (kretsuppsättning och BMC) kan vi använda någon av dem. I det här exemplet inaktiverar vi chipset watchdog. Chipset watchdog kan avaktiveras genom att ställa in alternativet "operating system Watchdog Timer" i system-BIOS på "Disabled" (inaktiverad) (standard).
- Kom fram till ett timeoutvärde för övervakningsenheten, till exempel 180 sekunder.
- Aktivera ipmi_watchdog kärnmodul att läsas in vid systemstart med timeouten ovan:
- Metod 1: Skapa /etc/modules-load.d/ipmi_watchdog med följande innehåll
- Alternativ ipmi_watchdog timeout = 180
- Neka lista iTCO_wdt # valfritt. Om kretsuppsättningsövervakningsenheten inte är inaktiverad i BIOS-inställningarna.
- Metod 2:
- Installera OpenIPMI rpm
- $ sudo yum installera OpenIPMI
- Ställ in IPMI_WATCHDOG=yes och IPMI_WATCHDOG_OPTIONS med timeout i /etc/sysconfig/ipmi.
- Aktivera att ipmi-tjänsten startar automatiskt
- $ sudo systemctl aktiverar ipmi
- Aktivera systemd-övervakningsenheten:
- Uncomment och ställ in RuntimeWatchwatchsec=180 i /etc/systemd/system.conf
- Starta om systemd
- # systemctl daemon-reexec
Testa om det fungerar:
- Kontrollera om watchdog är aktiv
- $ sudo journalctl |grep -i "hardware watchdog" # ska visa att systemd är konfigurerat för att använda IPMI Watchdog.
- $ sudo ipmitool mc watchdog get # kontrollera om "Watchdog Timer Is: Started/Running."
- Testa genom att simulera en kärnkrasch (gör inte detta på ett produktionssystem). Kontrollera att kdump är avaktiverad.
- $ sudo echo c > /proc/sysrq-trigger
- Efter systemåterställning kontrollerar du att en bild av felskärmen är tillgänglig i iDRAC
- Logga in på iDRAC-webbgränssnittet
- Översikt -> Server -> Felsökning -> senaste kraschskärmen.