Isilon:版本 8.0+ WebUI 失敗,並發生狀態 500 錯誤,因為 Apache2 FD_SETSIZE錯誤
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 的伺服器端故障」,則無法存取 WebUI,如下所示:
您會在 /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),您可能需要使用更大的FD_SETSIZE重建 Apache,參考: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:從伺服器「/usr/sbin/isi_papi_d」接收的不完整標頭(0 位元組),參考時間: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() 失敗,要求為 GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1,參考: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:從伺服器「/usr/sbin/isi_papi_d」接收的不完整標頭(0 位元組),參考時間: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() 失敗,要求為 GET /platform/5/cluster/identity?_dc=1558011363341 HTTP/1.1,參考:https://1X.1XX.1XX.1X8:8080/
Cause
當 Apache2 的檔案描述項計數超過 1024 (這是 apache2 的硬性限制) 時,就會發生此問題。
這是透過執行下列命令來驗證:
請注意,其中一個 HTTPd 進程的 FD 計數很高,超過 1024(請查看進程輸出最後一行的第 3 列):
在 UNIX 和相關電腦作業系統中,檔描述符(FD,不太常見)是用於訪問檔或其他輸入/輸出資源(如管道或網路套接字)的抽象指示符。檔案描述符構成 POSIX 應用程式程式設計介面的一部分。
有關在 procstat 輸出中看到的不同類型 FD 的更多詳細資訊, 請參閱此處
這是透過執行下列命令來驗證:
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 ;完成
25136
PID COMM FD T V 標誌 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 - -
25136
PID COMM FD T V 標誌 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 - -
在 UNIX 和相關電腦作業系統中,檔描述符(FD,不太常見)是用於訪問檔或其他輸入/輸出資源(如管道或網路套接字)的抽象指示符。檔案描述符構成 POSIX 應用程式程式設計介面的一部分。
有關在 procstat 輸出中看到的不同類型 FD 的更多詳細資訊, 請參閱此處
Resolution
檢查與節點建立工作階段的用戶端的 /var/log/apache2/webui_httpd_access.log:
如果這些消息非常頻繁地出現(每秒多個會話),則很容易使 Apache2 伺服器過載,並由於 FD 套接字不可用而阻止 Apache2 進程與isi_papi_d服務通信。
識別 webui_httpd_access.log 輸出中的用戶端,並從用戶端進行修正。
作為暫時的因應措施,請重新啟動 Apache2 和 isi_webui 服務以清除 FD。
因應措施:
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”
如果這些消息非常頻繁地出現(每秒多個會話),則很容易使 Apache2 伺服器過載,並由於 FD 套接字不可用而阻止 Apache2 進程與isi_papi_d服務通信。
識別 webui_httpd_access.log 輸出中的用戶端,並從用戶端進行修正。
作為暫時的因應措施,請重新啟動 Apache2 和 isi_webui 服務以清除 FD。
因應措施:
- 停用服務:
# isi services -a apache2 disable
# isi services -a isi_webui disable
# isi services -a isi_webui disable
- 確認沒有任何程序在執行中。終止任何執行中的程序:
# isi_for_array “ ps -auwx |grep -i httpd |grep -v grep ”
-
再次啟用服務:
# isi services -a apache2 enable
# isi services -a isi_webui enable
# isi services -a isi_webui enable
Additional Information
此問題的已知觸發因素與以下錯誤有關:
2019-05-16T14:43:20-04:00 <18.3> 神奈川-1 httpd[80346]:[錯誤][用戶端 10.118.160.121]沒有用於 CSRF 保護的源頭或參照標頭
當使用者在嘗試建立會話時未包含任何 CSRF 標頭/令牌時,客戶端將能夠建立會話,但無法登錄到集群。這可能會導致指令檔不斷嘗試與節點建立工作階段,這可能會導致 FD 計數過高。
解決方案是對用戶端進行更改以與 CSRF 檢查相容。請參閱 KB 517421 的如何使用 CSRF 保護部分實現認證:OneFS:如何保護您的叢集免於跨站點偽造要求 (CSRF) 以取得進一步資訊 (只有已註冊的 Dell 客戶才能透過 Dell.com/support 存取文章連結的內容)。
Affected Products
IsilonProducts
Isilon, PowerScale OneFSArticle 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.