PowerFlex 3.X: Kernelpanik i SDC scini (API_kvec_get_base) på RHEL 8.10
Oversigt: Værter, der kører en ældre PowerFlex SDC-driver, genstarter uventet med en kernepanik, der peger inde i scini-modulet (funktion API_kvec_get_base) Panikken opstår under OS-opstart, hvilket forhindrer SDC i at fuldføre initialiseringen. ...
Symptomer
- Indledende fejl - uventet genstart rapporteret af overvågning.
Mar 8 00:07:45 db-server-007 systemd: Started Delayed Shutdown Service.
Mar 8 00:07:45 db-server-007 systemd-shutdownd: Shutting down at Sat 2025-03-08 00:07:45 EST (reboot)...
Mar 8 00:07:45 db-server-007 multipathd: mpatha: stop event checker thread (140737354106624)
Mar 8 00:07:45 db-server-007 multipathd: --------shut down-------
Mar 8 00:07:46 db-server-007 systemd: Stopped dnf makecache --timer.
Mar 8 00:07:46 db-server-007 systemd: Stopping Xinetd A Powerful Replacement For Inetd...
- Værten begynder opstarten og går ned, før brugerområdet starter.
Mar 8 00:34:13 db-server-007 kernel: Linux version 4.18.0-553.33.1.el8_10.x86_64 (user8@customer-domain03.com) ...
Mar 8 00:34:13 db-server-007 kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-553.33.1.el8_10.x86_64 root=/dev/mapper/rootvg-lv_root ro spectre_v2=retpoline rd.lvm.lv=rootvg/lv_root rd.lvm.lv=rootvg/lv_swap1 nomodeset rhgb quiet crashkernel=auto transparent_hugepage=never
Mar 8 00:34:13 db-server-007 kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
- VMcore-analyse fremhæver scini som det fejlbehæftede modul.
crash> log
[..]
[173004.667762] BUG: unable to handle kernel paging request at ffff98cd0b4c7ff0
[173004.667871] PGD 1803fdfb067 P4D 1803fdfb067 PUD 10707453063 PMD 101e768c063 PTE 800ffef8f4b38060
[173004.667991] Oops: 0000 1 SMP NOPTI
[173004.668081] CPU: 156 PID: 10169 Comm: net_sched Kdump: loaded Tainted: P OE -------- - - 4.18.0-553.33.1.el8_10.x86_64 #1
[173004.668204] Hardware name: HPE ProLiant DL580 Gen10/ProLiant DL580 Gen10, BIOS U34 11/24/2021
[173004.668319] RIP: 0010:API_kvec_get_base+0x5/0x10 [scini]
Resultater
• Værten genstarter uden varsel, hvilket forårsager tjenesteafbrydelse, indtil maskinen afslutter den automatiske genstartscyklus.
• Enhver ansøgning I/O under flyvning afbrydes; PowerFlex forhindrer datatab, men databaser eller programmer kan kræve genoprettelse efter nedbrud ved genstart.
• Gentagne panikker kan forårsage langvarig nedetid, hvis driveren fortsætter med at indlæse en inkompatibel binær fil efter hver genstart.
Årsag
Under SDC-koden, refaktor for 3.6.3 selvkompileringsfunktionen, blev der introduceret en fejl i koden, der forbereder data til afsendelse på en stikkontakt. På grund af denne fejl kan der under visse betingelser (status for socketbufferne og hukommelseslayoutet generelt) forekomme en ugyldig hukommelseslæsning, hvilket resulterer i den givne kernepanik.
Løsning
- Kontroller aktuelle kerne- og SDC-versioner:
uname -r rpm -qa |grep -i SDC- Mulighed A: Opgrader SDC-pakken til en version, der som udgangspunkt understøtter den nye kerne (3.6.5 eller senere anbefales).
- Mulighed B: Kopiler det eksisterende SDC-modul igen til den kørende kerne (brug når en øjeblikkelig driveropgradering ikke er mulig):PowerFlex: On-Demand-kompilering af PowerFlex SDC-drivere på Linux
- Genstart én gang for at validere stabiliteten:
sudo reboot - Efter genstart bør der ikke være yderligere panik
Påvirkede versioner:
PowerFlex Core - 3.6.4 eller lavere
Løst i version:
PowerFlex Core - 3.6.6 og nyere