iSCSI Discovery Mechanisms

Hi Guys!

This post comes to you due to my EMC Studies, I can strongly recommend them for a greater understanding of all the relevant protocols that make up storage such as FC, FCoE and iSCSI (although the course material i have on FCoE is a little dated)

Anyway I wanted to talk about iSCSI and the different discovery mechanisms available to you with iSCSI. I am sure some of you already know all of this detail but for me some of it was new :)

OK first of all let's talk theory then we will worry about detail from there :).


Important note: This blog post is NOT intended as a from-start-to-finish post on how to configure an iSCSI target with LUN's etc, it is simply a blog post to demonstrate the different ways of discovering targets using iSCSI :)


Really quickly, iSCSI has two main components just like SCSI, an initiator and a target, your target is a storage device of some description (tape, disk, whatever) and your initiator is a client wishing to access and use that storage, you can have combined initiator/target devices too.

So, let's say your an iSCSI Host and you want to discover some delicious storage to use, you have to be aware of a target, there are many ways you can become aware of target devices (and indeed for targets to become aware of you)

 

  • Static Configuration of a target using the iSCSI Qualified Name or EUI 
  • SendTargetsDiscovery message
  • iSNS (internet storage name server)
So, let's quickly show an example of the first one and we will use VMWARE ESXi as a software initiator (iSCSI) to demonstrate this.

First of all, i have setup an iSCSI target on my EMC Celerra VSA, as you can see below:

 

This is pretty much the only information i need to be able to configure ESXi to connect to this target, being able to see a LUN is a different matter (you need to configure the LUN masking on the EMC for that) but to at least connect to my target this is all i need.

 Here is my configuration under my iSCSI Software Adapater in ESXi:







So as you can see i've had to copy/paste my iSCSI qualified name into ESXi and hope i don't make any mistakes, and specify the network portal. The network portal is basically the address that the iSCSI target is accepting iSCSI TCP/IP Connections on, so what IP address has the iSCSI Port open essentially :)


Now it is actually much easier than this if you like, what you can do is just add the network portal address and get iSCSI to discover the iSCSI Target name automatically! Way better than having to copy paste or type out that long iSCSI Qualified Name






 
When you do this in ESXi, now the static discovery will show the dynamically discovered target and you didn't have to type all those seemingly random characters :p

 
OK next we will talk about iSNS. iSNS allows you to have targets and initiators register to a central server to report what iSCSI Targets and initiators exist out there on the network, think of it like the name-server for fibre channel (And like FC, it has a method of ensuring that particular targets/initiators are only able to see the targets/initiators they should be able to see)

Now here is a big drawback: ESXi even 5.0 as far as i can tell doesn't support iSNS!!!! it won't register as a initiator :(, so for my examples we will use the iSCSI initiator you can download for Windows.

I have set my EMC Celerra to register to the iSNS Server below:

 

You can install an iSNS server on windows Server 2008 by going to add/remove roles and you will see it there :).

OK so next, I go to my software initiator in Windows and configure my iSNS Server:



 
 
Now when i go back to the iSCSI client main page i will see my discovered targets off the iSNS Server:
 


Next, Let's try and "zone" the iSCSI targets and initiators, in my above example, the windows box should NOT be able to see this storage as it is actually a VMFS Formatted LUN behind that iSCSI Target! SO woops we don't want Windows to be able to see THAT!

So how do we stop that? Easy


Under the iSNS Server you will see  the registered targets and initiators:




Discovery Domains are groups of initiators and targets that should be able to see each other (like a zone in FC), a discovery domain set is a collection of discovery domains. A iSCSI Node can be a member of multiple discovery domains, and unlike FC, you can have multiple active Discovery domain sets at one time.


So, in our example we won't bother changing the discovery domain set, but we will modify the default discovery domain :).

 
As you can see, by default all devices are a member of the default discovery domain, let's make a new one for Windows and put windows in that one :).

 

 DON'T FORGET YOU HAVE TO REMOVE THE INITIATOR FROM THE DEFAULT DD AS HE WILL BE IN THERE BY DEFAULT :)

Windows can now no longer see any targets :( ForeverAlone.Jpeg

 
 

I hope this was insightful :)
 

  


 
 

1 comment:

Popular old posts.