keepalived insists on creating PID files, so at least don't let it create in /run (to avoid clash with OpenRC), but /run/keepalived. keepalived will automatically create and delete this directory. This is a downstream patch. --- a/keepalived/core/main.c +++ b/keepalived/core/main.c @@ -169,7 +169,7 @@ const char *snmp_socket; /* Socket to use for SNMP agent */ #endif static const char *syslog_ident; /* syslog ident if not default */ -bool use_pid_dir; /* Put pid files in /run/keepalived or @localstatedir@/run/keepalived */ +bool use_pid_dir = true; /* Put pid files in /run/keepalived or @localstatedir@/run/keepalived */ unsigned os_major; /* Kernel version */ unsigned os_minor;