Dell Unity: OE 5.5를 실행하는 Unity에서 NFSv4.2를 사용하여 마운트된 Linux 호스트로 인해 SP 패닉이 발생함
Summary: Unity 5.5에서는 NFSv3 또는 NFSv4 파일 공유 프로토콜을 사용하는 NFS(Network File System) 마운트를 사용하여 FS(File System) 액세스를 제공할 수 있습니다. 이 작업은 일반적으로 특정 마운팅 매개변수가 있는 LUN(Logical Unity Number) 및 NFS 데이터 저장소에 대해 수행된 다음 다양한 호스트 그룹에 대해 스크립팅됩니다. NFSv4.2를 사용하여 파일 공유를 마운트할 때 마운트 지점에 대한 디렉토리가 생성됩니다. sec_label(Directory Security Label) 매개변수에 데이터가 할당되지 않은 경우 Unity SP(Service Processor)에 패닉이 발생하고 예기치 않게 재부팅될 수 있습니다. ...
Symptoms
Unity OE 5.5에서는 NFS 마운트 프로세스 중에 사용되는 모드 및 sec_label 매개변수와 함께 NFSv4.2에 대한 지원이 추가되었습니다.
- 마운트 지점에 대한 디렉토리를 생성하기 위한 특정 NFSv4.2 스크립트 마운트 시나리오에서 sec_label 할당된 데이터가 없는 경우 Unity SP(System Processor)에 SIGSEGV 패닉이 발생하고 예기치 않게 재부팅될 수 있습니다.
- 이름 변경과 디렉토리 목록 간의 경합 조건으로 인해 하나 또는 두 SP에 패닉이 발생할 수 있습니다. 이로 인해 시스템이 중단되고 하나 또는 두 SP가 모두 복구 모드로 나타날 수 있습니다.
Unity 로그의 패닉 출력 샘플:
B 05/14/25 19:01:09 CSX RT: panic requested at: <file-unknown>:0 (thread: 139634334762752 aka 139634334762752) [PID:7138 TID:9862 CORE:1 [csx_ic_std.x] [nfs09_007] [05/14/2025 19:01:09 UTC]] (panic action:DEFAULT expr:<no-expr> flags:-) [info:0] B 05/14/25 19:01:09 CSX RT: Fatal: Process received SIGSEGV: B 05/14/25 19:01:09 SIGSEGV(SEGV_MAPERR)@0x20 B 05/14/25 19:01:09 CSX RT: panic backtrace: [26ec0700] 00007f159e87ab34 <csx_rt_proc_request_backtrace +0x00000154> (sp=00007f159eb45440) proc=7f159e87a9e0-7f159e87b01d csx_urt.so B 05/14/25 19:01:09 CSX RT: panic backtrace: [26ec0700] 00007f159e846a27 <csx_rt_assert_request_panic +0x000000b7> (sp=00007f159eb46380) proc=7f159e846970-7f159e846a3b csx_urt.so B 05/14/25 19:01:09 CSX RT: panic backtrace: [26ec0700] 00007f159e878727 <csx_rt_proc_int_handle_fatal_signal +0x000002d7> (sp=00007f159eb464a0) proc=7f159e878450-7f159e8788f2 csx_urt.so B 05/14/25 19:01:09 CSX RT: panic backtrace: [26ec0700] 00007f159e87d543 <csx_rt_proc_int_handle_sigsegv +0x000001b3> (sp=00007f159eb46520) proc=7f159e87d390-7f159e87d597 csx_urt.so B 05/14/25 19:01:09 CSX RT: panic backtrace: [26ec0700] 00007f1545d20ea9 <_ZN13nfs4_attrhold17nfs4SetattrVerifyEjRPj+0x00000049> (sp=00007eff26ebed10) proc=7f1545d20e60-7f1545d20f90 cdx.so B 05/14/25 19:01:09 CSX RT: panic backtrace: [26ec0700] 00007f1545d217be <_Z13nfs4_secLabeliiP14nfs4_attr_infoP8nfs4_ctxP13nfs4_attrholdP15File_NamingNodeP17Access_Credential+0x0000075e> (sp=00007eff26ebed60) proc=7f1545d21060-7f1545d21823 cdx.so
참고: NFSv4.2 마운트를 시도할 때마다 패닉이 발생하는 것은 아니며 일부는 문제 없이 작동합니다.
SP 패닉이 발생하면 Dell 지원 에 문의하고 이 문서를 참조하여 시스템 상태를 조사하십시오. 지원 팀의 안내 없이 SP 문제 해결을 시도하지 마십시오.
Cause
현재 Unity OE 5.5 코드는 데이터가 할당되지 않은 경우 sec_label 속성을 처리할 수 없습니다. 따라서 SP가 null 메모리 포인터에 액세스하여 SIGSEGV 패닉이 발생합니다. 또한 5.5 코드에서 디렉터리 목록과 이름 바꾸기 작업 간에 경합 상태가 발생하여 차단된 스레드 및 Watchdog 시간 초과 패닉이 발생할 수 있습니다.
Resolution
수정:
이 경합 상태는 Dell Unity OE 버전 5.5.2에서 해결되었습니다. 이 문제를 해결하려면 이 버전으로 업그레이드하십시오.
빈 sec_label 문제는 엔지니어링 팀에서 아직 해결하고 있습니다. 추가 업데이트는 이 기술 자료 문서를 참조하십시오. 그동안 아래 해결 방법으로 빈 sec_label 문제를 해결할 수 있습니다.
해결 방법:
다음 문서를 사용하여 NFSv4.2 보안 레이블을 비활성화합니다.
- Dell Unity: Unity OE 5.5에서 Security Label over NFS를 비활성화하는 방법(사용자 수정 가능) (이 문서를 보려면 등록된 Dell 지원 사용자로 로그인해야 함)
이 문서에서는 이러한 두 문제를 모두 해결할 수 있는 다음과 같은 해결 방법도 보여줍니다.
- NFSv3, NFSv4 또는 NFSv4.1만 사용하여 Linux 서버를 마운트합니다.
- 지원되는 최대 NFSv4 버전을 4.1로 다운그레이드하는 매개변수
Additional Information
모드 및 sec_label 정보를 제공하는 Linux 호스트의 NFSv4.2 마운트 지점 디렉토리 "create request"는 다음과 같은 방식으로 요청에 영향을 줍니다.
- 모드: 이 매개변수는 새 디렉토리에 대한 사용 권한을 지정합니다. 소유자, 그룹 및 기타 사용자에 대한 읽기, 쓰기 및 실행 권한을 정의합니다. 예를 들어 0755 모드는 소유자에게 읽기, 쓰기 및 실행 권한을 부여하고 그룹 및 다른 사용자에게 읽기 및 실행 권한을 부여합니다. 이렇게 하면 디렉토리가 올바른 액세스 제어를 사용하여 생성됩니다.
- Sec_label: 이 매개변수는 디렉토리에 보안 레이블을 적용하는 데 사용됩니다. Sec_labels MAC(Mandatory Access Control) 시스템의 일부로, 기존의 DAC(Discretionary Access Control)에 비해 더 세분화된 액세스 제어를 제공합니다. sec_label를 사용하여 디렉토리를 생성하면 NFS 서버는 이러한 레이블을 저장하고 검색하여 디렉토리가 지정된 보안 정책을 준수하도록 합니다.
이는 엄격한 보안 규정 준수가 필요한 환경에서 유용합니다.
이 문서에서는 SIGSEGV 메모리 패닉이 무엇인지 설명합니다. Dell Unity: 스토리지 프로세서에 SIGSEGV 원인으로 인한 패닉이 발생했습니다.