unity

How To Manage Unity Host LUN IDs

EMC’s new Unity arrays have been out for a bit now.  Every array has its weirdness to it.  I just found my first Unity oddity today.  Remember, the Unity replaces the VNX and the VNXe.  If you’ve never played with a VNXe, EMC simplified the Unisphere interface, and removed and/or hid many options in the process.  With that in mind, the Unity does this, too.  You will find this perhaps first managing Unity Host LUN IDs.

Why might you want to control the host LUN IDs?

  • Consistent LUN Masking for easier troubleshooting.
  • Storage based replication like RecoverPoint best practices want consistent Host LUN IDs for the replicated LUNs for both host access and RPAs.
  • Boot from SAN LUNs are either required to be a specific Host LUN ID such as LUN 0, or you may be running Cisco UCS and need to specificy a specific Host LUN ID for the boot LUN in the boot policy.

In this case, the customer decided to reinstall ESXi on a new boot LUN.  They created a new boot LUN, granted the correct ESXi host access, and then deleted the old one.

Provisioning LUNs

Provisioning LUNs on an EMC Unity array is easy, at least in most cases.  EMC streamlined the interface on these arrays.  You simply go to Storage > the subcategory Block or VMware if it’s for ESXi, and step through the wizard to set your options and grant host access.

unitycreatelun

When you get to the point where you grant access, you simply put checkmarks in the boxes for each host to which you wish to grant access.

unitygrantlunaccess

Do you see anything missing, even if you click that gear and add columns?  If you guessed there’s no way to control what host LUN ID will be used in the LUN masking, go pat yourself on the back.

Fortunately, the Unity does provide a way to set the Host LUN ID once a LUN is created… in most cases…

Managing Unity Host LUN IDs for LUN Masking

Here’s how Unity Host LUN IDs work.  Unity automatically picks a host LUN ID for the host, picking the next available host LUN ID for that host.  If you wish to change the host LUN ID for a LUN mask, simply navigate to Access > Hosts, click on the host you wish the change the Host LUN ID for, the pencil icon to edit.  Next, click LUNs.  Finally, click “Modify LUN IDs”.

change unity host lun id

Easy right?  As long as your host isn’t identified as a VMware host, you’re good!

Managing Unity Host LUN IDs for LUN Masking on VMware Hosts

If you follow those directions but your host is identified as a VMware host within Unity, you’re in for a nasty surprise.  Let’s play the game, “what’s missing?”

unity host lun id missing

If you guessed “no way to change Host LUN IDs”, you’re correct again.  YOU’RE ON FIRE!!!  That’s not all, though.  There’s no LUN access management here at all!  That includes Host LUN IDs.

Don’t bother going into the initiators either.  It’s not there.  It’s not under the LUN in question, either; although, that’s how to manage LUN access in general for VMware hosts.  Other than command line, there’s nothing you can do with identified VMware hosts.

Solution?  Don’t make it an identified VMware host.  Simply remove the vCenter server from Unity.  That places all ESXi servers discovered from this vCenter into the general Hosts group, giving you back the ability to change the Host LUN IDs.

unity vcenter server removed esxi hosts

Now, you can manage the Host LUN IDs again!