I installed Dynamics on a virtual machine which is a single box installation but never installed or configured server farm. Recently got a chance to install Dynamics 365 onto a server farm. So wanted to added my notes here.
1. For On Premise installation as on Dec2020, Microsoft has no support for 2019 Windows Server OS.
2. We had 2 Web servers, 2 App servers 2 SQL servers and 2 reporting servers
3. 1 set of servers (web, app, DB and reporting) are at primary location and other set of servers are at secondary location.
4. When primary goes down we want secondary to be up and running with minimal steps to recover and minimal data loss.
5. No availability group and listener are configured at DB level. However, DB mirroring and high availability is configured.
Prerequisites
1. Requested for 6 service accounts. One for installation which will have Organization Unit level permission at AD level , and local admin rights on server and login rights on server. Also, installation account needs to be sys admin on SQL server and local admin on SQL box. Content admin on reporting server.
Note: If Service account don’t get Domain admin at AD level, instead it gets access at OU level, a warming during installation that SPN are not created is logged.
2. All other service accounts are normal AD accounts.
3. Make sure all servers are on Windows 2016 standard or Enterprise version. Installing Dynamics on 2019 server OS is possible. However, this was not tested by Microsoft.
4. Allow servers to get all recommended windows updates by restarting multiple times.
5. Enable IIS on all Web and App servers
6. Verify that SQL server and Reporting Servers are at same patch level and same service packs.
7. Create and configure new url and configure CNAME for both Web Servers
8. Get a 2 certificates for Web Servers with proper subject and alternate names else browsers may reject your certificate.
Installation
1. Installed Front end role and Deployment role on primary web server and installed Backend role on primary App server.
2. Install Front end role and deployment role on secondary servers by pointing config to existing installation. Follow similar steps for Back end role installation on secondary app server.
3. Install certificate on both web servers and configure https.
We can do similar configuration for reporting servers as well.
4. Browse CRM using URL configured with CNAMES, Dynamics should load without issues.
5. 2 Web servers and 2 App servers are running on 1 SQL server at this moment.
DR Activity
This is the major activity for testing our requirement of recovering with minimal steps.
1. As mentioned, SQL mirroring was configured.
2. Assume primary data center is down. DBA can help taking primary SQL server down. Because High availability is configured, secondary SQL will be up and accessible.
3. Update registry to point SQL connection string of CRM config database to secondary SQL server. This step is not required if availability group and listener are configured.
4. Updating connection string enables us to access config database using deployment manager on secondary web server.
5. Disable primary web server and app server to avoid intermittent issues. Update SQl Server name in deployment manager or run SQL script to update organization connection string in organization table in config DB.
6. Update reporting server url as well. Configuring CNAME to reporting servers can save some time.
7. Restart all services to avoid any unnecessary issues.
8. Follow similar steps to get primary servers up and running.