Isilon: La versione 8.0+ WebUI non riesce con errore di stato 500 a causa FD_SETSIZE errore in Apache2

Resumo: se un client effettua troppe chiamate API per stabilire una sessione con un nodo, il numero di descrittori di file di flusso per il processo httpd è superiore a 1024, causando problemi con 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



L'interfaccia utente web non è accessibile quando si verifica un "errore lato server con stato 500" come illustrato di seguito:    

kA23a0000000BSdCAM_3_0

e vengono visualizzati questi errori in /var/log/apache2/webui_httpd_error.log:    
 
2019-05-16T09:12:26Z <18.3> gennaio-1 httpd[3004]: [:errore] [PID 3004:Tid 34678361088] (20)Non è una directory: [client 1X.8X.1XX.1X1:60831] FastCGI: impossibile connettersi al server "/usr/sbin/isi_papi_d": il descrittore del file socket (1185) è più grande di FD_SETSIZE (1024), probabilmente è necessario ricostruire Apache con un FD_SETSIZE più grande, referente: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:errore] [PID 3004:Tid 34678361088] [client 1X.8X.1XX.1X1:60831] FastCGI: intestazioni incomplete (0 byte) ricevute dal server "/usr/sbin/isi_papi_d", referer: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:errore] [PID 3004:Tid 34678361088] [client 1X.8X.1XX.1X1:60831] FastCGI: do_work() non riuscito con ret 500 per la richiesta GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1, referer: https://1X.1XX.1XX.1X8:8080/

Causa

Questo problema si verifica quando il numero di descrittori di file per Apache2 supera 1024, che è il limite rigido impostato su apache2. 

Questa condizione viene verificata eseguendo il comando riportato di seguito:    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); do echo $i ; procstat -f $i ; Fatto

Si noti che uno dei processi httpd ha un numero FD elevato che supera 1024 (guardare la colonna 3 dell'ultima riga dell'output del processo):    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); fare eco $i ; procstat -f $i ; done
25136
PID COMM FD T V FLAG 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 - -

In UNIX e nei sistemi operativi dei computer correlati, un descrittore di file (FD, meno frequentemente fildes) è un'indicatore astratto utilizzato per accedere a un file o a un'altra risorsa di input/output, ad esempio una pipe o un socket di rete. I descrittori di file fanno parte dell'interfaccia di programmazione dell'applicazione POSIX.

Maggiori dettagli sui diversi tipi di FD visti nell'output di procstat possono essere trovati qui

Resolução

Controllare /var/log/apache2/webui_httpd_access.log per i client che stabiliscono sessioni con il nodo:    
 
2019-05-16T10:12:51Z <19.6> gennaio-1 httpd: 127.0.0.1 - - [16/Mag/2019:10:12:51 +0000] "POST /sessione/1/sessione HTTP/1.1" 201 92 "-" "curl/7.57.0"

Se questi messaggi si verificano molto frequentemente (più sessioni al secondo), ciò può facilmente sovraccaricare il server Apache2 e impedire al processo Apache2 di comunicare con isi_papi_d servizio a causa dellindisponibilità dei socket FD. 

Identificare il client nell'output del webui_httpd_access.log e correggerlo dal lato client. 

Come soluzione temporanea, riavviare i servizi Apache2 e isi_webui per cancellare i FD. 

Soluzione alternativa:    
  1. Disabilitare i servizi:   
# isi services -a apache2 disable
# isi services -a isi_webui disable 
  1. Verificare che non vi siano processi in esecuzione. Terminare tutti i processi in esecuzione:   
# isi_for_array " ps -auwx | grep -i httpd | grep -v grep "
  1. Abilitare nuovamente i servizi:    
# isi services -a apache2 enable
# isi services -a isi_webui enable

Mais informações

Un fattore scatenante noto di questo problema è correlato all'errore riportato di seguito:   
 

2019-05-16T14:43:20-04:00 <18.3> Kanagawa-1 httpd[80346]: [errore] [client 10.118.160.121] Nessuna intestazione Origin o Referer per la protezione CSRF


Se l'utente non ha incluso intestazioni/token CSRF durante il tentativo di stabilire una sessione, il client sarà in grado di stabilire una sessione ma non di accedere al cluster. Ciò può far sì che lo script continui a tentare di stabilire una sessione con il nodo, il che può portare a un numero elevato di FD. 

La risoluzione consiste nell'apportare modifiche al client per renderlo compatibile con i controlli CSRF. Fare riferimento alla parte come implementare l'autenticazione con la protezione CSRF della KB 517421: OneFS: Come proteggere il cluster da Cross-Site Request Forgery (CSRF) per ulteriori informazioni (solo i clienti Dell registrati possono accedere al contenuto del link all'articolo, tramite 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.