Isilon: Версія 8.0+ WebUI провалилася з помилкою статусу 500 через помилку FD_SETSIZE Apache2

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



WebUI недоступний, якщо ви отримуєте «серверну помилку зі статусом 500», як показано нижче:    

kA23a0000000BSdCAM_3_0

І ви бачите ці помилки у /var/log/apache2/webui_httpd_error.log:    
 
2019-05-16T09:12:26Z <18.3> Kanagawa-1 httpd[3004]: [:помилка] [PID 3004:tid 34678361088] (20)Не каталог: [клієнт 1X.8X.1XX.1X1:60831] FastCGI: не вдалося підключитися до сервера "/usr/sbin/isi_papi_d": дескриптор файлу сокета (1185) більший за FD_SETSIZE (1024), ймовірно, потрібно перебудувати Apache з більшим FD_SETSIZE, посилання: 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: неповні заголовки (0 байт) отримані з сервера "/usr/sbin/isi_papi_d", посилання: 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: do_work() не справився з ret 500 для запиту GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1, реферер: https://1X.1XX.1XX.1X8:8080/

Causa

Ця проблема виникає, коли кількість File Descriptor для Apache2 перевищує 1024, що є жорстким лімітом, встановленим для apache2. 

Це підтверджується, виконавши команду нижче:    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); do echo $i ; procstat -f $i ; Готово

Зверніть увагу, що один із httpd-процесів має високу кількість FD, яка перевищує 1024 (дивіться стовпець 3 останнього рядка виводу процесу):    
 
kanagawa-1# for i in $(ps -auwx | grep -i httpd |grep -v grep | awk '{print $2}'); do echo $i ; procstat -f $i ; зроблено
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 ? - Р------- 10 - -
.
.
..

25136 httpd 1121 ? - Р------- 1 0 - -

В UNIX та пов'язаних комп'ютерних операційних системах дескриптор файлів (FD, рідше fildes) — це абстрактний індикатор, який використовується для доступу до файлу або іншого вхідного/вихідного ресурсу, такого як труба або мережевий роз'єм. Файлові дескриптори є частиною інтерфейсу

програмування POSIX.Більше деталей про різні типи FD, які видно у виході procstat, можна знайти тут

Resolução

Перевірте /var/log/apache2/webui_httpd_access.log для клієнтів, які встановлюють сесії з вузлом:    
 
2019-05-16T10:12:51Z <19.6> Kanagawa-1 httpd: 127.0.0.1 - - [16/травень/2019:10:12:51 +0000] "POST /session/1/session HTTP/1.1" 201 92 "-" "curl/7.57.0"

Якщо ці повідомлення з'являються дуже часто (кілька сесій за секунду), це може легко перевантажити сервер Apache2 і завадити процесу Apache2 спілкуватися з isi_papi_d сервісом через недоступність сокетів FD. 

Визначте клієнта у вихідному результаті 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] Немає заголовка Origin або Referer для захисту CSRF


Якщо користувач не включив жодних CSRF-заголовків/токен при спробі створити сесію, клієнт зможе встановити сесію, але не увійти в кластер. Це може призвести до того, що скрипт постійно намагатиметься встановити сесію з вузлом, що може призвести до високої кількості FD. 

Розв'язання полягає у внесенні змін до клієнта, щоб він був сумісний із перевірками CSRF. Дивіться до розділу KB 517421 про те, як реалізувати автентифікацію за допомогою CSRF-захисту: OneFS: Як захистити свій кластер від підробки запитів між сайтами (CSRF) для отримання додаткової інформації (доступ до контенту за Dell.com/support посиланням на статтю можуть доступні лише зареєстровані клієнти Dell).

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.