parâmetros IP virtuais de failover com keepalive

1

Eu tenho dois servidores (A-master e B-backup) com um ip virtual.

Eu preciso atribuir o ip virtual ao servidor B caso o servidor A falhe. Para isso estou tentando configurar keepalived.

servidor Um ip virtual é configurado em eth0: 1 ip virtual do servidor B está atualmente configurado para algum outro endereço ip em eth0: 1

Não sei como configurar o keealived. eu tenho que atribuir o mesmo ip virtual para ambos os servidores e começar keepalived ou definir ip virtual apenas no servidor A

    
por ivcode 27.08.2014 / 15:02

1 resposta

2

Em primeiro lugar, as interfaces alias como eth0: 1 costumavam ser importantes há cerca de 15 anos, quando uma interface de rede só podia hospedar um único endereço IP. Por mais de uma década, você pode adicionar vários endereços IP à mesma interface de rede sem precisar usar aliases de interface:

/sbin/ip address add 192.0.2.123/32 dev eth0
/sbin/ip address add 192.0.2.124/32 dev eth0
/sbin/ip address add 192.0.2.125/32 dev eth0
/sbin/ip address list
/sbin/ip address del 192.0.2.124/32 dev eth0
/sbin/ip address list dev eth0

Portanto, apenas no caso de você considerar a ideia de ter apenas um único endereço IP por interface: esqueça, não há muita necessidade de fazê-lo, e o keepalived também não seguirá essa ideia.

Essencialmente, você atribuirá IPs individuais a cada um de seus servidores manualmente e configurará o keepalived para cuidar da adição ou remoção de uma lista de IPs extras virtuais para uma das interfaces de seus servidores.

vrrp_instance VRRP_1 {
    state BACKUP
    interface eth0
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass sometext
    }
    virtual_ipaddress {
        192.0.2.123
    }
}

Isso fará com que o Keepalived em ambos os hosts periodicamente anuncie (usando seus IPs configurados manualmente) está pronto para hospedar uma lista específica de IPs virtuais (máx. 20); Esse anúncio também contém uma prioridade (8 bits) e um token de autenticação (máximo de 8 caracteres).

Se um de seus hosts não vir um anúncio para o mesmo virtual_router_id usando a mesma autenticação e para a mesma lista de max. 20 IPs e sem prioridade maior que a sua dentro de alguns segundos, ele adicionará esses IPs extras à interface do host, caso contrário, eles serão removidos da interface do host.

Se seus hosts estiverem usando a mesma prioridade: o endereço IP de anúncio também é usado para decidir quem hospedará esse endereço IP virtual.

keepalived também irá avisar (e ignorar quaisquer outros anúncios) se você estiver usando o mesmo virtual_router_id do que qualquer outra pessoa na sua rede, mas você está usando uma lista diferente de IPs ou um token de autenticação diferente.

O estado "MASTER" e "BACKUP" do keepalived é usado apenas para uma suposição de inicialização na inicialização: um sistema iniciando no estado "MASTER" não esperará nenhum outro anúncio chegar e imediatamente começará a adicionar o endereço IP extra. um nó BACKUP aguardará alguns possíveis comunicados antes de decidir se deve adicionar o endereço IP extra.

Por favor, certifique-se de que seu nó BACKUP não está anunciando o endereço IP com uma prioridade maior que o MASTER; caso contrário, seu nó MASTER assumirá imediatamente o endereço IP após iniciar o keepalived e, alguns segundos depois, o nó BACKUP assumirá esse endereço IP.

Minha preferência pessoal é não se preocupar com "MASTER", configurar todos os nós para "BACKUP" e deixar que o VRRP decida o que precisa ser feito sem o controle do flip-flop.

    
por 27.08.2014 / 19:31