PowerScale: 잘못된 파일 설명자가 있는 NFSv4 GETATTR 요청의 NFS 코어 덤프
Summary: 드문 경우지만 잘못된 파일 설명자가 있는 NFSv4 GETATTR 요청으로 인해 NFS(Network File System) 프로세스가 노드에서 지속적으로 코어 덤프합니다. 이 문제는 NFSv4 클라이언트의 워크플로가 Solaris 운영 체제를 사용하는 경우에만 보고되었습니다.
Symptoms
NFS 프로세스는 다음 스택 추적을 사용하여 여러 PowerScale 노드에서 지속적으로 코어 덤프 및 재시작됩니다.
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
이 문제는 Solaris NFSv4 클라이언트가 NFSv4 GETATTR NULL 또는 잘못된 파일 설명자가 있는 요청입니다.
이로 인해 NFS 프로세스가 PowerScale 노드에서 코어 덤프 및 재시작되어 1초 만에 루트 파일 핸들을 처리합니다 GETATTR하지만 pExecContext > pExport NULL이 아닙니다.
현재까지 이 문제 현장의 모든 보고서에는 Solaris가 관련되어 있습니다 NFSv4 클라이언트 워크플로. 그러나 PowerScale 엔지니어링 팀은 다른 UNIX 또는 Linux 운영 체제를 사용하여 문제를 재현할 수도 있습니다. 증거에 따르면 Solaris 클라이언트는 autos 또는 automount 기능이 문제를 일으키기 더 쉬울 수 있습니다.
이 문제를 해결하기 위해 새로운 결함이 생성되었습니다. PSCLDF-6198: Invalid Pointer pGattrCtx->pFilePosixInfo causes a core dump.
Resolution
영구적 해결책:
수정 사항이 포함된 OneFS 버전으로 업그레이드합니다. PowerScale 엔지니어링 팀에서 이 문제에 대한 패치를 개발 중입니다. 정확한 출시 시기는 정해지지 않았습니다.
해결:
영구적인 해결책이 적용될 때까지 다음 해결 방법을 사용하여 영향을 완화할 수 있습니다.
- 다음 사항을 식별합니다.
NFSv4NFS가 코어 덤프를 일으키는 클라이언트입니다.
필요한 경우 지원 부서에서 자동 생성된 코어 덤프를 통해 범인 클라이언트 IP 주소를 식별할 수 있습니다. /var/crash 영향을 받는 노드에서. 코어 덤프를 수동으로 생성하지 마십시오. C 지원에는 다음에서 발견된 문제에서 생성된 코어 덤프가 필요합니다. /var/crash 영향을 받는 노드에서. 문제를 일으키는 클라이언트를 식별하는 데 도움이 필요한 경우 지원 부서에서 상담 에스컬레이션을 생성할 수 있습니다.
- 비활성화
autofs/automountDell Technologies 지원 부서에서 이 문제와 관련이 있다고 판단하므로 Solaris 클라이언트에서 작동합니다. 대신 다음을 구성하여 Solaris 클라이언트에서 내보내기를 수동으로 마운트합니다/etc/vfstab클라이언트에서. - Dell Technologies 지원에서 문제의 원인이 되는 클라이언트를 식별하면 NFS 풀에서 1-2개의 노드를 일시 중단하여 나머지 NFS 시스템에 미치는 영향을 완화할 수 있습니다. 그런 다음 문제가 있는 Solaris 클라이언트가 일시 중단된 노드의 IP 주소(SmartConnect 존 이름 또는 FQDN을 사용하는 대신)에 직접 연결되도록 구성할 수 있습니다. 필요한 경우 Dell Technologies 지원 부서에서 이 절차를 도와드릴 수 있습니다. 노드가 일시 중단되면 문제가 있는 Solaris 클라이언트는 이제 IP 주소로 노드에 연결할 수 있지만, 다른 모든 NFS 클라이언트에서 FQDN에 대한 새 연결은 이제 이 노드에 연결할 수 없습니다. 그러나 노드에 대한 기존 연결은 영향을 받습니다. 다시 말하지만, 목표는 패치 수정 사항이 적용될 때까지 하나 또는 두 노드의 NFS 데몬만 이제 코어 덤프된다는 점에서 영향을 줄이는 것입니다.
SmartConnect 네트워크 풀에서 노드를 일시 중단 하는 단계는 다음과 같습니다.
노드 26을 예로 사용:
# isi network pools sc-suspend-nodes groupnet0.NFS_Subnet.NFS_Pool 26 ***where 26 is lnn #26 ####
영향을 받는 각 풀에 대해 반복합니다.
다시 시작하려면:
# isi network pools sc-resume-nodes groupnet0.NFS_Subnet.NFS_Pool 26 ***where 26 is lnn #26 ####
영향을 받는 각 풀에 대해 반복합니다.