Package: heartbeat Version: 1:3.0.6-5 on Debian 9 Although it is recommended to install Heartbeat together with Pacemaker and Corosync, it is possible to install Heartbeat without Pacemaker and Corosync. In the latter case, heartbeat is not able to activcate a service IP address using IPaddr (IPaddr is part of Heartbeat) because the directory
/var/run/resource-agents is missing. Since /run is a tmpfs, this directory must be created after each system startup. Currently, this directory is created by the start script of Corosync (/etc/init.d/corosync). But if Corosync is not installed, nobody creates this directory and IPaddr doesn't work. How to reproduce this problem: 1) Install heartbeat without Corosync or Pacemaker 2) Delete directory "/var/run/resource-agents" if it exists 3) Manually start IPaddr to activate eth0:1 with a service IP address: OCF_FUNCTIONS_DIR="/usr/lib/ocf/lib/heartbeat" \ OCF_RESKEY_ip="10.0.0.184" \ OCF_RESKEY_cidr_netmask="24" \ OCF_RESKEY_nic="eth0" \ OCF_RESKEY_lvs_support="0" \ /usr/lib/ocf/resource.d//heartbeat/IPaddr \ start Output: INFO: Using calculated netmask for 10.0.0.184: 255.255.255.0 DEBUG: Using calculated broadcast for 10.0.0.184: 10.0.0.255 ouch: cannot touch '/var/run/resource-agents/IPaddr-eth0': No such file or directory How to solve this problem: 1) The best solution would be: create the directory "/var/run/resource-agents" in the heartbeat init script if the directory doesn't exist 2) Another solution would be: make Corosync a hard dependency of Heartbeat. I would prefer the first solution, because Heartebat runs well without Corosync and Pacemeaker.