Team blog of MCS @ Middle East and Africa

This blog is created by Microsoft MEA HQ near shoring team, and it aims to share knowledge with the IT community.With its infrastructure and development sides,It brings to you the proven best practices and real world experiences from Subject Matter Experts
Follow Us On Twitter! Subscribe To Our Blog! Contact Us

Creating an Active/Active SQL Cluster using Hyper-V: Part1 Virtualized Storage

Creating an Active/Active SQL Cluster using Hyper-V: Part1 Virtualized Storage

  • Comments 9
  • Likes

Introduction

In this series of posts I will walk you through the processes of creating an Active/Active SQL server cluster using Hyper-V and Microsoft iSCSI target software for virtualized SAN. The target is to create first a storage server hosted on a normal Windows 2008 R2 server. Then connect to this server using two other machines as iSCSI initiators. Then I will create the windows cluster along with the DTC clustered service. A clustered SQL server instance will then be created. Finally another clustered SQL server instance will be created and Active/Active configuration of both instances will be applied.

Solution Architecture

The solution is fairly simple as per the below configuration.

clip_image002

Preparation

You need to create three virtual machines as illustrated above. One as the AD and storage server and another two as the SQL server nodes that will act as Active/Active nodes.

These are all windows 2008 R2 servers and we have created the domain and joined all servers to this domain. You need also to setup two network cards in each machine to function as normal LAN connection and another one for the cluster heartbeat. It would be advisable also to separate the storage usage to another network if you have heavy usage. The configuration given here is all static with normal local IPs assigned on all network cards.

Virtualized SAN Steps

In this section we will go through the needed steps to create the virtual storage server based SAN.

Configuring the iSCSI Target

1-      Download the required iSCSI target software from http://www.microsoft.com/download/en/details.aspx?id=19867.

2-      Copy the software to the storage server UK-LIT-AD in this case.

3-      Double click the file to start the installation.

4-      After it completes it will take you to a web page
clip_image003

5-      Scroll down and click as below
clip_image004

6-     
clip_image005

7-     
clip_image006

8-      Click install
clip_image007

9-     
clip_image008

10-   Now open server manager and you will find a new tree as below
clip_image009

11-  
clip_image011

12-   Give the new target a name (Just any name)
clip_image012

13-   In the initiator list just click advanced and enter all the domain names of the servers that will have access to this target. In our case this is UK-LIT-DB1 and UK-LIT-DB2.
clip_image013
clip_image014

14-   If it displays a warning about the multiple initiators just accept it.
clip_image015

15-   Click finish. And now you have completed the creation of your iSCSI target and what remains is to add the required virtual disks to it.

16-  
clip_image017

17-   Place the new VHD and give it a name.
clip_image018

18-   Choose the disk size
clip_image019

19-   Click finish and this would create the fixed size disk.

20-   You will need to create the following disks so just follow the same approach

Disk

Purpose

Quorum

Cluster Quorum

DTC1

DTC cluster 1 log disk

DTC2

DTC cluster 2 log disk

SQL1

SQL cluster 1 shared disk

SQL2

SQL cluster 2 shared disk

Configuring the iSCSI Initiators

Now we will configure the two SQL nodes to be able to access these disks.

1-      Log on to the first node UK-LIT-SQL1

2-      Open the iSCSI initiator
clip_image020

3-      Change the initiator name to match the machine name
clip_image021

4-      In the discovery tab add a new discovery portal using the IP of the storage server.

5-      Click on the targets tab and click refresh to show the available targets
clip_image022

6-      Click connect then OK.
clip_image023

7-      Go to the volumes and devices tab and click auto configure
clip_image024

8-      Do the same steps on UK-LIT-SQL2 starting at step 1 above but change the initiator name to match the machine name as below
clip_image026

9-      Go to any node of the two and open the server manager and then the disk management.

10-   Bring all disks online to this node and then prepare them with primary partitions and format those using NTFS.

In the next parts I will show you how to configure the Active/Active SQL cluster.

Comments
  • And where are the next parts?

  • Part2 here: blogs.technet.com/.../creating-an-active-active-sql-cluster-using-hyper-v-part2-the-clustered-instances.aspx

    Part3 here: blogs.technet.com/.../creating-an-active-active-sql-cluster-using-hyper-v-part3-the-active-active-configuration.aspx

  • Do i need to create two quorum disks, one quorum disk per node?

  • Only one Quorum disk is needed.

  • Gr8 blogs.....

  • Thanks ... great guide ... however, doesn't the Storage Server node, where the iSCSI target is defined and hosted become a single point of failure? What is the solution/approach to make that redundant? If the above setup is created on Azure, is there a way to make both the SCSI initiators (or the SQL Instances) directly be aware of the common Azure storage to which they would be anyway writing to? Can the Azure Blob Storage not be exposed directly and consumed by the two instances on the Failover Cluster, without using iSCSI?

  • Yes you are correct in this setup the storage node is a single failure point. There are multiple solutions for this. The first one is of course using a SAN with any SAN replication strategy (and this is the usual setup any enterprise would apply), the second one is to cluster the iSCSI target service itself on a new windows cluster (but I haven't tried that before), or you can host the entire VM that is hosting the target in Azure and create the required network path to Azure. Can you use Azure storage? This seems very interesting but I do not know I have to dig more in that.

  • for active active clustering how many partition i need to create on SAN? Please give information in detail

  • SAN partitions are not really a function in the Active/Active configuration but rather depend on the solution itself and the databases in the solution and this is what we call storage design. I will try to write a blog about that.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment