-
Sim, é possível monitorar o status de um Xen DomU e executar algum comando arbitrário se o DomU falhar. Você pode executar uma instância do daemon do Monit em um terceiro host (DomU ou físico) que verifique o DomV OpenVPN principal e informe ao Dom0 para inicializar o DomU secundário se o principal tiver falhado. A documentação do Monit tem muitos exemplos que podem mostrar como implementar isso:
-
Sim, o OpenVPN possui alguns recursos de alta disponibilidade e / ou compartilhamento de carga incorporados e é bastante simples de configurar.
Primeiro, você estará executando vários servidores OpenVPN, em paralelo, com cada servidor ouvindo em seu próprio endereço IP. Os servidores não compartilham o estado e não sabem nada um do outro.
Em seguida, você especifica várias opções '--remote', na linha de comando ou no arquivo de configuração do cliente OpenVPN. Quando o cliente tiver várias opções de servidor remoto disponíveis, ele escolherá aleatoriamente uma e fará uma conexão com ela. Se esse servidor falhar, ele tentará novamente a conexão e, em seguida, escolherá aleatoriamente um servidor diferente se não conseguir se conectar. Veja os documentos do OpenVPN, aqui, para mais informações:
Você pode querer ver minha resposta para uma pergunta semelhante, aqui:
Como observado em minha outra resposta, você provavelmente desejará prestar atenção a essas opções do cliente, em particular:
- connect-retry
- connect-retry-max
- aleatório-remoto
- ifconfig-pool-persist
Naturalmente, isso não é um balanceamento de carga verdadeiro, porque o cliente OpenVPN não seleciona o servidor com a carga mais baixa ou o mínimo de clientes - ele escolhe aleatoriamente um servidor. Se você precisar de balanceamento de carga real para garantir que as cargas do servidor permaneçam equalizadas, você precisará encontrar algum tipo de solução de balanceamento de carga dedicada, seja de hardware ou software.