Isilon : L’interface utilisateur Web de la version 8.0+ échoue avec une erreur d’état 500 en raison FD_SETSIZE une erreur dans Apache2

Resumo: si un client effectue trop d’appels d’API pour établir une session avec un nœud, le nombre de descripteurs de fichiers de flux par rapport au processus httpd dépasse 1 024, ce qui entraîne des problèmes de 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’interface utilisateur Web n’est pas accessible si vous obtenez une erreur « server-side failure with status 500 », comme indiqué ci-dessous :    

kA23a0000000BSdCAM_3_0

Et vous voyez ces erreurs dans le fichier /var/log/apache2/webui_httpd_error.log :    
 
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004] : [ :error] [PID 3004 :TID 34678361088] (20)Not a directory : [client 1X.8X.1XX.1X1:60831] FastCGI : failed to connect to server « /usr/sbin/isi_papi_d » : socket file descriptor (1185) is larger than FD_SETSIZE (1024), you need probably to rebuild Apache with a larger FD_SETSIZE, referer : https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004] : [ :error] [PID 3004 :TID 34678361088] [client 1X.8X.1XX.1X1:60831] FastCGI : incomplete headers (0 bytes) received from server « /usr/sbin/isi_papi_d », referer : https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004] : [ :error] [PID 3004 :TID 34678361088] [client 1X.8X.1XX.1X1:60831] FastCGI : do_work() failed with ret 500 for request GET /platform/5/cluster/identity ?_dc=1558011363341 HTTP/1.1, referer : https://1X.1XX.1XX.1X8:8080/

Causa

Ce problème se produit lorsque le nombre de descripteurs de fichiers pour Apache2 dépasse 1 024, qui est la limite stricte définie sur Apache2. 

Ceci est vérifié en exécutant la commande ci-dessous :    
 
kanagawa-1# pour i dans $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}') ; do echo $i ; procstat -f $i ; Fait

Notez que l’un des processus httpd a un nombre élevé de FD supérieur à 1 024 (regardez la colonne 3 de la dernière ligne de la sortie du processus) :    
 
kanagawa-1# pour i dans $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}') ; faire écho $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 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 - -

Sous UNIX et les systèmes d’exploitation informatiques associés, un descripteur de fichier (FD,moins fréquemment fildes) est un indicateur abstrait utilisé pour accéder à un fichier ou à une autre ressource d’entrée/sortie, telle qu’un canal ou une prise réseau. Les descripteurs de fichiers font partie de l’interface de programmation d’applications POSIX.

Vous trouverez plus d’informations sur les différents types de FD observés dans la sortie procstat ici

Resolução

Vérifiez le /var/log/apache2/webui_httpd_access.log pour les clients qui établissent des sessions avec le nœud :    
 
2019-05-16T10:12:51Z <19.6> kanagawa-1 httpd : 127.0.0.1 - - [16/May/2019:10:12:51 +0000] « POST /session/1/session HTTP/1.1 » 201 92 « - » « curl/7.57.0 »

Si ces messages se produisent très fréquemment (plusieurs sessions par seconde), cela peut facilement surcharger le serveur Apache2 et empêcher le processus Apache2 de communiquer avec isi_papi_d service en raison de l’indisponibilité des sockets FD. 

Identifiez le client dans la sortie de webui_httpd_access.log et rectifiez-le du côté client. 

Pour contourner temporairement ce problème, redémarrez les services Apache2 et isi_webui pour effacer les FD. 

Solution de contournement :    
  1. Désactivez les services :   
# isi services -a apache2 disable
# isi services -a isi_webui disable 
  1. Vérifiez qu’aucun processus n’est en cours d’exécution. Supprimez tous les processus en cours d’exécution :   
# isi_for_array " ps -auwx | grep -i httpd | grep -v grep "
  1. Réactivez les services :    
# isi services -a apache2 enable
# isi services -a isi_webui enable

Mais informações

Un déclencheur connu de ce problème est lié à l’erreur ci-dessous :   
 

2019-05-16T14:43:20-04:00 <18.3> Kanagawa-1 httpd[80346] : [erreur] [client 10.118.160.121] Pas d’origine ou d’en-tête de référence pour la protection CSRF


Lorsque l’utilisateur n’a pas inclus d’en-têtes/jetons CSRF lors de la tentative d’établissement d’une session, le client peut établir une session, mais pas se connecter au cluster. Cela peut amener le script à continuer d’essayer d’établir une session avec le nœud, ce qui peut entraîner un nombre élevé de FD. 

La résolution consiste à apporter des modifications au client pour qu’il soit compatible avec les vérifications CSRF. Reportez-vous à la partie Comment implémenter l’authentification avec la protection CSRF de la base de connaissances 517421 : OneFS : Comment protéger votre cluster contre la falsification de requête intersite (CSRF) Pour plus d’informations (Seuls les clients Dell enregistrés peuvent accéder au contenu du lien de l’article, 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.