Eu presumo que, como você tem heartbeat controlando failover, está executando um cluster DRBD ativo / passivo. Como tal, no momento do failover heartbeat no passivo detecta que deve se promover para ativo. Neste processo, ele (geralmente) transmite o fato de que está assumindo o VIP do primário e monta o disco do DRBD. Isso torna o disco acessível ao sistema de arquivos e, finalmente, heartbeat traz o software necessário (MySQL, Apache, etc) como por haresources .
Você deve adicionar todos os serviços extras necessários para iniciar após o failover no arquivo /etc/ha.d/haresources no formato:
#node1 10.0.0.170 Filesystem::/dev/sda1::/data1::ext2
db1 192.168.100.200/24/eth0 drbddisk::mysql Filesystem::/dev/drbd0::/drbd::ext3::defaults mysql
com o script de inicialização apropriado em /etc/ha.d/resource.d/mysql (ou nomeado em relação à função do script!) - mais detalhes em Configurando os recursos de haresources , o manual do drbd e OpenVZ wiki
O cerne da questão é que não há efetivamente nenhum disco para svnserve ler seus repositórios até que ele seja ativado como ativo, pois o processo drbd o bloqueia quando está no modo passivo. É possível executar o DRBD ativo / ativo, mas é um recurso relativamente novo e não é algo que eu tentei!
Uma pegadinha que não está bem documentada: em vez de usar os scripts hb_takeover para testar o failover, basta encerrar o heartbeat service no primário e aguardar o secundário assumir, assistindo nos dois servidores com tail -f /var/log/ha-log . Isso tem a vantagem adicional de testar os parâmetros deadtime , warntime e initdead de ha.cf , que são importantes em um failover do mundo real.