From: Tobias DiPasquale <codeslinger@gmail.com>
To: Henrik Nordstrom <hno@marasystems.com>
Cc: KOVACS Krisztian <hidden@balabit.hu>,
Harald Welte <laforge@netfilter.org>,
netfilter-devel <netfilter-devel@lists.netfilter.org>,
Sven Schuster <schuster.sven@gmx.de>,
Netfilter-failover list <netfilter-failover@lists.netfilter.org>,
Jamal Hadi Salim <hadi@znyx.com>
Subject: Re: [nf-failover] Re: [RFC] ct_sync 0.15 (corrected)
Date: Tue, 28 Sep 2004 23:00:23 -0400 [thread overview]
Message-ID: <876ef97a040928200055db3741@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.61.0409290111570.3760@filer.marasystems.com>
On Wed, 29 Sep 2004 01:36:19 +0200 (CEST), Henrik Nordstrom
<hno@marasystems.com> wrote:
> There is many ways to get traffic on an node, each having their
> complications and limitations.
>
> For unicast you need to find some method to divide the address space using
> existing metrics supported by your network. If we assume the trivial setup
> of an HA active-active server then this can for example be done by routing
> the traffic based on the source IP or by client based balancing by
> publishing the service using multiple IPs. In a forwarding NAT firewall it
> gets a little more complex as you have two sides with slightly different
> metrics to care about. And N node setups gets even more complex as you
> then need to be able to divide and merge contexts across several nodes
> when adding/removing nodes unless you accept a imbalance in the load if a
> node member has failed (fixed contexts, where one node at a time is master
> per context).
The idea of what I was saying is still the same: active-active implies
making multiple machines answer for a single address, whether its a
firewall, load-balancer, DNS server, HTTP server or anything else.
Advertising the service on multiple IPs just means you have x * y
machines, where x == number of advertised addresses and y == number of
machines that actively service each individual advertised address.
> If you do not have any reasonable support for balancing in your network
> layer then you can either introduce a load balancer layer or use multicast
> (broadcast MAC, or by MAC cloning if supported by the network equipment..
> not all switches like MAC cloning)
I thought that having all of the active nodes respond to ARP requests
for the virtual IP would handle that, as the switch could no longer
bind an IP address to a particular switch port? Is that not the case
with some hardware?
> The multicast approach provides full flexibility in how connections are
> migrated among the nodes, but does not scale very well as all nodes sees
> all traffic.
Yeah, that's for sure.
> A simple unicast load balancing which does work with most equipment is
> policy routing based on IP's. Ports is also doable in most equipment but
> limits the protocols which can be supported.
>
> Statically divide the "clients" in N groups, each group assigned to one
> virtual firewall with a virtual MAC address.
>
> failover this virtual firewall among the nodes in the cluster as needed.
> there may only be one master at a time per virtual firewall but each node
> can be master for several virtual firewalls.
Right, but same situation as above. There are still multiple machines
acting as one by way of a virtual address.
> connections need to be ct_sync:ed from the current master to all potential
> backups, multiplied by each virtual firewall.
Is that desired? I'm now thinking that perhaps the goals of ct_sync
are not in line with in-cluster active-active load-balancing.
Here's what I mean: if you have a 4-node cluster of firewalls in
active-active configuration, then the states of all connections
flowing through ALL the boxes are replicated on all of the boxes. This
defeats the purpose of active-active load-balancing as each of the
boxes would then handle almost all of the load of the whole cluster. I
don't see why I'd want to synchronize the connection states between
_all_ of the machines in an active-active cluster.
> For virtual MAC address support to Linux see the mac_vlan patch. Allows
> you to create any number of virtual ethernet interfaces per real
> interface, each with their own MAC.
Nice, that sounds better than the hidden patch I was looking at. Thanks :)
--
[ Tobias DiPasquale ]
0x636f6465736c696e67657240676d61696c2e636f6d
next prev parent reply other threads:[~2004-09-29 3:00 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-13 14:26 [RFC] ct_sync 0.15 (corrected) KOVACS Krisztian
2004-08-19 11:06 ` Harald Welte
2004-08-19 12:13 ` KOVACS Krisztian
2004-08-26 10:00 ` Jozsef Kadlecsik
2004-08-26 11:12 ` KOVACS Krisztian
2004-08-26 11:39 ` Jozsef Kadlecsik
2004-08-26 16:14 ` [nf-failover] " KOVACS Krisztian
2004-08-19 12:13 ` KOVACS Krisztian
2004-08-19 16:13 ` Henrik Nordstrom
2004-08-22 20:43 ` KOVACS Krisztian
2004-08-24 18:37 ` Harald Welte
2004-08-25 11:41 ` jamal
2004-08-22 0:40 ` Patrick McHardy
2004-08-22 7:49 ` [nf-failover] " KOVACS Krisztian
2004-08-22 20:42 ` Sven Schuster
2004-08-23 9:51 ` Patrick McHardy
2004-09-02 5:10 ` Willy Tarreau
2004-09-02 12:39 ` KOVACS Krisztian
2004-09-24 2:42 ` jamal
2004-09-25 7:52 ` [nf-failover] " Harald Welte
2004-09-27 13:07 ` jamal
2004-09-27 13:30 ` KOVACS Krisztian
2004-09-27 13:39 ` Harald Welte
2004-09-28 2:41 ` jamal
2004-09-28 6:46 ` Henrik Nordstrom
2004-09-28 10:56 ` jamal
2004-09-28 12:24 ` KOVACS Krisztian
2004-09-28 12:35 ` Henrik Nordstrom
2004-09-28 12:57 ` KOVACS Krisztian
2004-09-28 13:14 ` jamal
[not found] ` <1096379957.1026.5.camel@jzny.localdomain>
2004-09-28 14:46 ` Henrik Nordstrom
2004-09-28 14:56 ` KOVACS Krisztian
2004-09-28 15:07 ` Henrik Nordstrom
2004-09-28 18:04 ` Sven Schuster
2004-09-28 18:47 ` Henrik Nordstrom
2004-09-28 20:57 ` Sven Schuster
2004-09-28 22:30 ` Tobias DiPasquale
2004-09-28 23:36 ` Henrik Nordstrom
2004-09-29 3:00 ` Tobias DiPasquale [this message]
2004-09-29 8:34 ` Henrik Nordstrom
2004-09-29 2:14 ` Jamal Hadi Salim
2004-09-29 8:12 ` Henrik Nordstrom
2004-09-29 11:13 ` Jamal Hadi Salim
2004-09-29 11:29 ` KOVACS Krisztian
2004-09-29 11:44 ` Henrik Nordstrom
2004-09-29 13:03 ` Jamal Hadi Salim
2004-09-29 13:41 ` Henrik Nordstrom
2004-09-29 14:23 ` jamal
2004-09-29 15:02 ` Henrik Nordstrom
2004-09-30 12:24 ` jamal
2004-09-28 13:58 ` Henrik Nordstrom
2004-09-28 14:24 ` Tobias DiPasquale
2004-09-28 11:58 ` Tobias DiPasquale
2004-09-28 12:11 ` KOVACS Krisztian
2004-09-28 12:31 ` Henrik Nordstrom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=876ef97a040928200055db3741@mail.gmail.com \
--to=codeslinger@gmail.com \
--cc=hadi@znyx.com \
--cc=hidden@balabit.hu \
--cc=hno@marasystems.com \
--cc=laforge@netfilter.org \
--cc=netfilter-devel@lists.netfilter.org \
--cc=netfilter-failover@lists.netfilter.org \
--cc=schuster.sven@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.