If you get this strange error when trying to start the Zabbix agent on a CentOS 7 or similar system, this article should help you solve the problem.
The article at “https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/355498-centos-7-zabbix-3-4-7-cannot-create-semaphore-28-no-space-left-on-device” explains the issue further. However, you can jump right to the solution in “this” article.
Issuing the command:
systemctl start zabbix-agent
Give the following error in the “/var/log/zabbix/zabbix_agentd.log” log file:
zabbix_agentd : cannot open log: cannot create semaphore set:  No space left on device
Issue the following command to remove unnecessary semaphores:
Try to start the Zabbix agent again. I bet it fails again but this time with an error like this:
listener failed: bind() for [[-]:10051] failed:  Permission denied
The above would likely be an SELinux issue. Try going into “permissive” mode to test it. The following is one solution to this:
grep "zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_agent semodule -i zabbix_agent.pp
Now try to restart the Zabbix agent:
systemctl restart zabbix-agent
And you should be good to go.