Re: vrrp process failed to die
Quentin Armitage <[email protected]> Thu, 01 Feb 2018 15:59:53 +0000
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Organization | The Armitage family |
| Message-ID | <[email protected]> |
Damien, What I think could be happening here is that syslog is rate limiting the messages to the log, and so some of them are being missed. If you run keepalived with the --log-file=FILE_NAME, then the log details will be written to the file, and those entries will not be rate limited. If you also want to not have messages logged via syslog, add the -G option. It might also be worth adding --flush-log-file if you are using the --log-file option, to make sure that no log entries are lost due to being buffered before keepalived dies. The parent process, after it has sent a terminate signal, allows the child processes (vrrp and healthchecker) 5 seconds to terminate, and if that expires the parent assumes that the child has "got stuck" and so forcibly terminates it (SIGKILL). What I think is happening in your case is that the vrrp child process is not terminating within the 5 seconds, and so the parent process is sending it SIGKILL. I think the first thing to try is extending the timeout. The is defined in keepalived/core/main.c - CHILD_WAIT_SECS. Could you try extending that until keepalived has time to remove all the vrrp interfaces (this is where the --log-file option will be really helpful so that you can see the rate at which interfaces are being deleted). If extending CHILD_WAIT_SECS works I will look at adding that as a configurable parameter. If you could send to me the scripts that you are using to generate your configuration and the parameters you are using (or just your configuration file), I will see if I can reproduce the problem (it would also be useful to know the specification and speed of the processor(s) you have in you system so that I can get a feel for the rate at which interfaces can be deleted). I'm happy to add a short delay between creating interfaces if that turns out to be the solution. Quentin On Thu, 2018-02-01 at 15:20 +0000, Damien Clabaut wrote: > Hello, > > When running Keepalived with a lot of instances, I run into the following issue: > On shutdown, keepalived crashes and fails to remove all VRRP interfaces from system. > > Logs: > Feb 1 16:16:46 bz-perflab-6-vr Keepalived[28725]: Stopping > Feb 1 16:16:46 bz-perflab-6-vr Keepalived_vrrp[28726]: (42) sent 0 priority > Feb 1 16:16:46 bz-perflab-6-vr Keepalived_vrrp[28726]: (42) removing protocol VIPs. > (Same 2 lines for all instances) > Feb 1 16:16:46 bz-perflab-6-vr Keepalived_vrrp[28726]: (6200) sent 0 priority > Feb 1 16:16:46 bz-perflab-6-vr Keepalived_vrrp[28726]: (6200) removing protocol VIPs. > Feb 1 16:16:47 bz-perflab-6-vr Keepalived_vrrp[28726]: vmac: Success removing VMAC interface vrrp4.2.1 for vrrp_instance 42 > (Same line for several instances) > Feb 1 16:16:51 bz-perflab-6-vr Keepalived_vrrp[28726]: vmac: Success removing VMAC interface vrrp4.14.1 for vrrp_instance 414 > Feb 1 16:16:51 bz-perflab-6-vr Keepalived[28725]: vrrp process failed to die - forcing termination > Feb 1 16:16:51 bz-perflab-6-vr Keepalived[28725]: Stopped Keepalived v2.0.0 (01/28,2018), git commit v1.4.1-9-g03cf9be > > Has anyone else ran into this issue ? > Regards, > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Keepalived-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/keepalived-devel