排除過程:

最近被反應 LDAP 服務在使用一段時間之後,連線上面會有認証較慢或失敗的問題

而查詢 Log 之後,找到以下問題點,著手開始改善

問題如下:

warning: cannot open /etc/hosts.allow: Too many open files
warning: cannot open /etc/hosts.deny: Too many open files

對於 Linux 比較熟悉的,相信不會是第一次遇到這種問題…

第一感當然會去修改當前的 open files 上限

即時生效:

# ulimit -n 8192

永久設定方式:

編輯以下檔案

# vim /etc/security/limits.conf

加入以下兩行

*   soft    nofile  8192                                                                                            
*   hard    nofile  10240

進行查詢,確認沒有問題

# ulimit -a
open files (-n) 8192

但修改之後,LDAP Log 中依然會出現這樣的問題

所以下一個方向可以猜是 LDAP 服務沒有套用到系統設定

查詢單個服務的 LDAP Max open files 設定,發現依然是預設值!

# cat /proc/`pidof slapd`/limits

CentOS 7 版本 LDAP 解決 Too many open files 問題-01.jpg

既然是服務沒有套用參數成功,下一個方向

或許可以直接加在服務啟動檔案嘗試

尋找服務設定檔案位置

# find /etc/ -name slapd.service

編輯服務設定檔案

# /etc/systemd/system/multi-user.target.wants/slapd.service

在[Service]欄位內加入下面此行

LimitNOFILE=8192

重新載入並重啟 slapd 服務

# systemctl daemon-reload && systemctl restart slapd

再次檢查

# cat /proc/`pidof slapd`/limits

CentOS 7 版本 LDAP 解決 Too many open files 問題-02.jpg

這樣進行修正之後,LDAP 在使用的時候

因為檔案上限認証等待的機會就能大幅下降

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s