There are far fewer concrete rules when creating a server farm topology than there were in Windows SharePoint Services 2.0 or SharePoint Portal Server 2003. As you progress through the next few sections, make design notes on the nuances of each individual service and how those will affect your design.
When creating a Web application, you are actually creating an entry in the configuration database with Internet Information Services (IIS) information, a corresponding IIS virtual server, and a content database that will host the site collections within that Web application. However, assigned IP addresses, Secure Sockets Layer (SSL) certificates, and multiple host header entries are not created in the configuration database. In fact, you cannot add multiple host headers from Central Administration.
To scale out from a single WFE server that already hosts Web applications, you need to install Windows SharePoint Services on another server in the same domain. Preferably, you should scale to a server that is on the same IP subnet and that does not host any other applications. To add another WFE server, you must do the following:
Install Windows SharePoint Services using the installation binaries.
Choose to run the SharePoint Products and Technologies Configuration Wizard.
Select Yes, I Want To Connect To An Existing Server Farm.
Enter the SQL Server instance in which the server farm's configuration database exists.
Select the correct configuration database from the drop-down menu if multiple SharePoint products are installed into this SQL Server instance.
Click Finish after the wizard completes.
After adding a server to a farm, you will notice in IIS Manager that all IIS sites are created or are in the process of being created. If all Web applications in this server farm are not immediately present, wait until they have been created before continuing. If you are using host headers, then your Web applications are created automatically and can be used independently or can be added to a load-balancing solution. Remember, until you have made a DNS entry for your new servers or added them to a load-balanced solution, the new server will not be used for Web applications. If you did not select a load-balanced URL during the Web application creation, you must also create an Alternate Access Mapping for your newly created load-balanced URL. To ready the WFE servers for load balancing, do the following:
Open Central Administration > Operations > Alternate Access Mappings in a browser.
Select Add Internal URLs to create another mapped URL to the Default zone, or Edit Public URLs to create a new zone.
Choose the Alternate Access Mapping Collection (existing Web application) to which you wish to add an URL mapping.
Enter the URL, protocol, host, and port: for example, http://portal.contoso.msft.
Select a zone.
You should now see multiple mappings for a single Web application. Windows SharePoint Services Web applications do not return data to a client request without an Access Mapping matching the requesting URL.
It is important to understand that, by default, every Web application exists on every server in the farm. If you wish to serve Web applications on isolated hardware, simply exclude the specific Web application you do not wish to serve from this server in DNS or load-balancing solutions. For example, if you had three Web applications in a farm named http://portal, http://mysite, and http://corporate, but you wished to serve the first two from an internal set of servers and the http://corporate site from dedicated, Internet-facing hardware, your solution might look like that shown in Figure 13-7.
Figure 13-7: Simply turn off the server in IIS Manager and do not include it in DNS or load-balancing solutions when you wish not to serve specific Web applications on a server.
In the previous example, we would stop the unused Web applications in IIS Manager on servers, which would reduce the amount of memory used on those servers in addition to verifying IP traffic flow. When using this topology, understand that if this server is restored or if you stop, start, or restart the Windows SharePoint Services Web application service from Central Administration, all servers in the farm will start all Web applications in IIS. This feature must be planned for, should there be a need to modify Web applications from Central Administration.
If you install additional applications, such as Antivirus or custom Web Parts, be sure to install them on all of the necessary servers in the farm. Forgetting to install a custom Web Part on a WFE server, for example, could result in an inconsistent user experience in which it works for users on one WFE server, but not for the users on another. Here is a short list of items that are often forgotten when adding servers to a server farm:
Custom Web Parts
SharePoint Technologies Antivirus program
iFilters for indexing and crawling, which must exist on all WFE servers in the farm, by default
Icons for non-native documents, such as Adobe Acrobat PDF documents
Client certificates for crawling certificate-based SSL content sources, which must exist on all WFE servers in the farm
Third-party backup and restore software
|Real World|| |
When scaling to multiple WFE servers, it is useful to use Solutions to deploy custom Web Parts, Web.config modifications, and other customized content. Solutions allow custom code to be deployed and synchronized on all the servers in the farm. The solution (.wsp) file is CAB based and contains all of the information necessary to install the custom code and to register it as a safe control. The first step in deploying a solution is adding the solution to the single, central repository for your farm's solutions-the Solution Store. To see a list of all solutions in the Solution Store, use the command stsadm.exe -o enumsolutions. To add a file to the Solution Store, use the command stsadm -o addsolution -filename <filename path>. When you replace or add a WFE server to the farm, you can now re-deploy your solutions manually, or automatically using a timer job. To deploy solutions from the command line, execute stsadm.exe -o deploysolution. They may also be deployed by navigating to Central Administration > Operations > Global Configuration > Solution Management. You can also retract solutions using the command stsadm.exe -o retractsolution.
Additional information is available at http://msdn2.microsoft.com/en-us/library/aa544500.aspx and http://msdn2.microsoft.com/en-us/library/aa981325.aspx.
As a general rule, it is best to perform any IIS metabase maintenance from the Central Administration console when possible. Changes that can be made from Central Administration persist throughout the farm because they are written to the configuration database and are present on all new or replaced servers in the farm. However, there are situations that require direct IIS management, such as installing SSL certificates or implementations requiring load balancing using assigned IP addresses to accomplish IP traffic management. Using assigned IP addresses makes it easier to use hardware load balancing and use dedicated NICs for Web applications. For example, if you had two Web applications in your Windows SharePoint Services farm, you could assign each Web application a different IP address, with each IP address assigned to a dedicated NIC. Figure 13-8 shows the logical flow of such a setup.
Figure 13-8: Assign an IP address to each NIC and the corresponding IP to each Web application in IIS Manager.
You can enable the Windows SharePoint Services Search service on multiple servers in your server farm. This allows you to scale your search architecture and improve search performance on large server farms. Simply add a server to the farm and enable the Windows SharePoint Services Search service on new servers. Be aware that Windows SharePoint Services Search is enabled on a per-content database basis, not per Web application. Figure 13-9 shows an example of adding multiple search servers to a server farm.
Figure 13-9: You can add Search servers to increase search and indexing performance in large Windows SharePoint Services farms.
To add additional Windows SharePoint Services search servers to a farm, simply start the Search service on another server in the farm. By default, existing content databases will not use the newly added search server. You must change the Windows SharePoint Services search server association from Central Administration > Application Management > Content Databases > Manage Content Database Settings. Select the new search server in the drop-down menu.