Isilon. Веб-интерфейс версии 8.0+ завершается сбоем с ошибкой 500 с состоянием 500 из-за ошибки FD_SETSIZE в Apache2

Summary: если клиент выполняет слишком много вызовов API для установления сеанса с узлом, количество файловых дескрипторов потока для процесса httpd превышает 1024, что вызывает проблемы с isi_papi_d ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms



Веб-интерфейс недоступен, если возникает сообщение о сбое на стороне сервера с состоянием 500, как показано ниже:    

kA23a0000000BSdCAM_3_0

И вы увидите эти ошибки в /var/log/apache2/webui_httpd_error.log:    
 
2019-05-16T09:12:26Z <18.3> канагава-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, referer: 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", referer: 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, referer: https://1X.1XX.1XX.1X8:8080/

Cause

Эта проблема возникает, когда количество файловых дескрипторов для 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}'); делают эхо $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 ? - Р------- 1 0 - -

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

Более подробную информацию о различных типах FD, показанных в выводе procstat, можно найти здесь

Resolution

Проверьте /var/log/apache2/webui_httpd_access.log для клиентов, которые устанавливают сеансы с узлом:    
 
2019-05-16T10:12:51Z <19.6> канагава-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 -A Apache Disable
# Службы ISI -A isi_webui Disable 
  1. Убедитесь, что процессы не выполняются. Завершите все запущенные процессы:   
# isi_for_array " ps -auwx | grep -i httpd | grep -v grep "
  1. Снова включите службы:    
# Службы ISI -Apache 2 Enable
# Службы ISI -A isi_webui Enable

Additional Information

Известная причина этой проблемы связана со следующей ошибкой:   
 

2019-05-16T14:43:20-04:00 <18.3> Канагава-1 httpd[80346]: [ошибка] [Клиент 10.118.160.121] Без заголовка Origin или Referer для защиты CSRF


Если при попытке установить сеанс пользователь не включил никаких заголовков/маркеров CSRF, клиент сможет установить сеанс, но не сможет войти в кластер. Это может привести к тому, что сценарий будет продолжать попытки установить сессию с узлом, что может привести к большому количеству FD. 

Решение заключается в внесении изменений в клиент, чтобы обеспечить совместимость с проверками CSRF. См. раздел Как реализовать аутентификацию с защитой CSRF в статье базы знаний 517421: OneFS. Как защитить кластер от подделки межсайтовых запросов (CSRF) для получения дополнительной информации (только зарегистрированные заказчики Dell могут получить доступ к содержимому по ссылке на статью по ссылке Dell.com/support).

Affected Products

Isilon

Products

Isilon, PowerScale OneFS
Article Properties
Article Number: 000061440
Article Type: Solution
Last Modified: 08 Dec 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.