Linux-HA howto for FreeBSD.

David Robillard david.robillard at gmail.com
Wed Aug 23 14:07:01 UTC 2006


> Hi,
>
> I am looking for a good howto or a detailed explanation in order to
> deploy Linux HA on two BSD boxes.

You can grab heartbeat from the FreeBSD ports at sysutils/heartbeat
(i.e. http://www.freebsd.org/cgi/url.cgi?ports/sysutils/heartbeat/pkg-descr)

But unfortunately, it is only at version 1.2.4 in the ports while the
actual software is now at version 2.0.7. I haven't tested if version
2.0.7 is operational on FreeBSD. Has anyone tried it?

Should you want to give it a try since 1.2.4 is stable, the
instructions on the website are fairly straight forward:
http://linux-ha.org/GettingStarted#gettingstarted but it's RedHat
specific.

So just make sure you translate any RedHat hardware paths to the FreeBSD paths.

Now, you'll need two seperate heartbeat links. So for the first one,
you need an empty serial port on both machines along with a serial
cable to link them together. For the second link, make sure you have a
seperate network interface card on both machines and link them with a
cross-link ethernet UTP cable. Use different network interface cards
for your application networks.

Ideally, your machines should have two serial ports, so that you can
use one for the heartbeat link and the other for the serial console.
Also ideally, both machines should have identical hardware.

I'd also suggest to setup the disk drives in all your machines under
gmirror(8) control. Read more about gmirror(8) at
http://www.freebsd.org/cgi/man.cgi?query=gmirror&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html
Make sure you two have identical hard disks and follow the
instructions on how to set a RAID 1 FreeBSD OS under gmirror(8) from
Ralf S. Engelschall at http://people.freebsd.org/~rse/mirror/

Keep in mind that all this setup is not really usefull if the rest of
your network infrastructure is not also redundant.

Therefore, consider installing your firewalls under linux-ha/heartbeat
and setup a linux virtual server cluster (also under heartbeat) which
redirects http/ftp/sql requests to multiple web/ftp/database servers.
You can find more information on linux virtual server (a.k.a. LVS) at
http://www.linuxvirtualserver.org/

There is a FreeBSD port of LVS under net/ipvs. You can get more
information about LVS for FreeBSD on the author's web page at
http://dragon.linux-vs.org/~dragonfly/htm/lvs_freebsd.htm

Finally, you'll need to sync the data on all those nodes. For
databases, consider MySQL real-time replication or Oracle Dataguard.
For ftp and http data sets, take a look at net/rsync. For mail
servers, it's a bit more tricky, but there is mail/maildirsync which
I've never tried.

David

> Thank you very much.

-- 
David Robillard
UNIX systems administrator & Oracle DBA
CISSP, RHCE & Sun Certified Security Administrator
Montreal: +1 514 966 0122


More information about the freebsd-questions mailing list