O que você precisa é de replicação. Enquanto muitas pessoas usam a replicação do MySQL, já lidei bastante com isso (dezenas de instâncias MySQL de produção de alta capacidade) para saber que não é uma opção vencedora. É muito frágil e falhará em momentos inconvenientes. Agora, estou inclinado a usar uma solução de replicação de bloco, como o DRBD, para tornar os armazenamentos do MySQL consistentes.
No que diz respeito ao failover, novamente a replicação do MySQL não lida com isso particularmente bem. Embora o failover do mestre para o escravo seja uma operação bastante automatizável, lidar com as conseqüências (fazer a replicação rodar novamente) é sempre um processo manual, exigindo cutucando e cutucando para garantir que tudo funcione corretamente. Qualquer que seja o método de replicação escolhido, eu uso o heartbeat para detectar se tudo está funcionando bem e quando o servidor atualmente ativo cai, certificando-se de que uma aquisição ordenada de recursos ocorra.