We are building an exchange cluster with two front end Outlook Web Access servers. We would like to at least have some sort of failover, and prefereably load balancing for them.
The MS recommended way is to use NLB, but for various reasons that's not working with our set up.
We are looking to set up a single linux server and use something like LVS to load balance/fail over the connections.
Looking at LVS, it looks like it hasn't been updated in a while. Is it stable? Is it still the preferred solution? Since OWA has sessions, but no session replication, we would need something that can keep directing the same client to the same server (either by IP, or preferably by cookie). Can LVS handle this?
I also saw that the latest version of Apache has some sort of load balancing support. Can it be used to set something like this up? We are looking for the simplest solution that won't require a lot of maintanence.
We understand that having a single LVS box creates a single point of failure, and are willing to accept the risk for now to keep things simpler.
Russ
On Thu, Apr 3, 2008 at 11:07 PM, Ruslan Sivak rsivak@istandfor.com wrote:
We are building an exchange cluster with two front end Outlook Web Access servers. We would like to at least have some sort of failover, and prefereably load balancing for them.
The MS recommended way is to use NLB, but for various reasons that's not working with our set up. We are looking to set up a single linux server and use something like LVS to load balance/fail over the connections. Looking at LVS, it looks like it hasn't been updated in a while. Is it stable? Is it still the preferred solution? Since OWA has sessions, but no session replication, we would need something that can keep directing the same client to the same server (either by IP, or preferably by cookie). Can LVS handle this?
I also saw that the latest version of Apache has some sort of load balancing support. Can it be used to set something like this up? We are looking for the simplest solution that won't require a lot of maintanence.
We understand that having a single LVS box creates a single point of failure, and are willing to accept the risk for now to keep things simpler. Russ
LVS is extremely stable. We have 3 active/passive clusters of LVS servers, for different projects, and they work extremely well.
The way we set it up was each LVS pair is running heartbeat, ldirectord and ipvsadm. If the primary node goes offline for any reason, heartbeat on the second tells it to take over. And there are lots of config settings to tweak heartbeat.
Ruslan Sivak napsal(a):
We are building an exchange cluster with two front end Outlook Web Access servers. We would like to at least have some sort of failover, and prefereably load balancing for them.
Russ
Russ, take a look at http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html David
David Hrbác wrote:
Ruslan Sivak napsal(a):
We are building an exchange cluster with two front end Outlook Web Access servers. We would like to at least have some sort of failover, and prefereably load balancing for them.
Russ
Russ, take a look at http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html David _______________________________________________
Yes, that what I was thinking. However, I believe these servers also run smtp, pop3, imap,etc, so I don't think Apache can handle all of those..
Russ
On Fri, Apr 4, 2008 at 9:03 AM, Ruslan Sivak rsivak@istandfor.com wrote:
David Hrbác wrote:
Ruslan Sivak napsal(a):
We are building an exchange cluster with two front end Outlook Web
Access servers. We would like to at least have some sort of failover, and prefereably load balancing for them.
Russ
Russ, take a look at
http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
David _______________________________________________
Yes, that what I was thinking. However, I believe these servers also run smtp, pop3, imap,etc, so I don't think Apache can handle all of those..
LVS handles all protocols. It can do any port and UDP or TCP. It supports different types of balancing Round Robin (rr), Weighted Round Robin (wrr), Least Connections (lc), Weighted Least Connections (wlc). It can do sticky sessions, so if OWA doesn't like when you go from server 1 to server 2, LVS will keep the user stuck to one server. Plus a ton of other features. Give it a shot.
On Fri, Apr 4, 2008 at 11:36 PM, Matt Shields mattboston@gmail.com wrote:
On Fri, Apr 4, 2008 at 9:03 AM, Ruslan Sivak rsivak@istandfor.com wrote:
David Hrbác wrote:
Ruslan Sivak napsal(a):
We are building an exchange cluster with two front end Outlook Web
Access servers. We would like to at least have some sort of failover, and prefereably load balancing for them.
Russ
Russ, take a look at
http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
David _______________________________________________
Yes, that what I was thinking. However, I believe these servers also run smtp, pop3, imap,etc, so I don't think Apache can handle all of those..
LVS handles all protocols. It can do any port and UDP or TCP. It supports different types of balancing Round Robin (rr), Weighted Round Robin (wrr), Least Connections (lc), Weighted Least Connections (wlc). It can do sticky sessions, so if OWA doesn't like when you go from server 1 to server 2, LVS will keep the user stuck to one server. Plus a ton of other features. Give it a shot.
I'm trying to setup a couple of LVS servers on CentOS 5 and hitting difficulties. I've been googl'ing around the docs (it mostly all gets back to http://www.austintek.com/LVS/LVS-HOWTO/mini-HOWTO/LVS-mini-HOWTO.html) for a few days now but can't get it to work. It sometimes work temporarily but very quickly a few fail-overs made things totally unworkable.
One issue I suspect that might be in my way to success is that the two servers (I'm trying to use same two servers both as ldirectors and real servers) are assigned to two separate /28 networks, BUT the virtual rack (from ThePlanet) allows both of them to be assigned addresses from each other's network so I assigned an address from the correct network on an alias on the other server (eth0:0).
Does anyone have a working example for this on CentOS 5? The docs I found so far are mostly generic and talk a lot about ancient kernel versions like 2.0, 2.2 and 2.4.
I subscribed to the lvs-users mailing list but I'm not sure how active it is.
Thanks,
--Amos