[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problema kernel panic durante shutdown o reboot con raid



Buongiorno Francesco,

Il 02/04/25 19:21, Francesco Potortì ha scritto:
Qualche idea di seguito.  Le idee non vanno eseguite nell'ordine, fai prima quella che ti ispira di più

# Idea 1

Il sospetto è che questo avvenga durante un check automatico.  Quindi disabilita i check prima di fermare la macchina:
# /usr/share/mdadm/checkarray -sa
# /usr/share/mdadm/checkarray -x --all
# /usr/share/mdadm/checkarray -sa
# halt

Il primo di dà lo stato attaule dei check.  Il secondo dovrebbe cancellare un eventuale check in programma.  Il terzo dovrebbe darti la certezza che non ne stanno girando al momento.  Uso il condizionale perché penso di aver capito come funziona la coda di comandi di mdadm, ma non ne ho completa certezza.

Se non cambia nulla, forse il problema non è quello.


Ho eseguito un controllo del sistema e non sono riuscito a trovare lo script checkarray richiamato da un service di systemd/timer/script/cronjob. Ho comunque fatto una prova, lanciando il checkarray praticamente avvia un check sui device mdadm (una specie di resync) ma riavviando durante il check non ricevo kernel panic. Invece subito dopo l'installazione fresca di una debian 12.10 senza nessun device md in sync/check (ho controllato prima di avviare lo shutdown) e il kernel panic è avvenuto.


# Idea 2

Siccome con la testing è peggio, proverei ad andare sia aventi che indietro.  Installa una unstable.  Nonostante il nome, generalmente funziona.  E comunque stai facendo una prova, non può succedfere niente di grave.  Poi prova con la oldstable.  E con la oldoldstable.

Dopo queste prove, se cambia qualcosa, bisognerebbe capire se il problema è nel pacchetto linux-image o nel pacchetto mdadm.



Ora le prove le sto facendo sulla Z890-F e usare la oldastable/oldoldstable avrei problemi con driver. Ora sono con una stable 12.10 + kernel backports

# Idea 3

Ora mdadm non usa cron, ma systemd.  Questo probabilmente non è vero con la oldstable, e molto probabilmente non è vero con la oldoldstable.

Nel mio sistema vedo questi:

mdadm: /usr/lib/systemd/system/mdadm-grow-continue@.service
mdadm: /usr/lib/systemd/system/mdadm-last-resort@.service
mdadm: /usr/lib/systemd/system/mdadm-last-resort@.timer
mdadm: /usr/lib/systemd/system/mdcheck_continue.service
mdadm: /usr/lib/systemd/system/mdcheck_continue.timer
mdadm: /usr/lib/systemd/system/mdcheck_start.service
mdadm: /usr/lib/systemd/system/mdcheck_start.timer
mdadm: /usr/lib/systemd/system/mdmon@.service
mdadm: /usr/lib/systemd/system/mdmonitor-oneshot.service
mdadm: /usr/lib/systemd/system/mdmonitor-oneshot.timer
mdadm: /usr/lib/systemd/system/mdmonitor.service
mdadm: /usr/lib/systemd/system-shutdown/mdadm.shutdown

Cerca di capire cosa fanno.  In particolare, l'ultimo contiene un comando che viene dato allo shutdown.  Magari prova a disabilitarlo.

Ho anche io tutti gli stessi unit/timer (ps: con quale comando hai ottenuto questa lista?). Li ho visionati uno per uno, e ho notato che i check sono avviati durante ore notturne. mdadm.shutdown fa qualcosa con l'initramfs che non ho capito bene.

Ho fatto un'altra prova. Ho reinstallato la 12.10 cancellando la partition table dei device per rootfs/swap/EFI (pensando che potesse esserci qualche problema con i device creati con fedora) ma nulla. Primo riavvio primo kernel panic.

A questo punto mi viene il dubbio che ci sia una qualche incompatibilità con i device M.2 (NVME & SATA) che si manifestano quando sono in RAID. Non so che pensare.

Tornando agli esperimenti con la testing (13) ho lanciato qualche repair su qualche device MD e se provo a dare il reboot, systemd mi blocca dicendomi che l'operazione è in corso (ci sta un lock) e che per forzare lo shutdown devo lanciare un altro comando. Quindi per i problemi relativi ai panic di testing a questo punto escluderei che accadano durante un resync.

NOTA: tempo fa (2022) se non ricordo male avevo un problema simile con un'AlmaLinux 9.1, ovvero al reboot/shutdown della macchina rimaneva appesa con un messaggio che diceva:

"Not all MD devices stopped, 1 left
Stopping MD Devices
Stoppind /dev/md125(9:125)"

Feci notare il problema a quelli di Almalinux e altri riportavano il problema. Se non ricordo male avevo aperto un bug su bugzilla di rhel (che non riesco a trovare). Cmq con la release della 9.2 il bug era sparito. Forse è lo stesso bug ma con il kernel 6.1/6.12 viene gestito in maniera diversa generando un panic? Non so che pensare.

Grazie comunque per il tuo aiuto.

Saluti, Alessandro.


Reply to: