systemd 填充 /run/systemd/propagate 直到 inode 耗尽

systemd 填充 /run/systemd/propagate 直到 inode 耗尽

我已按照以下说明为 rspamd 配置 Pyzor:https://www.rspamd.com/doc/modules/external_services.html#pyzor-specific-details

这些说明还包含一些用于套接字和服务的 systemd 配置。

Pyzor 现在是一个套接字激活的服务,在每次连接时启动。问题是 systemd 会为每次运行创建一个新目录:

drw-------     (…) 08:30 [email protected]:5953-127.0.0.1:60656.service
drw-------     (…) 08:30 [email protected]:5953-127.0.0.1:60662.service
drw-------     (…) 08:30 [email protected]:5953-127.0.0.1:60676.service
drw-------     (…) 08:30 [email protected]:5953-127.0.0.1:60684.service
drw-------     (…) 08:30 [email protected]:5953-127.0.0.1:60694.service
drw-------     (…) 08:30 [email protected]:5953-127.0.0.1:60706.service

这些目录永远不会被删除,并且几天后/run就会耗尽 inode,从而阻止创建新的 Pyzor 进程或具有隔离名称空间的任何其他进程。

如何防止这种情况或重新配置设备以在一段时间后删除这些目录?

插座单元:

# /usr/lib/systemd/system/pyzor.socket

[Unit]
Description=Pyzor socket

[Socket]
ListenStream=127.0.0.1:5953
Accept=yes

[Install]
WantedBy=sockets.target

服务单位:

# /usr/lib/systemd/system/[email protected]

[Unit]
Description=Pyzor Socket Service
Requires=pyzor.socket

[Service]
Type=simple
ExecStart=-/usr/bin/pyzor check
StandardInput=socket
StandardError=journal
TimeoutStopSec=10

User=_rspamd
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProtectControlGroups=true
ProtectHome=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectSystem=strict

[Install]
WantedBy=multi-user.target

相关内容