Friday, December 1, 2017

SQL AlwaysOn-Skype For Business

There are many changes on Skype for Business included high availability such as server pooling, disaster recovery with pool pairing, and several modes of Back End server high availability such as always on availability groups, database mirroring, and SQL fail over clustering.

High availability referring to make sure that services are available even one or more servers goes down and disaster recovery means keeping services going in the event of a natural or human caused disaster and preserving as much data from before the disaster as possible.

Skype for business server providing the high availability options in Front End as pool pairing as well as high availability options are in Back End servers such as database mirroring, Always On availability groups, SQL fail over clustering, Always On fail over cluster instances (FCI).

Worked on a project for Skype for Business deployment with one of mu customer, and want to share my experience through this post. In this post my main focus on configuring the SQL Server AlwaysOn Availability Group for Skype for Business.

Before Starting 

As always we have to go through the prerequisite, following are the recommendation from Microsoft

Server requirements for Skype for Business Server 2015

Back End Server high availability in Skype for Business Server

Windows Failover Clustering

Following are the recommendation for configuration of the Windows Failover Clustering

Failover Clustering Hardware Requirements and Storage Options

Understanding Requirements for Failover Clusters

IPs Address and DNS

First of all we need to do ensure that our SQL nodes are configured on the customer LAN and domain joined.

SQL AlwaysOn

Next we need to decide the IP addressing for the SQL availability group, we need IP address for SQL AlwaysOn Group listener and DNS name for SQL AlwaysOn Group listener.

Service Accounts

Again we have to follow the best practice to use Active Directory Service Account where possible.

Network Configuration

First we have to configure the Network for public and private network card on both SQL servers.

Windows Failover Clustering 

Now time to install the Windows Failover Clustering role on servers, we have two option, first you can run the PowerShell command

Install-WindowsFeature Failover-Clustering

and 2nd option from GUI

Once complete we can see the "Failover Cluster Manager" in server tools

Now time to create failover cluster, open from console of failover cluster manager

Select Create Cluster

Click Next on Create Cluster Wizard

Brows the both nodes from Active Directory and click on add

Next wizard for validating the cluster configuration test before continue, i have selected Yes

Now it will start validating the configuration

Select "Run all Test"

next wizard ready for test configuration

wizard is running for validating the configuration

here is the validation report for cluster configuration.

Next wizard you have to give the Cluster IP address and Cluster Name

next we have to make sure uncheck on "Add all eligible storage to the cluster" and press Next to continue

Once Windows Server Failover Cluster now created and we can get the warning regarding Quorum witness, we can ignore now as  we will  define latter also we can view the report

Now we can see all the details from Failover Cluster manager Console

Now we have to define the Quorum\Witness folder and permission.

Now create the Cluster Quorum from Failover Cluster Manager

Quorum cluster configure wizard will give all details, click Next

here we have option to select the Quorum witness
next wizard configure the a file share witness

Next brows and select the file share witness
Once we select the path of the file share witness click on Next
Now you can see the Cluster Quorum configuration has been completed and we can view the report also.

Now we can see the both nodes are online from Failover Cluster manager console

Now we see the completed the installation and configuration of the Windows Failover Cluster, In next part 2 we will start SQL installation and configuration.