2 votes

keepalived ne démarre pas

J'ai compilé et configuré keepalived mais elle ne démarre pas.

Voici ma configuration de base ;

    vrrp_sync_group PUBLIC_WEB_IPS {
            group {
                    public_http_ip_lan
            }
    }

    vrrp_instance public_http_ip_lan {
            state MASTER
            interface br1118
            virtual_router_id 18
            priority 100
            advert_int 1
            virtual_ipaddress {
                    192.168.0.254/24 dev br1118
            }
            nopreempt

    }

Lorsque je démarre keepalived, je n'obtiens aucune erreur, mais il semble qu'il y ait la plupart du temps une attente au démarrage, puis des pauses/arrêts ? Voici l'extrait de /var/log/syslog au démarrage keepalived ;

Apr 11 17:25:33 basil Keepalived[8047]: Starting Keepalived v1.2.7 (04/08,2013)
Apr 11 17:25:33 basil Keepalived[8048]: Starting Healthcheck child process, pid=8051
Apr 11 17:25:33 basil Keepalived[8048]: Starting VRRP child process, pid=8052
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Initializing ipvs 2.6
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Interface queue is empty
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, eth0
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, eth1.116
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, br1116
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, eth1.118
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, br1118
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP 10.0.115.69 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP 10.0.116.249 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP 192.168.0.250 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::220:edff:fe9f:9774 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Registering Kernel netlink reflector
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Registering Kernel netlink command channel
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Configuration is using : 2777 Bytes
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Using LinkWatch kernel netlink reflector...

keepalived est toujours en cours d'exécution (et l'utilisation du CPU est de 2~3%, RAM 10%)

user@basil:/usr/local/etc/keepalived$ ps aux | grep keepalived
root      8048  0.0  0.1   8372   808 ?        Ss   17:25   0:00 /usr/local/sbin/keepalived -D
root      8051  0.0  0.3   8492  1820 ?        S    17:25   0:00 /usr/local/sbin/keepalived -D
root      8052  0.0  0.2   8492  1344 ?        S    17:25   0:00 /usr/local/sbin/keepalived -D

Rien n'apparaît dans tcpdump lorsque je démarre keepalived, aucune publicité par exemple :

user@basil:~$ sudo tcpdump -nlASX -s 0 -vvv -e src net 192.168.0.0/24 and not port 22tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

L'interface du pont est en place (car elle fonctionne sur un vlan séparé) ;

user@basil:/usr/local/etc/keepalived$ ip a s br1118
11: br1118: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:a0:c9:8f:41:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.250/24 brd 192.168.0.255 scope global br1118
    inet6 fe80::2a0:c9ff:fe8f:4164/64 scope link 
       valid_lft forever preferred_lft forever

Je peux envoyer un ping aux hôtes de ce VLAN. Qu'est-ce qui se passe ici ? Je pense que j'ai fait une erreur stupide, mais je ne vois rien d'anormal.

UPDATE :

Comme demandé :

user@basil:~$ ifconfig -a
br1116    Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
          inet addr:xxxxx  Bcast:xxxxx  Mask:xxxx
          inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1120 (1.0 KiB)  TX bytes:468 (468.0 B)

br1118    Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
          inet addr:xxxxx  Bcast:xxxxx  Mask:xxxx
          inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1064 (1.0 KiB)  TX bytes:468 (468.0 B)

eth0      Link encap:Ethernet  HWaddr 00:20:ed:9f:97:74  
          inet addr:xxxx  Bcast:xxxxx  Mask:xxxxx
          inet6 addr: fe80::220:edff:fe9f:9774/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169 errors:0 dropped:0 overruns:0 frame:0
          TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20019 (19.5 KiB)  TX bytes:11089 (10.8 KiB)

eth1      Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
          inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:150 errors:0 dropped:10 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11680 (11.4 KiB)  TX bytes:2436 (2.3 KiB)

eth1.116  Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
          inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1120 (1.0 KiB)  TX bytes:936 (936.0 B)

eth1.118  Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
          inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1064 (1.0 KiB)  TX bytes:936 (936.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:732 (732.0 B)  TX bytes:732 (732.0 B)

Je viens de redémarrer cette boîte, c'est pourquoi les compteurs de trafic sont bas.

2voto

jwbensley Points 4092

Le scénario que j'ai vécu était que keepalived démarre et ne fait rien, avec la dernière ligne de journal étant ;

Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Using LinkWatch
kernel netlink reflector...

Après avoir supprimé la configuration et recommencé à zéro, j'ai constaté qu'il existe deux scénarios dans lesquels keepalived s'arrête à ce stade et ne fait rien ;

  1. Keepalived est dirigé vers le fichier keepalived.conf, il démarre donc techniquement sans configuration.

  2. Keepalived charge le fichier de configuration, mais il y a une erreur (typo par exemple)

2voto

multiholle Points 213

Les problèmes de démarrage avec keepalived sont généralement dus à une erreur dans le fichier keepalived.conf. Keepalived ne prend actuellement pas en charge la vérification du fichier de configuration et s'il trouve des erreurs, il les ignore généralement.

Mais il existe un moyen de détecter plus facilement les problèmes de configuration. Vous devriez démarrer keepalived avec un -d qui déversera les données de configuration dans le syslog. Si vous l'avez installé à partir d'un paquetage Red Hat/Centos, éditez simplement /etc/sysconfig/keepalived et ajouter le -d à la variable KEEPALIVED_OPTIONS :

KEEPALIVED_OPTIONS="-D -d"

Maintenant, lorsque vous démarrez keepalived, vous serez en mesure de lire dans syslog les données de configuration que keepalived a analysées. Aussi, si certaines parties de la configuration fonctionnent et d'autres non, c'est probablement parce que vous avez oublié de fermer un bloc de configuration avec un crochet fermant.

1voto

Yauhen Yakimovich Points 477

J'ai eu le même problème avec RHEL 6.5, si vous compilez keepalived à partir des sources, les fichiers de configuration sont placés à l'emplacement suivant /usr/local/etc/keepalived pour une raison ou une autre, keepalived n'a pas été pris en compte, j'ai donc pris le fichier keepalived.conf et l'ai placé dans le répertoire /etc/keepalived.conf et /etc/keepalived/keepalived.conf et tout a fonctionné après ça !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X