Re: Ultra Monkey load balancing configuration problems -- please help.
Horms <[email protected]>
| Newsgroups | gmane.linux.highavailability.ultramonkey |
|---|---|
| Message-ID | <[email protected]> |
Roxana Diaconescu <[email protected]> wrote: > Thanks for your reply. > >> > So, it looks like commenting out the >> > #checktype=connect >> > line works for this. >> >> Maybe your weights are going to 0 because your check fails? Have you >> tried to connect to the service on Real Server and verify that the >> connection can be made from the LB? > > Yeah, that is why I had to comment it out. The entire purpose of ldirectord is to monitor the health of real servers. It is important to choose a level of check that suits your needs. Just changing the check type to make sure the cluster works usually glosses over the fact that ldirectord is reporting that your real server is not functioning correctly. There is a description of the different check >> > 1) However, the question still remains: how to add custom checks for >> > non-standard service? >> You original request wanted to run a web service on a custom port. I >> think this will work for you: >> >> virtual=192.168.x.y:80 >> virtualhost="www.domain.com" >> real=... >> real=... >> real=... >> ... >> checkport=80 >> checktype=negotiate >> request="/index.htm" >> receive="html" >> service=http >> protocol=tcp > > The point is that I do _not_ want to use a standard service (i.e. 80). > I want to use my own and be able to write my own checks. The question > is how. In my original message my service was starting on port 8000 > (user mode) and is my own program listening. Maybe there was a > miunderstanding here. At this stage ldirectord does not support plugging in custom checks as modules (someone did send me a patch, but I think I might have lost it :( Instead you will need to modify ldirectord (which is written in perl) to add your check. This is quite easy, look at the check_http() subroutine for an example of how to implemente a check. >> > 2) Another question: I want my real servers to listen on different >> > ports. E.g.: >> > >> > real=192.168.141.131:8001 gate >> > real=192.168.141.132:8002 gate >> >> You can specify a different port to check using: >> >> checkport=8001 >> >> But I think all real servers must be checkable on the same port. > > The question was if it is possible to use different ports for services > on real servers. As I said, it is possible with LVS ipvsadm manual > set-up. There must be something in the ldirectord script that enforces > the same port number. It is only possible to use portmaping in conjunction with NAT. This is a restriction of LVS and is enforced by the kernel. -- Horms H: http://www.vergenet.net/~horms/ W: http://www.valinux.co.jp/en/ -- Ultra Monkey - http://www.ultramonkey.org/ To UNSUBSCRIBE, email to [email protected], with a body: unsubscribe ultramonkey-users [email protected] where "[email protected]" is YOUR email address.