O OpenVPN não suporta qualquer tipo de compartilhamento de estado entre duas instâncias de daemon diferentes, portanto, não, você não pode ter failover contínuo.
Mas, você sempre pode configurar seus clientes para lidar com uma falha do servidor normalmente. Se esse tipo de redundância atender às suas necessidades, você poderá conseguir isso combinando dois recursos que o OpenVPN realmente possui:
1) automaticamente tentando novamente após se desconectar do servidor, E 2) conectar-se a um servidor escolhido aleatoriamente em cada tentativa, a partir de uma lista pré-definida.
A idéia básica é que você pode executar dois (ou três ou mais) servidores OpenVPN e adicionar todos os seus endereços IP ou nomes de host às configurações do seu cliente VPN. Além disso, o cliente deve tentar novamente rapidamente para minimizar o tempo de inatividade experimentado pelo usuário. Quando um servidor falha, o cliente gira para o próximo endereço em sua lista de conexão e a conexão é restabelecida em um curto espaço de tempo.
A documentação está disponível em:
Em particular, você provavelmente desejará ver essas opções de configuração:
- remoto
- connect-retry
- connect-retry-max
- aleatório-remoto
- ifconfig-pool-persist
Você deve ser capaz de adicionar essas opções, do lado do cliente, sobre qualquer combinação de outras opções de cliente / servidor que você já esteja usando. Apenas lembre-se de manter o 'connect-retry' baixo e o 'connect-retry-max' alto (possivelmente até infinito), e ele deve funcionar muito bem.