Install Microsoft Dynamics CRM Server on multiple computers

 

Applies To: Dynamics 365 (on-premises), Dynamics CRM 2016

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

Important

Deploying the Microsoft Dynamics 365 Workgroup Server 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 failover clustering 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 365 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 365 has multiple computers that are running Microsoft Dynamics 365 Server that access a single server that is running SQL Server.

This topic describes the steps to install Microsoft Dynamics CRM Server 2016 in a two-node failover clustering configuration where allserver roles are installed on a single computer, using the failover clustering feature 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 Server 2016, you have the following choices for load balancing the Dynamics 365 web application, where both servers in the failover 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 365 Server role is used to run the web application components that connect users to Microsoft Dynamics 365 data.

    • Organization Web Service role. This Microsoft Dynamics 365 Server role is used to run applications that use the methods described in the Microsoft Dynamics 365 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 failover clustering, an understanding of Microsoft Dynamics 365 Server multiple-server deployment options are needed. More information: Microsoft Dynamics 365 multiple-server deployment

This topic assumes the hardware and failover cluster are already established and functioning. For information about procedures for setting up and administering failover clustering on Windows Server, see the Failover Cluster Manager Help on the Windows Server computer. For information about failover clustering requirements and how to configure failover clustering in Windows Server, see Failover Clustering.

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

Step 1: Enable network load balancing

Verify that failover clustering 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 failover 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 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 MSDN: 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.

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 CRMAppPoolIIS application pool. setspn -s http/CRMNLBName.FQDN CRMAppPoolService More information: Setspn

  2. Start ADSI edit.

  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 failover cluster name and FQDN is the fully qualified domain name.) For example, the CRMNLBName.FQDN name might be CRMNLBCluster.contoso.com.

    Important

    Note this failover cluster name. You must use this name in the following step when you create the failover cluster 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 Server 2016 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 Microsoft Dynamics CRM Server 2016 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 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 failover clustering for the deployment

After the Microsoft Dynamics CRM Server 2016 installations are complete, run the Set-CrmSettings WebAddressSettings Windows PowerShell command to configure failover clustering for the deployment. More information: Dynamics 365 PowerShell Reference

Alternatively, you can use Deployment Manager as described here.

Verify or change the web addresses using Deployment Manager

  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 2016 role group (Full or Front End) or individual server role installation, and the configuration of each server in the failover 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 failover cluster that is named crmcluster1 in the contoso domain but installed the Back End Server role group on a different server in a different failover cluster 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 TLS/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 failover clustering for the deployment

  1. On the Microsoft Dynamics CRM Server 2016, 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 the deployment aware of the failover cluster, you must select The deployment uses an NLB option. Selecting The deployment uses an NLB sets Microsoft Dynamics CRM to configure Windows Identity Foundation (WIF) to use the encryption certificate to encrypt, decrypt, and sign the application session authentication cookies. The encrypted cookies can then be processed by any server in the failover cluster.

    For information about procedures for loading and administering failover clustering on Windows Server, see the Failover Cluster Manager Help on the Windows Server computer. For information about how to configure failover clustering in Windows Server, see Create a Failover Cluster.

    Note

    If you are using a cluster solution that uses Transport Layer Security (TLS) or Secure Sockets Layer (SSL) offloading hardware, you must specify the TLS/SSL header in the SSL Header box. Notice that the TLS/SSL header 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 TLS/SSL offloading. Review the TLS/SSL offloading device documentation for the header value.

  5. Click OK and then close Deployment Manager.

Configure domain names for IFD

To configure the deployment for IFD, you must either run the Set-Crmsetting ifdSettings Windows PowerShell command or 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 2016 role group or individual server role installation, and the configuration of each server in the failover cluster, the Web Application Server Domain, Organization Web Service Domain, and Discovery Web Service Domain values use the failover virtual cluster domain name. For example, if the Web Application Server is installed on an Internet-facing failover cluster that has the FQDN virtual name crmcluster.contoso.com, enter contoso.com as the Web Application Server Domain value. More information: Configure the Microsoft Dynamics 365 server for IFD

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

Step 5: Verify and monitor the cluster installation

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

To monitor the cluster, you have the following options.

  • Failover Cluster Manager. Log entries are displayed in the bottom of Failover Cluster Manager.

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

  • Run the Failover Clustering Windows PowerShell commands to view information about the state of the cluster. More information: Failover Clusters Cmdlets in Windows PowerShell

See Also

Microsoft Dynamics CRM Server installation
Install Microsoft Dynamics CRM Reporting Extensions

© 2016 Microsoft. All rights reserved. Copyright