Não é possível iniciar o keepalived

1

Estou tentando criar o balanceador de carga usando o IP virtual. Eu indiquei este link Load Balancer usando o Virtual IP . Depois de configurar por engano, iniciei o serviço keepalived do servidor de backup primeiro e, em seguida, iniciei o keepalived do servidor master. O problema é que o keepalived do servidor de backup está funcionando bem, mas não consigo iniciar o keepalived do servidor master. Eu tentei desinstalar o keepalived e instalado novamente, mas isso não funcionou. Aqui estão os arquivos de configuração

Servidor principal

vrrp_script chk_haproxy {
   script "killall -0 haproxy"   # verify the pid existance
   interval 2                    # check every 2 seconds
   weight 2                      # add 2 points of prio if OK
}

vrrp_instance VI_1 {
   interface eth0                # interface to monitor
   state MASTER
   virtual_router_id 51          # Assign one ID for this route
   priority 101                  # 101 on master, 100 on backup
   virtual_ipaddress {
       192.168.0.54            # the virtual IP
   }
   track_script {
       chk_haproxy
   }
}

Servidor de backup

vrrp_script chk_haproxy {
   script "killall -0 haproxy"   # verify the pid existance
   interval 2                    # check every 2 seconds
   weight 2                      # add 2 points of prio if OK
}

vrrp_instance VI_1 {
   interface eth0                # interface to monitor
   state MASTER
   virtual_router_id 51          # Assign one ID for this route
   priority 100                  # 101 on master, 100 on backup
   virtual_ipaddress {
       192.168.0.54            # the virtual IP
   }
   track_script {
       chk_haproxy
   }
}

Saída do servidor mestre ao iniciar o serviço keepalived

$ sudo service keepalived start
* Starting keepalived keepalived                                        [fail]

Saída do servidor de backup ao iniciar o serviço keepalived

$ sudo service keepalived start
* Starting keepalived keepalived                                        [Ok]

Alguém está sugerindo o que estou fazendo de errado aqui?

Atualize de acordo com os comentários: Log do servidor principal:

cat /var/log/syslog | grep VRRP_Instance

Here it does not prints anything which mean that the keepalived does not start on Master server

Log dos servidores de backup:

cat /var/log/syslog | grep VRRP_Instance
Mar 27 02:39:22 ubuntu keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 27 02:39:23 ubuntu keepalived_vrrp: VRRP_Instance(VI_1) Entering to MASTER STATE
Mar 27 02:39:38 ubuntu keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 27 02:39:39 ubuntu keepalived_vrrp: VRRP_Instance(VI_1) Entering to MASTER STATE
Mar 27 02:52:16 ubuntu keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert
Mar 27 02:52:16 ubuntu keepalived_vrrp: VRRP_Instance(VI_1) Entering to BACKUP STATE

Além disso, mais uma coisa depois de se referir a um site, alterei o estado no arquivo keepalived.conf do servidor de backup para o estado BACKUP

    
por Vighanesh Gursale 27.03.2015 / 12:27

3 respostas

0

Você configurou mal sua instância do VRRP. Você tem state MASTER em ambos os nós, mas você pode ter apenas um mestre. Configure o servidor de backup para state BACKUP e ele funcionará. Em geral, as regras são bem simples:

O mesmo nos dois servidores:

  • virtual_router_id - deve ser uniq para cada grupo de servidores
  • virtual_ip

Diferente nos dois servidores:

  • Nome da instância (vrrp_instance ISTO-IS-INSTANCE-NAME {)
  • state (MASTER em um, BACKUP em outros)
  • prioridade (uniq para cada nó, maior para o mestre)
por 26.04.2016 / 16:45
0

state MASTER só pode ser definido como um dos nós. Alternativamente, ambos configurados para state BACKUP , serão automaticamente selecionados em MASTER por prioridade.

    
por 26.04.2016 / 17:31
0

Seria útil se você pudesse repostar sua configuração atual. Talvez experimente isso.

Servidor principal

vrrp_script chk_haproxy {
   script "pidof haproxy"        # check the pid not kill it
   interval 2                    # check every 2 seconds
   weight 2                      # add 2 points of prio if OK
}

vrrp_instance VI_1 {
   interface eth0                # interface to monitor
   state MASTER
   virtual_router_id 51          # Assign one ID for this route
   priority 150                  # 150 on master, 100 on backup
   unicast_peer {
       <backup ip address>
   }
   virtual_ipaddress {
       192.168.0.54            # the virtual IP
   }
   track_script {
       chk_haproxy
  }
}

Servidor de backup

Tudo o mesmo que o mestre, mas mude:

state BACKUP
priority 100
unicast_peer {
     <master ip address>
}

verifique se você está permitindo o protocolo VRRP (protocolo IP 112) entre mestre e backup. Verifique o estado de cada um deles em /var/run/keepalived.INSTANCE.VI_1.state Certifique-se de que o haproxy começa antes do serviço de manutenção.

    
por 25.03.2018 / 00:55