Isilon: Version 8.0+ WebUI schlägt mit Fehler Status 500 aufgrund FD_SETSIZE Fehlers in Apache2 fehl

Resumo: Wenn ein Client zu viele API-Aufrufe unternimmt, um eine Sitzung mit einem Node herzustellen, überschreitet die Anzahl der Streamdateideskriptoren für den HTTPD-Prozess 1024, was zu Problemen mit 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



Die WebUI ist nicht zugänglich, wenn Sie einen "serverseitigen Fehler mit Status 500" erhalten, wie unten dargestellt:    

kA23a0000000BSdCAM_3_0

Und Sie sehen diese Fehler in /var/log/apache2/webui_httpd_error.log:    
 
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:Fehler] [PID 3004:TID 34678361088] (20)Kein Verzeichnis: [client 1X.8X.1XX.1X1:60831] FastCGI: Verbindung zum Server "/usr/sbin/isi_papi_d" fehlgeschlagen: Socket-Dateideskriptor (1185) ist größer als FD_SETSIZE (1024), Sie müssen wahrscheinlich Apache mit einem größeren FD_SETSIZE neu erstellen, siehe: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:Fehler] [PID 3004:TID 34678361088] [client 1X.8X.1XX.1X1:60831] FastCGI: unvollständige Header (0 Bytes) vom Server "/usr/sbin/isi_papi_d empfangen", Referer: https://1X.1XX.1XX.1X8:8080/
2019-05-16T09:12:26Z <18.3> kanagawa-1 httpd[3004]: [:Fehler] [PID 3004:TID 34678361088] [client 1X.8X.1XX.1X1:60831] FastCGI: do_work() fehlgeschlagen mit ret 500 für Anfrage GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1, Referer: https://1X.1XX.1XX.1X8:8080/

Causa

Dieses Problem tritt auf, wenn die Anzahl der Dateideskriptoren für Apache2 1024 überschreitet, was das harte Limit für Apache2 ist. 

Dies wird überprüft, indem Sie den folgenden Befehl ausführen:    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); do echo $i ; procstat -f $i ; fertig

Beachten Sie, dass einer der httpd-Prozesse eine hohe FD-Anzahl aufweist, die 1024 überschreitet (siehe Spalte 3 der letzten Zeile der Prozessausgabe):    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); Echo $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 - -

In UNIX und verwandten Computerbetriebssystemen ist ein Dateideskriptor (FD, seltener fildes) ein abstrakter Indikator, der für den Zugriff auf eine Datei oder eine andere Input/Output-Ressource wie eine Pipe oder einen Netzwerksocket verwendet wird. Dateideskriptoren sind Teil der POSIX-Anwendungsprogrammierschnittstelle.

Weitere Details zu den verschiedenen Arten von FDs, die in der procstat-Ausgabe angezeigt werden, finden Sie hier

Resolução

Überprüfen Sie /var/log/apache2/webui_httpd_access.log auf Clients, die Sitzungen mit dem Node herstellen:    
 
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"

Wenn diese Meldungen sehr häufig auftreten (mehrere Sitzungen in einer Sekunde), kann dies den Apache2-Server leicht überlasten und verhindern, dass der Apache2-Prozess mit isi_papi_d Service kommuniziert, da FD-Sockets nicht verfügbar sind. 

Identifizieren Sie den Client in der Ausgabe von webui_httpd_access.log und korrigieren Sie ihn von der Clientseite aus. 

Starten Sie als vorübergehenden Workaround die Apache2- und isi_webui-Services neu, um die FDs zu löschen. 

Problemumgehung:    
  1. Deaktivieren Sie die Services:   
# isi services -a apache2 disable
# isi services -a isi_webui disable 
  1. Stellen Sie sicher, dass keine Prozesse ausgeführt werden. Beenden Sie alle laufenden Prozesse:   
# isi_for_array " ps -auwx | grep -i httpd | grep -v grep "
  1. Aktivieren Sie die Services erneut:    
# isi services -a apache2 enable
# isi services -a isi_webui enable

Mais informações

Ein bekannter Auslöser für dieses Problem hängt mit dem folgenden Fehler zusammen:   
 

2019-05-16T14:43:20-04:00 <18.3> Kanagawa-1 httpd[80346]: [Fehler] [Client 10.118.160.121] Kein Origin- oder Referer-Header für CSRF-Schutz


Wenn der Nutzer beim Versuch, eine Sitzung einzurichten, keine CSRF-Header/-Token eingeschlossen hat, kann der Client eine Sitzung einrichten, sich aber nicht beim Cluster anmelden. Dies kann dazu führen, dass das Skript immer wieder versucht, eine Sitzung mit dem Node herzustellen, was zu einer hohen Anzahl von Dateisicherungen führen kann. 

Die Lösung besteht darin, Änderungen am Client vorzunehmen, damit er mit den CSRF-Prüfungen kompatibel ist. Weitere Informationen finden Sie im Abschnitt zur Implementierung der Authentifizierung mit CSRF-Schutz in KB 517421: OneFS: So schützen Sie Ihren Cluster vor Cross-Site Request Forgery (CSRF) Für weitere Informationen (Nur registrierte Dell Kunden können über Dell.com/support auf die Inhalte über den Artikellink zugreifen.)

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.