
Tenho vários casos em que preciso que aplicações sejam migradas de um servidor para outro em caso de falha (travamento ou travamento do servidor).
No solaris fazemos isso com VCS (Veritas Cluster Server). Quais opções estão disponíveis para Linux?
Indique o nível de esforço para configuração/manutenção ou custo (se houver) de cada um.
-- Mais detalhes adicionados --
Para dar uma ideia do nível de complexidade:
- o servidor com falha pode travar ou travar sem aviso prévio, ainda pode ser 'capaz de executar ping'
- o servidor de recuperação precisa iniciar seus aplicativos em failover
- uma vez que o servidor falha na inicialização/ligação de energia, ele se torna passivo para não interferir no servidor de recuperação.
Este é um nó de coleta de dados ou de computação, não um banco de dados, portanto, soluções mais simples poderiam funcionar.
-- ainda mais detalhes (desculpe) --
o armazenamento compartilhado não é uma opção, mas não é necessário migrar muito estado (se houver) de um servidor para outro. Mantemos os dois servidores sincronizados via rsync.
Muito obrigado por todas as postagens até agora.
Responder1
http://linux-ha.org/para todas as suas necessidades de alta disponibilidade. Como diz a música, as melhores coisas da vida são de graça.
Responder2
Usei uma variedade de soluções de cluster no Linux. Também sou um defensor do gerenciamento de configuração, então adicionarei um pouco sobre isso em minhas descrições (Chef ou Puppet, claro)
Veritas Cluster Server (VCS). Já faz algum tempo, mas implantamos alguns clusters Linux VCS no RHEL 3.0. Espero que esteja disponível no RHEL 5.0. Você deve estar familiarizado com a dificuldade de configurar isso, pois é um território familiar. Como você deve saber, o VCS é caro. Curiosamente, o VCS não é adequado para ser configurado pelo gerenciamento de configuração.
Falando em RHEL, o Red Hat Cluster Suite amadureceu muito desde seu lançamento original com RHEL 2.1. A fase de instalação/configuração é bastante direta e a documentação é muito completa e útil e, como o VCS, você pode adquirir suporte do fornecedor. Para produtos comerciais de HA, o RHCS tem um preço razoável. Eu usaria apenas o gerenciamento de configuração para instalar os pacotes e mantê-los "manualmente" através da interface web. Além disso, ouvi falar de algumas pessoas que o usam em plataformas que não são da Red Hat, embora não tenha experiência direta com isso.
Linux-HA (drbd/heartbeat) também é ótimo, embora vindo do VCS a configuração possa parecer simplista, mas complicada. Isso é muito fácil de automatizar com uma ferramenta de gerenciamento de configuração.
Como prova de conceito, instalei um cluster Linux com o HACMP da IBM – seu software de clustering AIX. Eu não recomendaria isso, pelo que me lembro, é mais caro que o VCS. A IBM possui procedimentos específicos para instalação e manutenção do HACMP, eu não usaria gerenciamento de configuração aqui.
Responder3
Michael está certo ao dizer que a comunidade está um pouco fragmentada no momento e a documentação é um pouco escassa.
Na verdade, está tudo aí, é simplesmente impossível de entender. O que você realmente quer é o e-book "Explicação da configuração do marcapasso"... (Link para PDF). Você vai querer lê-lo uma dúzia de vezes, e então tentar implementá-lo, e então lê-lo mais uma dúzia de vezes para que você possa realmente grocá-lo.
A implementação de serviços de cluster para Linux com melhor suporte neste momento provavelmente será o SLES11 da Novell e sua Extensão de Alta Disponibilidade (HAE). Ele APENAS foi lançado há um ou dois meses e vem com um manual grosso de 200 páginas que descreve como configurá-lo e fazer as coisas funcionarem. A Novell também tem sido excelente no suporte a configurações do Pacemaker de várias formas.
Além disso, tem a implementação do RHEL5, que tem o mesmo pacote e documentação decente, mas acho que é mais caro que o SLES. Pelo menos, é para nós.
Eu evitaria o Heartbeat agora e usaria o Pacekmaker/OpenAIS porque eles terão um suporte muito melhor no futuro. NO ENTANTO, o estado atual da comunidade é tal que existem alguns especialistas, algumas pessoas que a administram em produção e há uma tonelada de pessoas que são completamente ignorantes. Junte-se à lista de discussão do Pacemaker e preste atenção a um homem chamado Andrew Beekhof.
Edite para fornecer os detalhes solicitados:
O Pacemaker/OpenAIS usa uma operação de 'monitoramento' em um 'recurso primitivo' (por exemplo, servidor nfs) para acompanhar o que o recurso está fazendo. Se o servidor NFS de exemplo não responder ao restante do cluster por X segundos, o cluster executará uma operação STONITH (atirar no outro nó na cabeça) para desligar o nó primário, promovendo o nó secundário para ativo. Você decide na configuração o que exibir posteriormente e as ações associadas a serem executadas. Os detalhes de implementação dependem de qual serviço você está tentando fazer failover, janelas de execução para determinadas operações (como promover o nó primário de volta ao mestre) e tudo é o mais configurável possível.
Responder4
Com o Linux implementamos clustering com heartbeat e drbd. Heartbeat verifica o status do servidor. DRBD é usado para sincronização de dados entre servidores. Temos o serviço Oracle rodando em um servidor e o Apache em outro servidor. Quando o servidor que executa o Oracle falha, o heartbeat detecta o mesmo e restaura o serviço Oracle no servidor que executa o Apache. e vice-versa. Tenho usado esta configuração para muitos outros fins e tem sido confiável até agora.