LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Routing and Topology

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Routing and Topology
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Fri, 18 Jan 2002 23:40:55 +0100
Hi,

> In the LVS-HOWTO I found this topology for LVS-DR. I'm curious to
> know if each realserver *must* have it's own router? Can one use
> just one

It's not at all a must, because this would be very costly :)

> router? Can the realserver run routing software on itself to achieve
> this?

It's given by the topology of the RS in LVS_DR.

> Also, may I infer from this diagram that each realserver must have
> two NIC's? How many switches will I need for this configuration? I
> also wan

Only one NIC is needed, it is a design consideration of the guy who draw
this sketch. I'll try to give you a better one. See below.

> to make a Database Server available for the realservers to access.
> (Not in diagram).

Then you need two NICs and a 2-Tier architecture. Shown below.

> Sorry for all the questions but I'm still a bit confused.

No problem, it isn't clear at all if you didn't know it beforehand.

Joe, would you like to add this sketch to the Howto instead?

                  .........
                  .clients.                        [Internet]
                  .........
                      |
                      |                            [ATM/T1/...]
                      |
                 +----+----+
                 |  router | [router pool running HSRP]
                 +----+----+
                      |
       o-------+------+-----+----+----+----------o [switch0]
               |(0)         |(1) |(2) |(3)
               |            |    |    |
          +----+----+       |    |    +----------o \
          |   pf0   |       |    +---------------o  >[switch(n)]
          +----+----+       +--------------------o /
               | DGW0
               |
               |
               |  +---------+
               |  |  lb0/DR |                      [HA director]
               |  +----+----+
               |  DIP0 | VIP0
               |       |
       o-------+---+---+--------+------------+---o [lb-switch0]
                   |            |            |
              RIP0 | VIP0  RIP1 | VIP0  RIP2 | VIP0
               +---+---+    +---+---+    +---+---+
               |  RS0  |    |  RS1  |    |  RS2  | [ -> RS(n)]
               +---+---+    +---+---+    +---+---+
              RIP3 |       RIP4 |       RIP5 |
                   |            |            |
       o-------+---+------------+------------+---o [fw-switch0]
               |
          +---------+
          | opt. fw0| [this app. level fw is optional]
          +----+----+
               |
       o-------+---+------------+------------+---o [db-switch0]
                   |            |            |
               +---+---+    +---+---+    +---+---+
               |       | xx |       | xx |       |
               |  db0  +----+  db1  +----+  db2  | [ -> db(n)]
               |       |    |       |    |       |
               +-------+    +-------+    +-------+


       Explanation
       -----------
       pf: packetfilter protecting the lb a little bit
       lb: load balancer in LVS_DR mode
       RS: real server with VIP configured on loopback
       fw: firewall with db proxy (optional)
       db: database server for storage
       xx: some kind of shared mounts with STOMITH support

       - for pf0/lb0 and fw0 you have to imaging two machines
         each, a master and a slave server setup using code
         from the marvellous www.linux-ha.org or keepalived
         from keepalived.sf.net using VRRPv2.
       - the router has its own VRRP, namely HSRP.
       - (0) refers to service zone 0, (1) to service zone 1
         and so one.
       - connection comes from client, goes over pf0 to lb0,
         because you handled the arp-problem. Lb0 distibutes
         traffic among the RS. A RS needs to make a db query
         and therefore connects over the fw0 to the db cluster.
         The db server(s) reply, the RS puts together all he
         needs to satisfy the client and send the packet to
         the DGW directly. The DGW (here pf0) send the packet
         back via the router cluster into the Internet to
         the happy client.
       - Client is happy, customer is happy, your boss is happy,
         you're happy, you get the money, go out for a beer and
         you rule. (Something aunt Tillie couldn't do).

Ok, I hope you understand it and it helps you. Best regards,
Roberto Nibali, ratz



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