Hello,
Thanks for your advice.
> I think I'm right in saying (and I'm only wrong 72.3% of the time)
>
> Hideaki Kondo wrote:
>>> (4)And then recover the NIC(eth0) of RS2 intentionally by executing
>>> manually
>>> "/etc/init.d/network restart".
>>> After a while, LB1 starts sending http packets to RS1 and RS2 in
>>> spite of
>>> still weight 0 of RS2. Moreover, LB1 is sending the packets to RS2
>>> much
>>> less than RS1.
>>> (This strange behavior continues permanently. So I think the cause of
>>> the behavior isn't always in a retransmit process of TCP Layer.
>>> In fact, the strange behavior stops when i stop the high load from
>>> CL1)
>>>
> Thats the default behavior of LVS:
>
> expire_nodest_conn - BOOLEAN
>
> 0 - disabled (default)
> not 0 - enabled
>
> The default value is 0, the load balancer will silently drop
> packets when its destination server is not available. It may
> be useful, when user-space monitoring program deletes the
> destination server (because of server overload or wrong
> detection) and add back the server later, and the connections
> to the server can continue.
>
> If this feature is enabled, the load balancer will expire the
> connection immediately when a packet arrives and its
> destination server is not available, then the client program
> will be notified that the connection is closed. This is
> equivalent to the feature some people requires to flush
> connections when its destination is not available.
I've understood about your comment.
After setting expire_nodest_conn to enable(1),
I checked the trouble again.
(I tried to set for /proc/sys/net/ipv4/vs/expire_nodest_conn
and source-code(ip_vs_ctl.c) )
But the loadbalancing trouble and the strange behavior
don't change.
As far as checking "ipvsadm -L or ipvsadm -Lc",
InActConns is increasing as same as expire_nodest_conn is disable.
I wonder I make some mistakes for setting the parameter ...
>
> (6)Then stop all high load (while_wget & while_ab) from CL1, and wait
> for a few
>>> minutes by becoming to be close to 0 about ActiveConns +
>>> InActiveConns.
>>> And start a new high load from CL1 by while_wget & while_ab, then
>>> LB1 is correctly and evenly loadbalancing to RS1 and RS2 as same as
>>> (1)
>>>
>>>
>>
> Because the connection template is now clean.
Certainly, when ActiveConns + InActiveConnes is clean,
the trouble don't occur.
--
Hideaki kondo
|