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

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

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Sintomas



아래와 같이 "서버 측 장애 상태 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()가 실패했습니다.

Causa

이 문제는 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에 대한 자세한 내용은 여기에서 확인할 수 있습니다

Resolução

/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

Mais informações

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

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 를 통해 문서 링크의 콘텐츠에 액세스할 수 있음)

Produtos afetados

Isilon

Produtos

Isilon, PowerScale OneFS
Propriedades do artigo
Número do artigo: 000061440
Tipo de artigo: Solution
Último modificado: 08 dez. 2025
Versão:  4
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.