locked
NLB in SharePoint 2007 RRS feed

  • Question

  • Hi All,

    We have SharePoint 2007 on a single server and database on different server.

    As number of users is around 4500 so planning to have high availability for this SharePoint intranet site.

    As i am new to SharePoint technology please advise how to implement NLB in SharePoint Server.


    -- Kind Regards Sandeep

    Thursday, February 23, 2012 5:36 PM

Answers

  • Hi Sandeep,

    There are really two components to what you are attempting:

    (1) Load balancing the Web Front End servers, and

    (2) Making SQL highly available

    WFE availability - Load Balancing the WFE Servers

    For the first item (SharePoint WFE availability), you have a few choices:

    Choice A - Hardware Load Balancing

    Stand up a second Sharepoint Web Front End server. Add a hardware-based load balancing solution (F5 and other vendors make these platforms). Have client requests come into the load balancer and then distribute to the WFE servers based on load, etc. This is a very robust solution and allows "drainstopping" (disallowing requests to a member of the farm) for testings, etc.

    Choice B - Software Load Balancing

    Use Microsoft Load Balancing in the Operating System. You did not specify whether you were on 2003 or 2008, but the functionality is similar to the hardware based system shown above. If you choose this path, understand that it truly is software based and will place a load on your servers as well as be prone to any issues that can affect each WFE server.

    Choice C - Not necessarily load balancing at all

    It is possible to setup two SharePoint WFE servers behind round-robin DNS. This provides some measure of high-availability, but is not load-aware - if you have a WFE server that becomes overcommitted, then users may experience a partial or complete outage until the box is either removed from DNS or repaired/reconfigured. This is definitely a poor-man's version of high-availability, but there are two times the boxes to handle the load.

    SQL availability - Load Balancing your SQL instance

    For the second item (SQL availability), you have a couple of choices:

    Choice A - SQL Clustering

    Definitely the older of the two solutoins, SQL clustering presents a SQL instance to SharePoint for its database back-end. This requires a certain amount of hardware know-how, but several vendors provide "packaged" solutions for these clusters where you buy the servers and shared storage all at once, partially or fairly completely configured. Failure of a member server in the cluster will be observed by the other and the instance will be offloaded. SQL cluster member servers need to be IDENTICAL in configuration, no exceptions.

    It is important to consider this an N+1 solution - I really recommend that one server be available as a backup for the other, not actively hosting SQL instances of its own. If both members are active and there is a failure, you may have a SQL backend that goes away altogether due to load.

    Choice B - SQL Mirroring (with or without witness)

    The newer of the solutions, mirroring allows for two distinct servers (different hardware and software, perhaps) to provide failover. You can also include a third, witness server which is not expensive and provides an arbiter to determine which mirror server is the "active" one, responsible for providing services via the SQL instance. This solution is much less expensive from a hardware standpoint but can require the skills of a solid DBA to administer and control, especially if something goes awry.

    Other Considerations

    As it stands, a two-level farm can still have a weak spot from a Search standpoint. I often recommend that my customers add an application-level server to their farm, offloading Search Indexing onto that box. This box receives the crawls and then publishes the search catalog to the WFE servers which are set to query only (I am assuming that you are not using SharePoint Foundation, but SharePoint Server 2007). If this box fails, users still can have queries served, but the search information will be a bit stale until the application level server is rebuilt.

    Hope this helps,


    Troy Lanphier -- MCT/MCSE/MCITP SharePoint Server 2010 Administration -- Author: Microsoft SharePoint Foundation 2010 Inside Out -- http://blog.sharepointcookbook.com

    • Marked as answer by Wayne Fan Friday, March 2, 2012 8:14 AM
    Thursday, February 23, 2012 8:01 PM

All replies

  • Thursday, February 23, 2012 7:19 PM
  • Hi Sandeep,

    There are really two components to what you are attempting:

    (1) Load balancing the Web Front End servers, and

    (2) Making SQL highly available

    WFE availability - Load Balancing the WFE Servers

    For the first item (SharePoint WFE availability), you have a few choices:

    Choice A - Hardware Load Balancing

    Stand up a second Sharepoint Web Front End server. Add a hardware-based load balancing solution (F5 and other vendors make these platforms). Have client requests come into the load balancer and then distribute to the WFE servers based on load, etc. This is a very robust solution and allows "drainstopping" (disallowing requests to a member of the farm) for testings, etc.

    Choice B - Software Load Balancing

    Use Microsoft Load Balancing in the Operating System. You did not specify whether you were on 2003 or 2008, but the functionality is similar to the hardware based system shown above. If you choose this path, understand that it truly is software based and will place a load on your servers as well as be prone to any issues that can affect each WFE server.

    Choice C - Not necessarily load balancing at all

    It is possible to setup two SharePoint WFE servers behind round-robin DNS. This provides some measure of high-availability, but is not load-aware - if you have a WFE server that becomes overcommitted, then users may experience a partial or complete outage until the box is either removed from DNS or repaired/reconfigured. This is definitely a poor-man's version of high-availability, but there are two times the boxes to handle the load.

    SQL availability - Load Balancing your SQL instance

    For the second item (SQL availability), you have a couple of choices:

    Choice A - SQL Clustering

    Definitely the older of the two solutoins, SQL clustering presents a SQL instance to SharePoint for its database back-end. This requires a certain amount of hardware know-how, but several vendors provide "packaged" solutions for these clusters where you buy the servers and shared storage all at once, partially or fairly completely configured. Failure of a member server in the cluster will be observed by the other and the instance will be offloaded. SQL cluster member servers need to be IDENTICAL in configuration, no exceptions.

    It is important to consider this an N+1 solution - I really recommend that one server be available as a backup for the other, not actively hosting SQL instances of its own. If both members are active and there is a failure, you may have a SQL backend that goes away altogether due to load.

    Choice B - SQL Mirroring (with or without witness)

    The newer of the solutions, mirroring allows for two distinct servers (different hardware and software, perhaps) to provide failover. You can also include a third, witness server which is not expensive and provides an arbiter to determine which mirror server is the "active" one, responsible for providing services via the SQL instance. This solution is much less expensive from a hardware standpoint but can require the skills of a solid DBA to administer and control, especially if something goes awry.

    Other Considerations

    As it stands, a two-level farm can still have a weak spot from a Search standpoint. I often recommend that my customers add an application-level server to their farm, offloading Search Indexing onto that box. This box receives the crawls and then publishes the search catalog to the WFE servers which are set to query only (I am assuming that you are not using SharePoint Foundation, but SharePoint Server 2007). If this box fails, users still can have queries served, but the search information will be a bit stale until the application level server is rebuilt.

    Hope this helps,


    Troy Lanphier -- MCT/MCSE/MCITP SharePoint Server 2010 Administration -- Author: Microsoft SharePoint Foundation 2010 Inside Out -- http://blog.sharepointcookbook.com

    • Marked as answer by Wayne Fan Friday, March 2, 2012 8:14 AM
    Thursday, February 23, 2012 8:01 PM