Isilon: Apache2의 오류로 인해 버전 8.0+ WebUI FD_SETSIZE 실패하고 상태 500 오류가 발생함

Summary: 노드와의 세션을 설정하기 위해 너무 많은 API 호출을 수행하는 클라이언트가 있는 경우 httpd 프로세스에 대한 스트림 파일 설명자 수가 1024개를 초과하여 isi_papi_d에 문제가 발생합니다.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms



아래와 같이 "서버 측 장애 상태 500" 이 발생하는 경우 WebUI에 액세스할 수 없습니다.    

kA23a0000000BSdCAM_3_0

/var/log/apache2/webui_httpd_error.log에 다음과 같은 오류가 표시됩니다.    
 
2019-05-16T09 : 12 : 26Z <18.3> 카나가와-1 httpd [3004] : [:오류] [PID 3004 : TID 34678361088] (20)디렉토리가 아님: [클라이언트 1X.8X.1XX.1X1:60831] FastCGI : 서버 "/ usr / sbin / isi_papi_d"에 연결하지 못했습니다 : 소켓 파일 설명자 (1185)가 FD_SETSIZE (1024)보다 크면 더 큰 FD_SETSIZE로 Apache를 다시 빌드해야 할 수 있습니다. 참조자: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:오류] [PID 3004 : TID 34678361088] [클라이언트 1X.8X.1XX.1X1:60831] FastCGI: 서버 "/usr/sbin/isi_papi_d"에서 수신된 불완전한 헤더(0바이트), 참조자: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:오류] [PID 3004 : TID 34678361088] [클라이언트 1X.8X.1XX.1X1:60831] FastCGI: GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1, referer: https://1X.1XX.1XX.1X8:8080/ 요청에 대한 ret 500으로 do_work()가 실패했습니다.

Cause

이 문제는 Apache2의 파일 설명자 수가 apache2에 설정된 하드 제한인 1024를 초과할 때 발생합니다. 

이는 아래 명령을 실행하여 확인할 수 있습니다.    
 
가나가와-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); 에코 $i 수행 ; procstat -f $i ; 수행

httpd 프로세스 중 하나에 1024를 초과하는 높은 FD 수가 있습니다(프로세스 출력의 마지막 줄의 열 3 참조).    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); 에코 $i ; procstat -f $i ; done
25136
PID COMM FD T V FLAGS REF OFFSET PRO NAME
25136 httpd text v r r------- - - - /usr/local/apache24/bin/httpd
25136 httpd cwd v d r------- - - - /
25136 httpd root v d r------- - - - /
25136 httpd 0 v c r------- 4 0 - /dev/null
25136 httpd 1 vc -w------ 4 0 - /dev/null
25136 httpd 2 vc -w------ 5 0 - /dev/null
25136 httpd 3 s - rw---n-- 4 0 TCP ::.8080 ::.0
25136 httpd 4 s - rw---n-- 4 0 TCP 0.0.0.0:8080 0.0.0.0:0
25136 httpd 5 s - rw---n-- 4 0 TCP ::.8081 ::.0
25136 httpd 6 s - rw---n-- 4 0 TCP 0.0.0.0.0:8081 0.0.0.0:0
25136 httpd 7 s - rw---n-- 4 0 TCP :: .8082 ::.0
25136 httpd 8초 - rw---n-- 4 0 TCP 0.0.0.0:8082 0.0.0.0:0
25136 httpd 9초 - rw---n-- 4 0 TCP ::.8083 ::.0
25136 httpd 10초 - rw---n-- 4 0 TCP 0.0.0.0:8083 0.0.0.0:0
25136 httpd 11 p - rw------ 5 0 - -
25136 httpd 12 p - rw------ 4 0 - -
25136 httpd 13 v r -w------ 4 0 - /var/apache2/run/mpm-accept-0.25132
25136 httpd 14 s - rw------ 4 0 UDD /var/run/log
25136 httpd 15 v r -w------ 1 0 - /var/apache2/run/proxy.25132
25136 httpd 16 p - rw------ 4 0 - -
25136 httpd 17 v r -w------ 2 0 - /var/apache2/run/proxy.25132
25136 httpd 18 p - rw------ 2 0 - -
25136 httpd 19 v r -w------ 2 0 - /var/apache2/run/rewrite-map.25132
25136 httpd 20 v r -w-----l 1 0 - /var/apache2/run/mpm-accept-0.25132
25136 httpd 21 v r -w------ 1 0 - /var/apache2/run/rewrite-map.25132
25136 httpd 22 k - rw------ 2 0 - -
25136 httpd 23 s - rw---n-- 1 0 TCP sendq:2146 127.0.0.1:8080 127.0.0.1:18720
25136 httpd 24 vc r------- 1 31968 - /dev/random
25136 httpd 25 ? - r------- 1 0 - -
25136 httpd 27 ? - r------- 1 0 - -
.
.
.
.
25136 httpd 1121 ? - 아르 자형------- 1 0 - -

UNIX 및 관련 컴퓨터 운영 체제에서 파일 설명자(FD,덜 자주 fildes)는 파일 또는 기타 입력/출력 리소스(예: 파이프 또는 네트워크 소켓)에 액세스하는 데 사용되는 추상 표시기입니다. 파일 디스크립터는 POSIX 애플리케이션 프로그래밍 인터페이스의 일부를 구성합니다.

procstat 출력에 표시되는 다양한 유형의 FD에 대한 자세한 내용은 여기에서 확인할 수 있습니다

Resolution

/var/log/apache2/webui_httpd_access.log에서 노드와 세션을 설정하는 클라이언트를 확인합니다.    
 
2019-05-16T10 : 12 : 51Z <19.6> 카나가와-1 httpd : 127.0.0.1 - - [2019년 5월 16일:10:12:51 +0000] "POST /session/1/session HTTP/1.1" 201 92 "-" "curl/7.57.0"

이러한 메시지가 매우 자주(1초에 여러 세션) 발생하는 경우 Apache2 서버에 쉽게 과부하가 걸리고 FD 소켓을 사용할 수 없기 때문에 Apache2 프로세스가 isi_papi_d 서비스와 통신하지 못할 수 있습니다. 

webui_httpd_access.log의 출력에서 클라이언트를 식별하고 클라이언트 측에서 수정합니다. 

임시 해결 방법으로 Apache2 및 isi_webui 서비스를 재시작하여 FD를 지우십시오. 

해결 방법:    
  1. 서비스를 비활성화합니다.   
# isi services -a apache2 disable
# isi services -a isi_webui disable 
  1. 실행 중인 프로세스가 없는지 확인합니다. 실행 중인 프로세스를 모두 종료합니다.   
# isi_for_array " ps -auwx | grep -i httpd 명령 | grep -v grep "
  1. 서비스를 다시 활성화합니다.    
# isi services -a apache2 enable
# isi services -a isi_webui enable

Additional Information

이 문제의 알려진 트리거는 아래 오류와 관련이 있습니다.   
 

2019-05-16T14:43:20-04:00 <18.3> 가나가와-1 httpd[80346]: [오류] [클라이언트 10.118.160.121] CSRF 보호를 위한 Origin 또는 Referer 헤더 없음


사용자가 세션을 설정하려고 할 때 CSRF 헤더/토큰을 포함하지 않은 경우 클라이언트는 세션을 설정할 수 있지만 클러스터에 로그인할 수는 없습니다. 이로 인해 스크립트가 노드와의 세션 설정을 계속 시도하여 FD 수가 많아질 수 있습니다. 

해결 방법은 CSRF 검사와 호환되도록 클라이언트를 변경하는 것입니다. KB 517421의 CSRF 보호로 인증을 구현하는 방법 부분을 참조하십시오. OneFS: 클러스터를 CSRF(Cross-Site Request Forgery)로부터 보호하는 방법 (등록된 Dell 고객만 Dell.com/support 를 통해 문서 링크의 콘텐츠에 액세스할 수 있음)

Affected Products

Isilon

Products

Isilon, PowerScale OneFS
Article Properties
Article Number: 000061440
Article Type: Solution
Last Modified: 08 Dec 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.