13 Posts

April 5th, 2014 13:00

Your understanding is correct.

VMAX Family arrays use Dynamic LUN Addressing by default.

Front End ports can be shared by multiple hosts as you are well aware.

The Array LUN ID (or address) starts at zero and increments upwards.

Clearly this LUN ID used as is may not be appropriate from a Hosts perspective. As you indicate a host may expect to see the host lun ID of 0 for the boot lun.

So when you are creating a Masking View or subsequently adding more devices to an SG which is already in a Masking view, one has the option of specifying what the Host LUN address should be. Now if you dont specify the Host LUN address, then the command examines the Host LUNs already in use and uses the next available host lun address.

If we assume that we are creating a brand new masking view, if I dont specify the -lun option or change the default in Unisphere, then the Host LUN addressing will start and 0, 1, 2 and so on.

However you can override this by using the -lun option in CLI or change it in Unisphere via the Set Dynamic LUNs button.

Taking it further. Let us say we presented 4 devices to a host. By default the Host LUN ID would be 0,1,2 and 3.

Let us say we present 4 more devices. By default the Host LUN Id will now start at 4 unless you override it.

Bottom line if you do nothing VMAX will do the right thing and start the Host LUN id at 0 if nothing exists or the next available Host LUN id.

Now if a host has multiple HBAs then it is a very good idea to use the Consistent_LUN option. This will ensure that the host LUN ids are consistent across all your  HBAs. Just be aware the if you plan to use Consistent_LUN, do it right from the start. Doing it after the fact is not easy.

58 Posts

April 6th, 2014 16:00

Thanks very much for the clarification, that really helps me understand this better.

A couple of minor follow up questions.

You are saying Consistent LUN will set/require that the Host LUN ID is consistent across all FA ports.  Does this mean that the array LUN ID will not be set consistent, or will it also be included?  Mostly I'm wondering about this for future FA adds, because I know this can be problematic with Consistent LUN.  As an example, say I'm presenting a device using Consistent LUN across 4 FA ports, and then I want to add it to another 2 FA's for additional paths.  In this case, does it only matter that there is no matching Host LUN ID on the additional 2 FAs for that host?  Or does it also matter that the array LUN ID is not already taken on those 2 FAs?

Finally, I noticed that if I use SYMCLI and do a list detail on a masking view, under the storage group I can see Host LUN ID for existing LUNs in the Host LUN column.  Is this information viewable somewhere from within Unisphere, or only via CLI?

58 Posts

April 6th, 2014 17:00

Excellent, thanks again!

13 Posts

April 6th, 2014 17:00

Consistent lun is from the perspective of the host. So you are trying to keep the host lun Id consistent.

So for your case where you start with 4 fas. You have same host ids on all paths. When you add two more fas if consistent lun is set then your devices will have the same host lun ids on these two new paths as well.

The array lun Id may or may not match the array lun id on the other fas. This is because thse fas could be used by other hosts and other devices may be mapped to these fas. What is important is that the host lun ids match.

in Unisphere you can see the host lun ids by navigating to Hosts > Masking Views. Click on a masking view and then click on the View Connections button. In the connections view in the bottom of the page the LUN column is the Host lun Id.

1 Rookie

 • 

89 Posts

October 7th, 2014 06:00

thanks again Dynamox.

as usual, I'm looking in the wrong place.

1 Rookie

 • 

31 Posts

December 7th, 2016 11:00

List of questions are right in line with the task I was working to figure out. Great Ask...

1 Rookie

 • 

31 Posts

December 7th, 2016 11:00

Thank you for providing detailed clarification of @raid-zero's line up of questions.

Example commands were modified ran successfully against our array to gather the information I needed. 

No Events found!

Top