SLAPD_ULIMIT_SETTINGS="-n 4096" とか指定して too many open files の対策
をしていた人もいると思うが、RHEL7 だとこれは使えない。疑う人は
/proc/<pid>/limits で確認してみる。
この SLAPD_ULIMIT_SETTINGS は slapd が見る環境変数じゃなくて、RHEL6 系
の init.d 下のスクリプトが見てちょこちょこやってただけということで。
なので、systemd 的には ulimit -n な設定は /etc/systemd/system/slapd.service
に LimitNOFILE で定義する。ファイル編集後は systemd daemon-reload を忘れずに。
# /usr/lib/systemd/system/slapd.service を直してしまうと、おそらく update 時
# に上書きされる。これは openldap-servers の config ファイル扱いになってない。
# cp /usr/lib/systemd/system/slapd.service /etc/systemd/system/
# vi /etc/systemd/system/
: (snip)
[Service]
Type=forking
: (snip)
ExecStart=/usr/sbin/slapd -u ldap -h ${SLAPD_URLS} $SLAPD_OPTIONS
LimitNOFILE=4096
: (snip)
自己コメント
返信削除drop-in を使えば良いと今更気づく。
# mkdir /etc/systemd/system/slapd.service.d
# echo '[Service]'$'\n''LimitNOFILE=8192' > /etc/systemd/system/slapd.service.d/10-slapd.conf
# systemctl daemon-reload
# systemctl restart slapd
とか。