Friday 9 December 2011

Install MS Dynamics CRM 2011 to an Active-Active MS SQL Server Failover Cluster using ESX 4.0

The fifth post of the series describes how to install Microsoft Dynamics CRM 2011 to both SQL Server failover clusters. Previous posts in the series can be found here: 1, 2, 3 & 4.

I have created a couple of VMs, CRM2011APPA & CRM2011APPB, to use as MS Dynamics CRM 2011 Application Servers.

In this configuration you will need at least two application servers per SQL Server failover cluster, as there is little point in having resilience only in one side of the fence, as it were, but for the purposes of this demo two VMs will suffice.

There are quite a few pre-requisites that need to be fulfilled before MS Dynamics CRM 2011 can be installed:

  • You need to install two instances, SSRSA & SSRSB, of MS SQL Server Reporting Server 2008, SSRS henceforth. You can install them in separate Guests or you can reuse your SQL Server failover cluster servers, which is what I have done. You can scale out the SSRS deployment to provide high availability. Note that it would seem that it is not possible to create two scaled-out deployments on the SQL Server failover cluster servers, so I have gone for single-server SSRS deployments. (I know, I know) 
  • You will need to create at least an OU on your domain to install MS Dynamics CRM 2011, I have actually created two (HACRM2011A & HACRM2011B): One for each deployment. The installer account(s) will need full control of these OUs (it doesn’t really, but it makes life easier that way).
  • You will need at least a new service account to run MS Dynamics CRM 2011, and it is recommended that the sandbox service is run under a separate account too, so make that two accounts or four (two per deployment). Arguably you could re-use the SQL Server failover cluster account if all you are going to do with the cluster is run MS Dynamics CRM 2011, which is what I have done, so the service accounts are sqlcluster2k8a & sqlcluster2k8b.

I think that using a single service account per deployment is acceptable. In essence if the cluster goes down, so does your application, which means that having a separate account will not protect you. If you separate the accounts and the MS Dynamics CRM 2011 service account goes, you still don't have an application, so you have not really gained anything. All of this assumes that you are not using the cluster for some other application.

I shall now describe how to install both instances SSRS so that they can be used by MS Dynamics CRM 2011.

You need to create a couple of service accounts, ssrs2k8a & ssrs2k8b, to run each instance of SSRS, but unlike in SSRS 2005, you do not need IIS.

From the first cluster node, win2k8a, run setup.exe, which will start the SQL Server Installation Center wizard. From the installation tab, select New SQL Server stand-alone installation or add features to an existing installation, which you should know by now, will launch a wizard to check the setup support files and ask you to install them, even if you have installed them before. After many wizards you will arrive at the SQL Server 2008 Setup wizard:

  • On the Installation Type tab: select Perform a new installation of SQL Server 2008.
  • On the Feature Selection tab: select Reporting Services.
  • On the Instance Configuration tab: use SSRSA as the name of the instance.
  • On the Server Configuration tab: set the user account and password (ssrs2k8a)
  • On the Installation Rules tab: select install but not configure

Once the installation has completed, you need to configure it. Run the Reporting Service Configuration Manager from Start -> All Programs -> Microsoft SQL Server 2008 -> Connfiguration Tools -> Reporting Service Configuration Manager.

  • Connect to the SSRSA instance.
  • On the Web Service Url tab: accept the defaults by pressing apply.
  • On the Database tab: click Change Database which will launch the Report Server Database Configuration Wizard.
  • On the Action tab: select Create a new report server database.
  • On the Database Server tab: set Server Name to sql2k8a\sql2k8a and ensure test connection has succeeded. You will need to use your hostname\instancename.
  • On the Report Manager URL tab: press apply, if you go to the next tab and come back to this tab, you’ll now see the advanced button is enabled.
  • On the Encryption Keys tab: ensure that you backup the symmetric key, by pressing backup. A great improvement from SQL Server 2005 is that you are now prompted for a confirmation password.
  • On the Web Service URL tab, double click on the URL, which should take you to the report server website.

The installation process for the second node is identical to the first node, except for the need to use a different instance name, SSRSB and a different user account, ssrs2k8b.

Once the installation has completed, you need to configure it. Run the Reporting Service Configuration Manager from Start -> All Programs -> Microsoft SQL Server 2008 -> Connfiguration Tools -> Reporting Service Configuration Manager.

  • Connect to the SSRSB instance.
  • On the Web Service Url tab: accept the defaults by pressing apply.
  • On the Database tab: click Change Database which will launch the Report Server Database Configuration Wizard.
  • On the Action tab: select Create a new report server database.
  • On the Database Server tab: set Server Name to sql2k8b\sql2k8b and ensure test connection has succeeded. You will need to use your hostname\instancename.
  • On the Report Manager URL tab: press apply, if you go to the next tab and come back to this tab, you’ll now see the advanced button is enabled.
  • On the Encryption Keys tab: ensure that you backup the symmetric key, by pressing backup. A great improvement from SQL Server 2005 is that you are now prompted for a confirmation password.
  • On the Web Service URL tab, double click on the URL, which should take you to the report server website.

At this point you are ready to start the MS Dynamics CRM 2011 install. However, neither deployment has been scaled out, so this is a single point of failure. I guess this is another one that I'll need to investigate.

From the first application server, CRM2011APPA, Run splash.exe and select Install Dynamics CRM Server, which will launch the Microsoft Dynamics CRM Setup wizard to install MS Dynamics CRM 2011:

  • On the Install Required Components screen: click install. Once the .NET framework 4 has installed you will need to reboot and launch the wizard again. When you get back to this screen, click install to finish the installation of the required components.
  • On the Specify Deployment Options screen: enter sql2k8a\sql2k8a (your first SQL Server failover cluster hostname\instance name)
  • On the Select the organization unit screen: select the HACRM2011A OU.
  • On the Specify Service Accounts screen: you should use a separate account for the Sandbox Processing Service, this is a best practice, which I have not followed. I have used sqlcluser2k8a for all services.
  • On the Specify Reporting Service Server screen: ensure that you type the correct url: http://win2k8a/ReportServer_SSRSA

As if by magic the necessary features have been added to the OS, a little bit cheeky of Microsoft perhaps? At any rate, you can now access your new instance of MS Dynamics CRM 2011 on http://localhost.

From the second application server, CRM2011APPB, repeat the process changing the instance (sql2k8b\sql2k8b), OU(HACRM2011B), service account(sqlcluster2k8b) and ssrs deployment (http://win2k8b/ReportServer_SSRSB)

In order to complete the installation you need to install Microsoft Dynamics CRM Reporting Extensions to each SSRS instance.

From node 1, win2k8a, Run Splash.exe and select Install Microsoft Dynamics CRM Reporting Extensions.
  • You need to install .NET framework 4, which means that a reboot will be needed.
  • On the Specify Configuration Database Server screen: select sql2k8a\sql2k8a
  • On the Specify SSRS instance name screen: select SSRSA

From node 2, win2k8b, repeat the same steps to install Microsoft Dynamics CRM Reporting Extensions to SSRSB.

You have now two MS Dynamics CRM 2011 deployments on a active-active SQL Server failover cluster configuration.

No comments:

Post a Comment