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

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 https://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.