PowerScale: Dump di core NFS da una richiesta GETATTR NFSv4 con un descrittore di file non valido.
Summary: In rari casi, il processo NFS (Network File System) esegue continuamente core dump sui nodi a causa di una richiesta NFSv4 GETATTR con un descrittore di file non valido. Il problema è stato segnalato solo quando il flusso di lavoro dei client NFSv4 utilizza il sistema operativo Solaris. ...
Symptoms
Il core dump e il riavvio continui del processo NFS su più nodi PowerScale con la seguente traccia dello stack:
2025-12-12T09:50:12.851358-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: [kern_sig.c:4043](pid 6400="nfs")(tid=103190) Stack trace:
2025-12-12T09:50:12.851392-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: Stack: --------------------------------------------------
2025-12-12T09:50:12.851397-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:Nfs4AttrGatherAttrs+0x516
2025-12-12T09:50:12.851401-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1150544965.Nfs4FillAttr+0x736
2025-12-12T09:50:12.851404-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1209865017.NfsProtoNfs4ProcGetattr+0x515
2025-12-12T09:50:12.851408-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1357219149.NfsProtoNfs4ProcCompound+0x18a2
2025-12-12T09:50:12.851412-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1895683854.NfsProtoNfs4Dispatch+0xa31
2025-12-12T09:50:12.851415-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:NfsExecContextCallback+0x61
2025-12-12T09:50:12.851419-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/liblwsched.so.0:WorkSparkMain+0x4f
2025-12-12T09:50:12.851422-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: /usr/likewise/lib/liblwbase.so.0:SparkMain+0x142
2025-12-12T09:50:12.851426-08:00 <0.5> powerscale01-28(id28) /boot/kernel.amd64/kernel: --------------------------------------------------
2025-12-12T09:50:12.851429-08:00 <0.6> powerscale01-28(id28) /boot/kernel.amd64/kernel: pid 6400 (nfs), jid 0, uid 0: exited on signal 11 from pid 0 (unknown) (core dumped)
OR
2023-03-01T09:18:00.403811+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: [kern_sig.c:4026](pid 71661="nfs")(tid=102404) Stack trace:
2023-03-01T09:18:00.403856+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: Stack: --------------------------------------------------
2023-03-01T09:18:00.403868+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:Nfs4AttrGatherAttrs+0x50a
2023-03-01T09:18:00.403879+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1150544965.Nfs4FillAttr+0x700
2023-03-01T09:18:00.403889+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1209865017.NfsProtoNfs4ProcGetattr+0x5e7
2023-03-01T09:18:00.403900+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1357219149.NfsProtoNfs4ProcCompound+0x1721
2023-03-01T09:18:00.403911+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace1895683854.NfsProtoNfs4Dispatch+0x402
2023-03-01T09:18:00.403921+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/lw-svcm/nfs.so:$dtrace2038417139.NfsProtoNfs4CallDispatch+0xd0
2023-03-01T09:18:00.403932+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: /usr/likewise/lib/liblwbase.so.0:SparkMain+0x141
2023-03-01T09:18:00.403943+01:00 <0.5> powerscale01-5(id6) /boot/kernel.amd64/kernel: --------------------------------------------------
2023-03-01T09:18:00.403953+01:00 <0.6> powerscale01-5(id6) /boot/kernel.amd64/kernel: pid 71661 (nfs), uid 0: exited on signal 11 from pid 0 (unknown) (core dumped)
Cause
Questo problema si verifica quando un NFSv4 il client invia un NFSv4 GETATTR richiesta con un descrittore di file NULL o non valido.
In questo modo, il core dump e il riavvio del processo NFS sul nodo PowerScale gestendo un handle di file root in un secondo GETATTRMa pExecContext > pExport non è NULL.
Fino ad oggi, tutte le segnalazioni nel campo di questo problema hanno riguardato Solaris NFSv4 flusso di lavoro del client. Tuttavia, PowerScale Engineering può replicare il problema anche utilizzando altri sistemi operativi UNIX o Linux. È inoltre dimostrato che i client Solaris che utilizzano autos oppure automount potrebbe essere più incline a causare il problema.
È stato creato un nuovo difetto per risolvere il problema: PSCLDF-6198: Invalid Pointer pGattrCtx->pFilePosixInfo causes a core dump.
Resolution
Soluzione definitiva:
Eseguire l'aggiornamento a una versione di OneFS che includa la correzione. PowerScale Engineering sta lavorando a una patch per il problema. Non c'è un momento preciso per il rilascio.
Soluzione:
Fino a quando non viene applicata una soluzione permanente, è possibile utilizzare le seguenti soluzioni alternative per mitigare l'impatto:
- Identificare la
NFSv4client che causano il core dump di NFS.
Se necessario, il supporto è in grado di identificare l'indirizzo IP del client colpevole tramite i core dump generati automaticamente disponibili in /var/crash sui nodi interessati. Non produrre manualmente un core dump. C Support richiede il core dump generato dal problema riscontrato in /var/crash sui nodi interessati. Il supporto può creare un escalation di consultazione se è necessaria assistenza per identificare i client che causano il problema.
- Disabilitare l'opzione
autofs/automountsui client Solaris in quanto il supporto Dell Technologies ritiene che il problema sia correlato. Eseguire invece il mount manuale delle esportazioni sui client Solaris configurando/etc/vfstabsul client. - Una volta identificati i client che causano il problema, il supporto Dell Technologies può mitigare l'impatto sul resto dei computer NFS sospendendo 1-2 nodi nel pool NFS. I clienti possono quindi configurare i client Solaris problematici in modo che si connettano direttamente agli indirizzi IP (anziché utilizzare il nome di zona o l FQDN SmartConnect) dei nodi sospesi. Il supporto Dell Technologies può fornire assistenza per questa procedura, se necessario. Con il nodo sospeso, i client Solaris problematici possono ora connettersi ai nodi tramite l'indirizzo IP, mentre a qualsiasi NUOVA connessione all'FQDN da tutti gli altri client NFS non è ora impedito di connettersi a questo nodo. Tuttavia, sono interessate tutte le connessioni preesistenti al nodo. Anche in questo caso, l'obiettivo è quello di ridurre l'impatto fino a quando non viene applicata una correzione della patch, in quanto solo uno o due daemon NFS del nodo ora eseguono il core dump.
Procedura per sospendere un nodo da un pool di rete SmartConnect:
Utilizzando il nodo 26 come esempio:
# isi network pools sc-suspend-nodes groupnet0.NFS_Subnet.NFS_Pool 26 ***where 26 is lnn #26 ####
Ripetere la procedura per ogni pool interessato.
Per riassumere:
# isi network pools sc-resume-nodes groupnet0.NFS_Subnet.NFS_Pool 26 ***where 26 is lnn #26 ####
Ripetere la procedura per ogni pool interessato.