On Wed, Aug 20, 2008 at 03:46:34PM +0900, Christian Balzer wrote:
> Hello,
>
> On Wed, 20 Aug 2008 11:28:52 +1000 Simon Horman wrote:
> >
> > More precisely, the destinations are stored in a linked list.
> > Insertions are always made at the end of the link list.
> > Removals are done in place. The list is never reordered,
> > other than through the effects of insertions and removals.
> > It is the order of entries in the link list that determines
> > what the hash table used like -SH looks like.
> >
> > So if the list is the same, the hash will be the same.
> > Otherwise it won't be.
> >
> > If you are using something like ldirectord to monitor real-servers
> > and add and remove them (not quiesce them), then its entirely
> > likely that the order of the list will become inconsistent between
> > two linux directors over time.
> >
> I suppose the majority of people are using ldirectord.
>
> > If on the other hand you just run ipvsadm once on boot to set
> > up the real servers, or your ldirectord-tool quiesces dead real servers,
> > then the order of the list shouldn't change and should be consistent
> > between two linux directors.
> >
> That would be sage advice if you actually COULD quiesce real servers with
> SH. And I really hate to keep quoting myself here, but maybe one of these
> days somebody with something resembling a clue might actually deem to
> look at this and answer/fix it. ^_-
> See:
> http://archive.linuxvirtualserver.org/html/lvs-users/2008-03/msg00070.html
Sorry, I missed that one.
Looking over the code I am surprised that it doesn't work,
as I see the same things in ip_vs_sh_schedule() that you were seeing.
I will try to reproduce this one.
|