Re: vrrp process failed to die
Damien Clabaut <[email protected]> Thu, 1 Feb 2018 16:37:37 +0000
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello Quentin and thank you for your answer. I changed the timeout to 20 seconds, and like before, it seems to match. With 5sec timeout: Feb 1 16:16:46 bz-perflab-6-vr Keepalived[28725]: Stopping Feb 1 16:16:51 bz-perflab-6-vr Keepalived[28725]: vrrp process failed to die - forcing termination With 20sec timeout: Feb 1 17:25:54 bz-perflab-6-vr Keepalived[33839]: Stopping Feb 1 17:26:14 bz-perflab-6-vr Keepalived[33839]: vrrp process failed to die - forcing termination From quick checks at logs it looks like I can remove 6 to 8 instances per second, more or less. This may be different on other systems. Would it be possible to make the CHILD_WAIT_SECS initialized to (Number of instances / 4) seconds on Keepalived startup ? We (OVH) can probably spend some time patching it ourselves then pushing the code to Github. Regards, On Thu, 2018-02-01 at 15:59 +0000, Quentin Armitage wrote: > 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]: Stoppingb 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, > > -- Damien Clabaut R&D vRouter OVH ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot