It would appear that lnlb has suffered some bit-rot and no longer builds against kernels > 2.6.30.
I have had a go at fixing the problems, and it now compiles successfully. This hasn't been tested, so please treat the patch as highly experimental. :)
Patch is on pastebin here: lnlb patch for kernels > 2.6.30
Oops, mis-paste. Try: lnlb patch for kernels > 2.6.30
Have you been able to compile lnlb on Centos 6?
Indeed, tested on SL6, so should work on RHEL6 and CentOS6, too.
Hello, I'm having trouble applying the patch. Could you put your modified source code on pastbin?
I'll do better than that - have a src.rpm:
This should build correctly on both RHEL5 (without the patch) and on RHEL6 (with the patch).
It'll produce a lnlb package and a lnlb-dkms package, so you won't have to rebuild it every time there's a kernel update.
Now if only the project owner would return and un-abandon it…
>Now if only the project owner would return and un-abandon it…
Maybe it's time to put your code on github. I'm going to test lnlb for a while and ask the elrepo maintainers to build kABI compatible modules for el5 and el6 when it's working fine. Did you find any further issues with lnlb?
I'm thinking about writing a pacemaker resource agent for lnlb. github might be a good place to keep things together.
That is a fair point, maybe I should put the repository up with the patch. The main problem is that the patch needs to be applied selectively, based on whether it is building against 2.6.29- or 2.6.30+.
Here's the problems I've found with lnlb, but they can all be managed:
1) If you don't modprobe the modules, userspace can panic the machine. I haven't had a chance to look into troubleshooting it.
2) Depending on your switch's ARP implementation, it can get stuck with the MAC of one of the machines rather than the broadcast MAC, which will obviously prevent load balancing and failover.
3) There is a bug that causes failover to not work. The workaround is to set conntrack_idle_timeout on lnlb_mod_tracking module to be just above heartbeat_interval on lnlb module. For example, set heartbeat_interval to 1 and conntrack_idle_timeout to 3. I'm saying this from memory since I don't have a lnlb machine handy at the moment, but it should give you at least an idea of where to look when you inevitably find this issue during testing.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.