Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Apr 2005 10:51:56 +0200
From:      Jeremie Le Hen <jeremie@le-hen.org>
To:        dragonfly dragonfly <dragonylffly@hotmail.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: How about porting LVS to FreeBSD
Message-ID:  <20050422085156.GQ91329@obiwan.tataz.chchile.org>
In-Reply-To: <BAY19-F250EDA104BF5F539706E93DE2A0@phx.gbl>
References:  <BAY19-F250EDA104BF5F539706E93DE2A0@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

>    LVS(http://www.linuxvirtualserver.org/) is a widely used server cluster 
> schedule system,which is be included in Linux official kernel 2.4 and 2.6 
> release.
>    Recently i ported LVS/ipvs to FreeBSD,and released 0.1.0 version
> (http://dragon.linux-vs.org/~dragonfly/htm/lvs_freebsd.htm).It is only a 
> draft release,only to prove that LVS can play happily with FreeBSD:).It 
> support LVS/DR and Round Robin schedule algorithm.It is been in hot 
> developing.Welcome to test it and hope it be useful.

This is very interesting, thank you.  I know that LVS uses keepalived(8)
to do VRRP and although I must admit it is very useful and powerful,
this daemon is IMHO a great mess.

(For the short story, the release process is awful, not to say inexistant.
Indeed, I use keepalived 1.1.7 at work and this version has an annoying
bug for us but we found an acceptable workaround.  New versions has
been released since, but when 1.1.8 was out, there have been numerous
new bugs introduced that needed the version 1.1.9 to be quickly released
to correct them.  But this version has in turn introduced new bugs and
finally version 1.1.10 fixed everything IIRC.  Now the version is 1.1.11,
but I'm still waiting to jump to this version as I'm afraid to come
across new bugs for which I won't find an acceptable workaround.)

What I want to know is if you are planning to simply port keepalived(8)
to FreeBSD or use the BSD flavoured replacement for VRRP : CARP.  I'm
convinced this is not a trivial job as keepalived(8) is also used as
a ISO level 7 health-checker.  AFAIK, VRRP is completely implemented
in userland on Linux as the RFC requires to use a special MAC address
for the clustered IP but the Linux kernel doesn't support to have more
than one MAC address for an interface.  Instead, MAC address spoofing is
achieved by keepalived(8), by sending gratuitous ARP requests.

I think the health-checker part is interesting in keepalived(8) but
it would be nice to have the HA mechanic handled by CARP (or maybe
using UCARP [1] would be easier, since it's in userland too).  I'll try
to look at this today.

Thanks again for your work.

Regards,

[1] http://www.ucarp.org/
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050422085156.GQ91329>