Jan Kasprzak wanted us to know:
> I use IPVS with direct routing and wrr scheduler. The problem is
>that for some configurations I get "icmp port unreachable" when one of the
>real servers fails and is removed from the ip_vs tables. I have managed
>to keep ldirectord out of the picture. The smallest case where I can
>replicate the problem is the following:
then Jan Kasprzak wanted us to know:
> I have one thing to add: It is probably related to using
>very different weights. On one virtual server I use weights of 100 and 133
>just to reflect the real servers' CPU power, and this one seems to be OK.
>On other virtual server I use weigths of 1, 1, 100, and 10000 to make
>one particular real server to be used all the time, provided that it is
>alive. On this virtual server I get "connection refused" (port unreachable)
>when the main real server goes down.
What exactly do you mean by "keep ldirectord out of the picture"?
During the time period when the server is unreachable and ldirectord
hasn't probed for it yet, then yes, you will get unreachable.
But it sounds like you're saying:
1) I have an active real server, serving packets.
2) I turn off real server.
3) I remove virtual line from ipvs.
4) Then I try to connect and get a connection refused.
How many times does #4 happen? Does it do it if you test from a
different machine? I did notice that if I do a sequence of wgets from
the same machine, it seems to mostly go to the same real machine. If I
pause a bit (a few seconds) or try it from other machines, then it
alternates between them.
--
Regards... Todd
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. --Benjamin Franklin
Linux kernel 2.6.8.1-12mdkenterprise load average: 0.05, 0.02, 0.00
|