Install Microsoft Dynamics CRM Server 2013 on multiple computers

 

Applies To: Dynamics CRM 2013

You can install Microsoft Dynamics CRM Server 2013 on multiple computers to balance the processing load across several servers. Deploying Microsoft Dynamics CRM Server 2013 in this manner can increase performance and availability.

Important

Installing the Microsoft Dynamics CRM Workgroup Server 2013 edition on multiple servers isn’t supported and is a violation of the license agreement.

In This Topic

Multiple-server configuration overview

Step 1: Enable network load balancing

Step 2: Configure Active Directory

Step 3: Install Microsoft Dynamics CRM servers

Step 4: Configure NLB for the deployment

Step 5: Verify and monitor the cluster installation

Multiple-server configuration overview

The base configuration typically uses separate computers that run the components of a Microsoft Dynamics CRM deployment that includes Microsoft SQL Server and an instance of Windows Server functioning as an Active Directory domain controller. A multiple-server configuration of Microsoft Dynamics CRM has multiple computers that are running Microsoft Dynamics CRM Server that access a single server that is running SQL Server.

This topic describes the steps to install Microsoft Dynamics CRM in a two-node network load balancing (NLB) configuration where all Microsoft Dynamics CRM Server 2013 roles are installed on a single computer, using NLB in Windows Server. This kind of deployment is called a Full Server installation. You can use similar steps to install a particular server group role, such as the Front End Server role, or one or more individual server roles. When you install Microsoft Dynamics CRM, you have the following choices for load balancing the CRM web application, where both servers in the NLB cluster must have the following server-group roles or individual server roles installed.

  1. Full Server install.

  2. Front End Server install.

  3. Server role install (by using Microsoft Dynamics CRM Server Setup Wizard or command-line install with an XML configuration file). You’ll have to install at least the following two roles on the load-balanced servers in the cluster.

    • Web Application Server role). This Microsoft Dynamics CRM Server 2013 role is used to run the web application components that connect users to Microsoft Dynamics CRM data.

    • Organization Web Service role. This Microsoft Dynamics CRM Server 2013 role is used to run applications that use the methods described in the Microsoft Dynamics CRM SDK.

    Important

    If you decide to install only the Front End Server role, you must install the Back End Server group role on another server in the Active Directory domain. Similarly, if you want to install only the required Web Application Server and Organization Web Service roles, you must install the remaining server roles on other servers in the Active Directory domain.

Before getting started with load balancing, an understanding of NLB in Windows Server and Microsoft Dynamics CRM Server multiple-server deployment options are needed. NLB is an optional feature in Windows Server 2008 and Windows Server 2012. More information: see Network Load Balancing Deployment Guide and Microsoft Dynamics CRM multiple-server deployment

In this example, a two-node cluster will be set up by using two computers that are running Windows Server 2008. The server names are CRM01 and CRM02.

This topic assumes the hardware and NLB cluster are already established and functioning. For information about procedures for loading and administering NLB on Windows Server, see the Network Load Balancing Manager Help on the Windows Server computer. For information about how to configure NLB in Windows Server 2008, see Network Load Balancing Deployment Guide.

Step 1: Enable network load balancing

Verify that NLB is configured correctly and functioning on the network for the servers CRM01 and CRM02. The following port-rule settings are required when you enable the load-balanced cluster.

  • Port range. Leave the default range, which is from 0 to 65535.

  • Protocols. Both

  • Affinity. Single

Step 2: Configure Active Directory

Configure Active Directory by creating an account to run the CRMAppPool service and use a service principal name (SPN). This is required when you run IIS 7.0 in a clustered or a network load-balanced environment. The SPN uniquely identifies an instance of a running service. Active Directory uses the SPN for mutual authentication of a service instance, which enables the service instance to correctly authenticate when a user attempts to access resources that are located on other domain-member computers. For more information, see the MSDN article Service Principal Names.

To create SPNs, you use ADSI Edit that is included with Windows Server. You can use this Microsoft Management Console (MMC) snap-in tool to enter SPN values for a specific computer or user account.

Important

If IIS is configured to use kernel mode authentication, you must configure IIS to use the web application pool’s identity for internal virtual directories used by Microsoft Dynamics CRM. You can do so by modifying the windowsAuthentication element for the default website where Microsoft Dynamics CRM is installed. For details about the windowsAuthentication element, see the IIS 7.0: windowsAuthentication Element (IIS Settings Schema) MSDN article.

To configure useAppPoolCredentials, open the ApplicationHost.config file in a text editor. By default, this file is located at %windir%\system32\inetsrv\config\.

For all folders under the default website location path, set the value of the WindowsAuthentication element and the useAppPoolCredentials attribute to true. For example:

<system.webServer>  
<security> 
<authentication> 
<windowsAuthentication enabled="true" useAppPoolCredentials="true" />
</authentication> 
</security>
</system.webServer>

Configure the SPN

  1. If a user account isn’t already specified for the CRMAppPool identity, create a user account that will be used to run the CRMAppPool application pool in IIS. To do this, open Active Directory Users and Computers and create a new user account. When you create the user account, we recommend that you use a name that describes what the account will be used for, such as CRMAppPoolService.

    Important

    This user account must be member of the Domain Users group. For specific permissions that are required, see Minimum permissions required for Microsoft Dynamics CRM Setup and services.

    Instead of using ADSI Edit to configure the SPN as described here, you can use the setspn command line tool with the –s parameter to verify whether the SPN is already in use, and if not, set it. In this example CRMAppPoolService is the name of the account that is used as the identity of the CRMAppPool IIS application pool. setspn -s http/CRMNLBName.FQDN CRMAppPoolService

  2. Click Start, type adsi edit, and then press ENTER.

  3. Expand the domain, expand the node that begins with DC=, and then expand the organizational unit (OU) where the user account is located, such as CN=Users.

  4. Right-click the user account that you created in the previous step, such as CRMAppPoolService, and then click Properties.

  5. In the Attribute list, scroll down, select servicePrincipalName, and then click Edit.

  6. In the Value to add box, type HTTP/CRMNLBName.FQDN and then click Add. (CRMNLBName, is the NLB cluster name and FQDN is the fully qualified domain name.) For example, the CRMNLBName.FQDN name might be CRMNLBCluster.contoso.com.

    Important

    Note this NLB cluster name. You must use this name in the following step when you create the NLBcluster and when you update the configuration database.

  7. In the Value to add box, type HTTP/CRMNLBName and then click Add.

  8. Click OK two times.

  9. Close ADSI Edit.

Step 3: Install Microsoft Dynamics CRM servers

Each instance of Microsoft Dynamics CRM in a multi-server deployment must be installed one at a time. The following steps assume that an instance of a Full Server installation of CRM will be deployed on a computer named CRM01, and a second instance will be installed on a computer named CRM02.

Install the first instance of Microsoft Dynamics CRM Server on CRM01

  1. Run Microsoft Dynamics CRM Server Setup on server CRM01. For step-by-step guidance, see Install Microsoft Dynamics CRM 2013 Full Server role on a server without Microsoft Dynamics CRM installed.

  2. On the Specify Deployment Options page, select the instance of SQL Server that will be used for the Microsoft Dynamics CRM databases. Then, select the Create a new deployment option. Click Next and continue Setup.

  3. On the Specify Security Account page, select the domain user account (for example, CRMAppPoolService) created previously.

  4. Continue to run Setup until the installation is completed.

Install the second instance of Microsoft Dynamics CRM Server on CRM02

  1. Run Microsoft Dynamics CRM Server Setup on server CRM02.

  2. On the Specify Deployment Options page, enter or select the name of the computer that is running SQL Server where the Microsoft Dynamics CRM databases are stored (from the installation of CRM01), and then click Connect to, and if necessary, upgrade an existing deployment. Click Next.

  3. On the Specify Security Account page, select the domain user account (for example, CRMAppPoolService) created previously.

  4. Continue to run Setup until the installation is completed.

Step 4: Configure NLB for the deployment

After the Microsoft Dynamics CRM Server 2013 installations are complete, run Deployment Manager to configure NLB for the deployment.

Verify or change the web addresses

  1. On the Microsoft Dynamics CRM server, start Deployment Manager.

  2. In the console tree, right-click Microsoft Dynamics CRM, and then click Properties.

  3. Click the Web Address tab and make sure that the virtual cluster name, such as crmcluster:5555 appears.

Important

Depending on how you deployed the Microsoft Dynamics CRM Server 2013 role group (Full or Front End) or individual server role installation, and the configuration of each server in the NLB cluster, the Web Application Server, Organization Web Service, Discovery Web Service, or Deployment Web Service web addresses may be different. For example, if you installed the Front End Server role group on a server in an NLBcluster that is named crmcluster1 in the contoso domain but installed the Back End Server role group on a different server in a different NLBcluster such as crmcluster2 in the same domain, the name of the Web Application Server, Organization Web Service, Discovery Web Service web addresses will be different from the Deployment Web Service web address.

For a Full Server role deployment, all web addresses will use the same computer name or FQDN of the cluster. If you’re using a TCP port other then 80 (non-secure HTTP) or 443 (secure HTTP or SSL), you must specify the port number by appending the FQDN name with :5555, where 5555 is the port number, such as crmcluster:5555.

Set NLB for the deployment

  1. On the Microsoft Dynamics CRM Server, start Deployment Manager.

  2. In the console tree, right-click Microsoft Dynamics CRM, and then click Properties.

  3. Click the Web Address tab and then click Advanced.

  4. To make Microsoft Dynamics CRM aware of the NLBcluster, you must select The deployment uses an NLB option. Selecting The deployment uses an NLB sets Microsoft Dynamics CRM to configure Windows Identity Framework (WIF) to use the encryption certificate to encrypt, decrypt, and sign the Microsoft Dynamics CRM session authentication cookies. The encrypted cookies can then be processed by any server in the NLBcluster.

    For information about procedures for loading and administering NLBon Windows Server, see the Network Load Balancing Manager Help on the Windows Server computer. For information about how to configure NLBin Windows Server 2008, see Network Load Balancing Deployment Guide.

    Note

    If you are using an NLBsolution that uses Secure Sockets Layer (SSL) offloading hardware, you must specify the SSL header in the SSL Header box. Notice that the SSLheader is not a URL or domain. It is an agreed upon header value for the HTTP request that is configured on the device that is handling the SSLoffloading. Review the SSLoffloading device documentation for the header value.

  5. Click OK and then close Deployment Manager.

Configure domain names for IFD

To configure Microsoft Dynamics CRM for IFD, you must start Deployment Manager and run the Internet-Facing Deployment Configuration Wizard to add or revise the domain values. Depending on how you deployed the Microsoft Dynamics CRM Server 2013 role group or individual server role installation, and the configuration of each server in the NLB cluster, the Web Application Server Domain, Organization Web Service Domain, and Discovery Web Service Domain values use the NLBvirtual cluster domain name. For example, if the Web Application Server is installed on an Internet-facing NLBcluster that has the FQDN virtual name crmcluster.contoso.com, enter contoso.com as the Web Application Server Domain value. More information: Configure a CRM Internet-facing deployment

For more information about how to configure internal web address and external domain values, see the Deployment Manager Help.

Step 5: Verify and monitor the cluster installation

Verify that Microsoft Dynamics CRM client applications can connect to CRM by using the cluster name, such as CRMNLBCluster.

To monitor the cluster, you have the following options.

  • Network Load Balancing Manager. Log entries are displayed in the bottom of Network Load Balancing Manager.

  • Event Viewer. Entries are recorded in the System logs by using the NLB source.

  • Wlbs. Run the wlbs.exe query or wlbs.exe display command at the command prompt to view information about the state of the cluster.

  • Windows Server 2008 Network Load Balancing Management Pack . When your organization uses Microsoft System Center or Operations Manager 2007 to monitor and manage the servers in your organization, include the Windows Server Network Load Balancing Management Pack on the cluster hosts.

See Also

Microsoft Dynamics CRM Server 2013 installation
Set configuration and organization databases for SQL Server 2012 AlwaysOn failover
Upgrade from Microsoft Dynamics CRM 2011