A solução que utilizei foi a combinação de 
ext3 + drbd + heartbeat + 
mon.
Sistema de Arquivos Journaled - Ext3: talvez o Reiserfs seja mais 
utilizado pois foi um dos primeiros sistemas journaled que apareceram, mas 
o ext3 oferece a compatibilidade com o ext2, eliminando a necessidade de 
se recriar o filesystem. Alguns testes mostraram uma leve superioridade 
do Reiserfs sobre o Ext3, mas tal diferença não chega a ser tão grande 
para suplantar a facilidade e segurança na mudança. 
Espelhamento de dados - Drbd: o DRBD (Distributed Replicated Block 
Device) espelha os dados em blocos, repassando-os através da rede. 
Funcionando em pares, ele estabelece em cada nodo uma partição para espelhar, 
e seta um dos nodos como primário. Toda alteração neste irá ser refletida no 
secundário. O primário tem a partição montada com drbd montada, enquanto o 
secundário não.
Sinal de Vida - Heartbeat: onde reside a configuração dos serviços 
e do '
ip de serviço'. É o hertbeat o responsável pela reconfiguração 
automatizada na ocorrência de problemas. Cada máquina possui seu ip próprio, 
válido ou não, mas o conjunto é identificado por um ip de serviço, que é 
mantido pela máquina primária no par. Ao acontecer uma pane no sistema, o 
heartbeat de um lado libera os serviços e ips, e do outro assume.
Mon: bastante leve, possui diversos monitores e sistemas de alerta 
para as mais variadas funções e serviços. Possui envio de mensagens via 
página, correio, sms, bem como pode ser configurado para disparar programas 
em quaisquer linguagens. Inclusive o heartbeat :-)
Então, num quadro geral, o Mon ficaria monitorando o sistema. Ao detectar que um serviço não está respondendo, que a máquina está com alguma pane, perceber que está isolado da rede (no nodo primário), ou que o nodo secundário não está respondendo, ele dispararia o heartbeat, para derrubar ou para levantar os serviços. Um destes serviços deve ser o Drbd, que embora sempre espelhando não estaria com a partição montada. Montando estas partições, que contem os dados atualizados para o serviço que se oferece, estes serviços estarão em condições de responder com autoridade para os usuários. 
Talvez alguém se pergunte: mas porque vários aplicativos e não um sistema 
geral? Além de ser muito mais portável e leve, estes aplicativos podem ter 
várias outras aplicações. Pode ser que se deseje apenas monitorar um 
servidor. Pode ser que se possua um storage externo compartilhado por duas 
máquinas e queira-se coordenar o controle de deste. 
Oferecemos assim uma visão geral do que está envolvido na Alta 
Disponibilidade e um exemplo de um ambiente. Para maiores detalhes de como 
implementar este ambiente, disponibilizei na página 
http://ha.underlinux.com.br/ um HOWTO com todos 
os passos para a instalação e configuração de tal ambiente. Espero que seja 
útil.