Search This Blog

Sunday, November 1, 2009

Building an ISCSI target with Windows Storage Server 2008

In this article, i am going to setup ISCSI target using Windows Storage Server 2008 as a "Storage Virtualization". As you may already know, Windows Storage Server 2008 is an OEM only product which comes preinstalled from the hardware vendor. To get this product, please refer to http://www.microsoft.com/windowsserver2008/en/us/wss08/partners.aspx or Technet subscriber can download for non production use. It is a good tool and enable you to simulate iscsi storage for virtualization high availability.

Let start by follow the step by step instruction:-

Requirement:-
a) Windows Storage Server 2008 - as storage virtualization.
b) 2 nodes with Windows Server 2008 R2 with Hyper V roles installed.

Name:-
a) WSS2k8 - storage virtualization
b) Node 1 -cluster node 1
c) Node 2 - cluster node 2

IP address:-
a) WSS2k8 - 172.16.0.1

b) Node 1
Cluster public NIC - 192.168.10.30
Cluster private NIC - 10.1.1.1
iSCSI NIC - 172.16.0.2

c) Node2
Cluster public NIC - 192.168.10.31
Cluster private NIC -10.1.1.2
iSCSI NIC - 172.16.0.3

d) Failover Cluster IP:- 192.168.10.32

Password:-
Default password for Windows Storage Server 2008 - "wSS2008!"

Setup diagram:-

Initial ISCSI Initiator configuration:-
1. On Node1 and Node 2, add Target Portal.

Using iSCSI Initiator Properties snap in, click on the Discovery tab and add your WSS2k8 ip address to the list of target portal.

Click Advanced button. On the General tab, under connect using section, select
Local Adapter - Microsoft iSCSI Initiator
Initiator IP - select host iscsi nic ip address

Final result of the configuration


iSCSI Target configuration:-
1. On the Windows Firewall, put an exception for the following program/ports
a) TCP 3260- Microsoft iSCSI Software Target Service
b) TCP 135 - Remote Procedure Call (RPC),
c) UDP 138 - NetBIOS Datagram Service
d) %windir%\system32\Wintarget.exe program - Microsoft iSCSI Software Target Service
e) %windir%\System32\WTStatusProxy.exe program- Microsoft iSCSI Software Target status proxy


2. Install Microsoft iSCSI Software Target 3.2 into WSS2k8

3. Create the iSCSI target. We will create the 2 target using Microsoft iSCSI software Targer MMC.
quorum - for quorum use
VMDisk1- for VM storage use

a) Right click iSCSI target and select Create iSCSI target

b) A welcome page appear, click Next to proceed.

c) On the iSCSI Target identification, provide the iSCSI target name and description.

d) On the following screen, you need to provide the identifier for the iSCSI initiator request. Click Browse and select Node1 IQN (iSCSI Qualified Name).

e) Click Finish to complete the iSCSI Target wizard.

Repeat the same step to create VMDisk1 and VMDisk2 iSCSI target.

4. Add additional IQN (iSCSI Qualified Name) to iSCSI Target. Now we will add Node 2 IQN into iSCSI Target.

a) Right click the iSCSI target and select Properties.

b) Click on iSCSI Initiators tab and Click Add button

c) Click Browse and select Node2 IQN

d) Finally, 2 IQN is added to iSCSI Target

5.Add Virtual Disk. Next you need to create the virtual disk and assign to iSCSI Target. This is equivalent of creating a LUN in a SAN device. Virtual Disk created is in VHD extension and in fixed size format.

a) Right click the target quorum and select the option to Create Virtual Disks for iSCSI Target.

b) A welcome to the create virtual disk wizard appear.

c) Select the path and the name with VHD extension.

d) Specify the size for the virtual disk.
Create
a) quorum -512MB
b)VmDisk1- 50000MB
c)VmDisk2- 50000MB


e) Provide the virtual disk description

f) Finally click Finish to create the virtual disk.

You can create multiple VHD files on the same disk. If multiple VHD is created on the same disk, you will encounter performance issue as these VHD will share the same I/O resources.

6. Configure additional iSCSI initiator targets on Node1 and Node2
Since you have finish configure the storage server, let move to Node1 and Node2.

a) Click on Target tab and select Refresh. After a while, if the target properly configured, you should see it.

b) Select the discovered target and click Connect

c) Make sure "Add this connection to the ...." is tick. This ensure the connection is restore every time the computer is start.

d) Click Advanced button, and specify the following settings

Local adapter - select Microsoft iSCSI Initiator
Initiator IP:- Node iSCSI ip address
Target portal IP:- WSS2k8 ip address.

Once you log on, the target status will change to "Connected"
Repeat the same step for all discovered targets.

e) Go to Volume and Devices, click Autoconfigure button the see all the volume. The LUN should appear in the volume list.

7. Turn the LUN to NTFS volume.

a) Go to Disk Management in Computer Management MMC. Initialize and format the LUN into NTFS volume.

That's concluded on how to build an iscsi target using Windows Storage Server 2008.

2 comments:

  1. Very helpful, thank you for sharing. Did you create 3 separate targets with one disk on each target? Why not create one target with 3 disks? Just curious, still learning.

    ReplyDelete
  2. Hi,

    Yes 3 separate target with 1 disk each. Minimum you need 2 target: quorum and LUN1 when you configure failover cluster and live migration using hyper V. Another target is for testing represent another LUN.

    ReplyDelete