3

Did Google for this the last week, still can't find any reasonable solutions for FreeBSD.

Most of the articles contain solutions for a fail-over storage only (FreeBSD HAST). This is NOT what I'm looking for.

I need a NAS which will be load-balanced and redundant at the same time + accessible for the FreeBSD APP servers as a regular directory (NFS?).

My question is NOT related to Web-server or Firewall load-balancing. All I'm concerned about is STORAGE.

Please point me in the right direction for the research.

EDIT: Please don't post CARP IP-packet balancing solutions, this is not what I'm looking for.

enter image description here

Alex G
  • 391
  • 1
  • 6
  • 15
  • You should provide more information. But from what I understood and if you are willing to pay for it Oracle ZFS Applicance is one of the ways to go. It's a NAS with load-balancing and redundancy (active-active) mode. – BitsOfNix Jul 05 '13 at 10:48
  • You mean Solaris ZFS? Oracle is a corporation name. How come Solaris is related to FreeBSD? There is no more information to provide. Don't waste your time if you don't even read the topic. – Alex G Jul 05 '13 at 18:22
  • Are you OK with using ZFS on FreeBSD? This would seem like a natural way to approach this. I see the comments above and just want to double check before spending time on a solution in that direction if you're not interested in it. – slm Jul 26 '13 at 05:35
  • I'm okay using any free solution. How will ZFS sync between two physical machines? =) – Alex G Jul 30 '13 at 17:36
  • Agreed, ZFS was my initial idea but in looking it doesn't provide any mirroring capability that I could tell across physical boxes. What about GlusterFS? https://wiki.freebsd.org/GlusterFS – slm Jul 31 '13 at 01:55
  • Interesting, but looks too raw. No system requirements for the current version, no good docs. In requirements for the previous version it only supports CentOS. Wiki article outdated (2009). – Alex G Jul 31 '13 at 06:12

2 Answers2

0

Sadly the amd lacks the ability to use multiple hosts (like the Solaris automounter).

So without this feature you have to add logical service-IPs (using ucarp, if you like to) to stor0 and stor1. Each service-IP should be normally bound and should fail over if one device fails.

Now you can bind one halv of your app-storage to the service-IP of stor0 (even: app0, app2) and the other halv to the service-IP of stor1 (uneven: app1, app3).

Via amd-automount-map you can use NFS-mounts to use this. This is a static "load-balancing" AND it uses a failover-mechanism. So you can have both: load-balance and ha.

Nils
  • 18,202
  • 11
  • 46
  • 82
  • What about mirroring stor0 and stor1? If 0 goes down, 1 will have different data. Not really solution. – Alex G Jul 30 '13 at 17:01
  • @Radio you did not ask about mirroring. From your picture I assumed that you already solved that part. – Nils Jul 30 '13 at 21:11
  • "Redundant" assumes Mirroring or some kind of Sync running in between. – Alex G Jul 31 '13 at 01:11
  • @radio some kind of sync like 'rsync', or something like 'drbd'? – Nils Jul 31 '13 at 18:29
  • Rsync needs to run manually, which is not an option for real-time mirroring. Drbd - only Linux. – Alex G Jul 31 '13 at 22:02
  • @Radio how about editing your question and adding a few specifications? Like "FreeBSD is running on stor0 and stor1, apart from LB, I need something to synchronously mirror the data between those two". – Nils Aug 01 '13 at 10:42
  • Authoritative specialist wont need a dummy-made question. – Alex G Aug 01 '13 at 18:43
0

Looking through the various options I came across the following 2 that seem to fit your requirements.

HAST

The first makes use of HAST but not as a fail-over. It would seem that depending on how you set CARP + HAST up you can achieve load balancing.

This guide covers how to setup/configure CARP for load balancing:

This guide covers how to setup/configure HAST:

The 2nd guide would need to be adapted using modifications from the 1st guide.

Corosync + Pacemaker

Another option would be to setup Corosync and Pacemaker. Directions for building it from source are here.

There is pretty extensive documentation on setting up Corosync including a document Cluster from Scratch.

slm
  • 363,520
  • 117
  • 767
  • 871
  • @Radio - yeah I looked for FreeBSD specific guides for Corosync + Pacemaker and came up empty. In terms of the CARP + HAST I was under the impression that it could be used as either Active/Passive and/or Active/Active. Isn't A/A what you want? – slm Jul 31 '13 at 06:37
  • I went through these articles, I found them on Google as well. First guide is about basic CARP load balancing, nothing to do with the storage or HAST. There is nothing to adapt between first and second guide, in HAST - 1 of 2 servers is always in stand-by mode (not available for reads and writes, so NO Load Balancing). Both links for setting up Corosync + Pacemaker are for Fedora and other OS, not FreeBSD though. Thanks for looking, but this is way too far from the OP. =) – Alex G Jul 31 '13 at 06:39
  • I also got confused with the first article - it makes an impression of HAST, but there nothing about HAST. =))) Also HAST cannot be A/A, it's always A/P. – Alex G Jul 31 '13 at 06:41
  • @Radio - it was more to do with how CARP was setup for HAST's benefit. In that config. CARP was being used so that each node (1 & 2) could be the backup to the other's IP. I agree these details are too spotty but these are leads 8-). Also I came across this blog, specifically this post: http://blather.michaelwlucas.com/archives/221 & this one: http://blather.michaelwlucas.com/archives/224 – slm Jul 31 '13 at 06:57
  • http://chat.stackexchange.com/rooms/9893/load-balanced-redundant-storage-on-freebsd – Alex G Jul 31 '13 at 07:46