LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: question on faq 4.18

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: question on faq 4.18
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Sat, 21 Jan 2006 11:06:10 +0100
What you've suggested is the "single VIP" case of the above idea. It
worked for me, it seems to have worked for Rob Wilson, so casting aside
the fact that you might have multiple VIPs frontending multiple
realserver clusters (as is my case) I can't see any reason why you
shouldn't just go for it.

Right.  In fact, after reading your solution again, I think your solution is
the more useful general case, where there may be an arbitrary number of
VIPs, RIPs, and groupings of real servers (which I don't need right now, but
I've realized I will need it down the road).  I have some Alteons that call
these real server groups, not sure what the LVS equivalent is, but here's a
short illustration.

There is none, really. But I think Alteon (Nortel) only has this feature for adminstrative reasons, so you can assign a group by its identifier to a VIP. What I would love to see with LVS is the VSR approach and a proper and working imlementation of VRRP or CARP. I've just recently set up a 2208 switch using one VSRs and 2 VIRs, doing failover when either the link or the DGW is not reachable anymore. The sexy thing about this setup is that you don't need to fiddle around with arp problems and you don't need to have NAT, so balancing schedulers can get meaningful L7 information.

Assume 1 director, 3 VIPs, 4 RIPs on 4 real servers.  Assume we have real
server groups (RG) RG1 (RIP1-2), RG2 (RIP3-4), RG3 (RIP1-4).  VIP1 goes to
RG1, VIP2 goes to RG2, VIP3 goes to RG3.

It's just an administrative layer with an identifier. We could add such a layer in ipvsadm and the IPVS code, however what benefit do you see in such an approach?

One problem I see with the Alteon approach is that if you add a RS to a group, to my avail it can only pertain to one RG. This is a bit suboptimal if you want to use RS as spillover servers on top of their normal functionality. Regarding your example, I'd like to say, that RG1 is a spillover group for RG3. You can specify (IIRC) a spare server of each RG in AltheOS, however not cross-RG wise. Correct me if I'm wrong, please.

In my solution, servers in RG1 can simply put VIP1 and VIP3 on dummy
interfaces, but for proxy requests they will only be able to talk to
themselves.  They will not be able to talk to VIP2.  All servers should be
able to talk to VIP3.  Your solution solves this by using fwmark.
Am I correct on all of this?

Yes, fwmark solves almost all problems ;).

Cheers,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc

<Prev in Thread] Current Thread [Next in Thread>