Como lidar com IPs com failover manual?

4

Eu tenho dois hosts de armazenamento idênticos, onde o mestre é o único que os usuários podem acessar. Se o mestre falhar, quero alterar manualmente o endereço DHCP, então, em vez de master apontar para 10.10.10.10 , ele deve apontar para 10.10.10.11 .

Existem scripts de replicação que dependem de endereços IP, portanto, se o mestre alterar o endereço IP, será necessário modificar o IP nos scripts, para que os dados ainda sejam replicados do mestre para o escravo.

Pergunta

É uma tarefa bastante propensa a erros alternar endereços IP e editar scripts. Existe uma prática comum de como esse tipo de failover manual é feito? Por exemplo. adicionando uma camada de abstração de algum tipo?

    
por Sandra 16.01.2014 / 11:09

2 respostas

13

A prática comum é ter um endereço IP e um nome separados para o serviço, um separado do endereço IP e nome do servidor real.

Nesse caso, você tem

master 10.10.10.10
slave  10.10.10.11

Um terceiro nome poderia ser

storage 10.10.10.12

Seus clientes devem usar "armazenamento" em vez de "mestre" quando se conectarem ao serviço.

Contanto que master esteja on-line, 10.10.10.12 deverá ser uma interface virtual em master . Se master estiver inoperante, apresente 10.10.10.12 como uma interface virtual em slave .

Evite usar endereços IP em scripts na medida do possível. Se as pesquisas de DNS não forem uma opção em um caso específico, use um arquivo de configuração ou os arquivos / etc / hosts para mapear nomes de host para endereços IP.

    
por 16.01.2014 / 11:17
0

Se você quiser uma solução mais automática para o failover, consulte algo como keepalived with usa o protocolo VRRP.

Mais informações podem ser encontradas aqui

IP virtual 10.10.10.10 (Este é um endereço IP virtual e está configurado em ambos os hosts)

IP mestre 10.10.10.11

IP escravo 10.10.10.12

Desta forma você não terá que abrir a segunda interface do escravo e você terá muito pouco (talvez um segundo ou mais) de tempo de inatividade.

    
por 16.01.2014 / 11:36