O Heartbeat pode fazer isso, porque é capaz de executar scripts arbitrários para gerenciar recursos, para que você possa escrever um script para chamar a API do provedor de hospedagem para mover o endereço IP.
Eu tenho dois servidores reais, em diferentes sub-redes, cada um com um IP permanente e com um IP de failover que pode ser usado por qualquer servidor. O hoster fornece uma API com a qual posso atribuir o IP de failover a qualquer um dos servidores. Então, eu preciso executar um daemon em cada um dos servidores, que estará monitorando a integridade do servidor local e, ao mesmo tempo, se comunicando com sua contraparte no outro servidor, para que os dois juntos (ou apenas um, se o servidor outros falham) decida quem receberá o IP de failover (e execute um script para informar a API do hoster para rotea-lo apropriadamente).
keepalived
não pode fazer isso, a menos que (alegadamente) com o patch unicast de Willy Tarreau, que eu tentei sem sucesso . Além disso, seria preferível que o daemon não tentasse obter ou liberar o IP da interface de rede; a configuração preferida é que as interfaces de ambas as máquinas sempre tenham o endereço IP de failover.
Pode heartbeat
fazer isso? Qualquer outro programa semelhante pode fazer isso? Acabei escrevendo meu próprio daemon, que funciona corretamente, mas não vejo razão para mantê-lo se um programa existente puder fazê-lo.