Introduzione
In questo documento viene descritto come risolvere i problemi di riavvio delle macchine virtuali CPS (Cisco Policy Suite) causati da un arresto anomalo del kernel CentOS.
Problema
Ogni VM CPS (qns, lb, pcrfclient e così via) viene eseguita in base a CentOS. Queste VM possono essere riavviate a causa di un problema sul lato CentOS piuttosto che sul lato applicazione CPS. Se si verifica un riavvio a causa di un problema con il kernel CentOS, la causa principale non può essere individuata anche se si esamina il file capture_env di CPS. I log di capture_env non contengono alcun log degli errori dalla macchina virtuale riavviata durante il riavvio. In questi casi, i registri sotto /var/crash possono essere utilizzati per l'indagine.
Soluzione
CentOS può generare un dump di arresto anomalo del kernel quando si verifica un problema con il kernel. Per impostazione predefinita, CPS è configurato per raccogliere i dump di arresto anomalo del kernel per tutte le VM.
Per controllare lo stato, usare questo comando.
[root@dc1-qns01 ~]# systemctl status kdump.service
● kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2023-01-10 07:29:35 UTC; 4 months 4 days ago
Main PID: 1023 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 75300)
Memory: 0
CGroup: /system.slice/kdump.service
Se si verifica un arresto anomalo del kernel con kdump.service abilitato, in /var/crash viene generata una directory denominata "address-YYYY-MM-DD-HH:MM:SS". CentOS genera 2 file in questa directory.
[root@dc1-lb02 127.0.0.1-2022-10-18-06:18:41]# pwd
/var/crash/127.0.0.1-2022-10-18-06:18:41
[root@dc1-lb02 127.0.0.1-2022-10-18-06:18:41]# ls -rtl
total 161436
-rw-r--r-- 1 root root 89787 Oct 18 2022 vmcore-dmesg.txt
-rw------- 1 root root 165215218 Oct 18 2022 vmcore
- vmcore:
File che memorizza il contenuto della memoria del kernel come file binario. L'analisi richiede strumenti quali kernel-debuginfo e crash.
- vmcore-dmesg.txt:
file di testo dmesg in caso di arresto anomalo.
Ad esempio, nel log sul lato CPS, i log degli errori immediatamente prima del riavvio non sono stati confermati dai log della VM riavviata. L'analisi è stata eseguita dal lato VMWare, il riavvio è stato causato da questo log degli errori, causato dal sistema operativo guest.
The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.
Controllare /var/crash della macchina virtuale riavviata, se esiste una directory corrispondente all'ora di riavvio. È risultato che il riavvio era dovuto a un problema del kernel sul lato CentOS, e siamo stati in grado di procedere con ulteriori indagini.