Well this is not an LVS specific suggestion, but have you considered
using virtualization to split your physical machine(s) into multiple
virtual machines? Say something like Xen? See
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
Since Lvs is so light on resource usage, and Xen only eats up 2-3% of
the machines performance, you will probably not notice much of a
performance hit going this route, and you can sidestep all the
complications of trying to figure out how to use a director as a real
server as well.
Of course you will have new complications of how to set up Xen system images :)
Just a thought.
Dennis
On 6/20/05, Dave Whitla <dave.whitla@xxxxxxxxx> wrote:
> Having read through the list archives looking for a solution to my
> problem, it seems as though variations of this request have been posted
> a few times over the last few years without success. However the
> posters expressed their problem in rather unclear terms. I will attempt
> to describe it more clearly.
>
> I am trying to load balance to two "real" servers which are actually
> listening on virtual IPs on the load-balancing host. Why would I want to
> do this?
> To build a test environment for a web application which usually runs on
> an IPVS cluster. The purpose of the test environment is to test for
> database/cache contention issues before we deploy to our production
> cluster. The catch is I must make the test environment (lvs director + 2
> x application server instances) run on one physical host (each
> developer's development machine).
>
> The man page for ipvsadm makes specific mention of forwarding to real
> servers which are in fact running on local interfaces stating that the
> load balancing "forward" mechanism specified for a virtual service is
> completely ignored if the kernel detects that a real server's IP is
> actually a local interface. The "Local Node" page describes a
> configuration in which I could load balance between a "real" server
> running on the director's virtual service IP and a real server running
> on another host. This does not solve my problem however as I must bind
> each instance of my application to a different IP address on the same
> physical box.
>
> You may be thinking "Why not run the two instances on different ports on
> the same IP (the virtual service IP)?". Sadly the application is not a
> simple web-site, and source code and deployment container dependencies
> on certain port numbers exist. eg RMI-IIOP listeners.
>
> Does anyone know of some config or kernel hack, patch or whatever which
> might make my ipvs present forwarded packets to the virtual interfaces
> as though they had appeared on the wire so that my forward directives
> are not ignored and the packets are not simply presented to the TCP
> stack for the virtual service IP? I guess this is like NAT to local
> destination addresses (as opposed to NAT of locally originated
> connections which is supported in the kernel).
> _______________________________________________
> LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
> Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
> or go to http://www.in-addr.de/mailman/listinfo/lvs-users
>
|