Isilon: Versão 8.0+ WebUI falha com status 500 erro devido FD_SETSIZE erro no Apache2

Resumo: se houver um client fazendo muitas chamadas de API para estabelecer uma sessão com um nó, o número de descritores de arquivo de fluxo em relação ao processo httpd excederá 1024, o que causará problemas com o 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



A WebUI não pode ser acessada quando você obtém uma "falha no servidor com status 500", como visto abaixo:    

kA23a0000000BSdCAM_3_0

e você vê esses erros no /var/log/apache2/webui_httpd_error.log:    
 
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:erro] [PID 3004:TID 34678361088] (20)Não é um diretório: [cliente 1X.8X.1XX.1X1:60831] FastCGI: failed to connect to server "/usr/sbin/isi_papi_d": o descritor de arquivo de soquete (1185) é maior que FD_SETSIZE (1024), você provavelmente precisa reconstruir o Apache com uma FD_SETSIZE maior, referer: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:erro] [PID 3004:TID 34678361088] [cliente 1X.8X.1XX.1X1:60831] FastCGI: cabeçalhos incompletos (0 bytes) recebidos do servidor "/usr/sbin/isi_papi_d", referer: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:erro] [PID 3004:TID 34678361088] [cliente 1X.8X.1XX.1X1:60831] FastCGI: do_work() falhou com ret 500 para solicitação GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1, referer: https://1X.1XX.1XX.1X8:8080/

Causa

Esse problema ocorre quando a contagem de descritor de arquivo para Apache2 excede 1024, que é o limite rígido definido no apache2. 

Isso é verificado executando o comando abaixo:    
 
kanagawa-1# para i em $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); do echo $i ; procstat -f $i ; Feito

Observe que um dos processos httpd tem uma alta contagem de FD que excede 1024 (observe a coluna 3 da última linha do resultado do processo):    
 
kanagawa-1# para i em $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); fazer eco $i ; procstat -f $i ; feito
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 v c -w------ 4 0 - /dev/null
25136 httpd 2 v c -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:8081 0.0.0.0:0
25136 httpd 7 s - rw---n-- 4 0 TCP :: .8082 ::.0
25136 httpd 8 s - rw---n-- 4 0 TCP 0.0.0.0:8082 0.0.0.0:0
25136 httpd 9 s - rw---n-- 4 0 TCP ::.8083 ::.0
25136 httpd 10 s - 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 v c r------- 1 31968 - /dev/random
25136 httpd 25 ? - r------- 1 0 - -
25136 httpd 27 ? - r------- 1 0 - -
.
.
..

25136 httpd 1121 ? - r------- 1 0 - -

Em UNIX e sistemas operacionais de computador relacionados, um descritor de arquivo (FD, menos freqüentemente fildes) é um indicador abstrato usado para acessar um arquivo ou outro recurso de entrada/saída, como um pipe ou soquete de rede. Os descritores de arquivo fazem parte da interface de programação do aplicativo POSIX.

Mais detalhes sobre os diferentes tipos de DFs vistos na saída do procstat podem ser encontrados aqui

Resolução

Verifique o /var/log/apache2/webui_httpd_access.log para clients que estão estabelecendo sessões com o nó:    
 
2019-05-16T10:12:51Z <19.6> kanagawa-1 httpd: 127.0.0.1 - - [16/Mai/2019:10:12:51 +0000] "POST /session/1/session HTTP/1.1" 201 92 "-" "curl/7.57.0"

Se essas mensagens estiverem ocorrendo com muita frequência (várias sessões em um segundo), isso pode facilmente sobrecarregar o servidor Apache2 e impedir que o processo Apache2 se comunique com isi_papi_d serviço devido à indisponibilidade de soquetes FD. 

Identifique o client na saída do webui_httpd_access.log e retifique-o do lado do client. 

Como solução temporária, reinicie os serviços Apache2 e isi_webui para limpar os DFs. 

Solução temporária:    
  1. Desative os serviços:   
# isi services -a apache2 disable
# isi services -a isi_webui disable 
  1. Verifique se não há processos em execução. Elimine todos os processos em execução:   
# isi_for_array " ps -auwx | grep -i httpd | grep -v grep "
  1. Habilite os serviços novamente:    
# isi services -a apache2 enable
# isi services -a isi_webui enable

Mais informações

Um gatilho conhecido para esse problema está relacionado ao erro abaixo:   
 

2019-05-16T14:43:20-04:00 <18.3> Kanagawa-1 httpd[80346]: [erro] [cliente 10.118.160.121] Nenhum cabeçalho de origem ou referência para proteção CSRF


Quando o usuário não tiver incluído nenhum cabeçalho/token CSRF ao tentar estabelecer uma sessão, o client poderá estabelecer uma sessão, mas não fazer log-in no cluster. Isso pode fazer com que o script continue tentando estabelecer uma sessão com o nó, o que pode levar a um alto número de FDs. 

A resolução é fazer alterações no client para que sejam compatíveis com as verificações de CSRF. Consulte a parte sobre como implementar a autenticação com proteção CSRF do artigo da base de conhecimento 517421: OneFS: Como proteger seu cluster contra falsificação de solicitação entre locais (CSRF) para obter mais informações (Somente clientes registrados da Dell podem acessar o conteúdo no link do artigo, via 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.