HPE Storage Tech Insiders
Showing results for 
Search instead for 
Did you mean: 

Managing Nimble Storage Arrays with Microsoft SCVMM and SMI-S


The Storage Management Initiative Specification (SMI-S) is a popular standard that provides a common set of tools for enterprises to manage their storage. Developed by SNIA (the Storage Networking Industry Association), SMI-S compliant products provide users with a standardized interface, so they can deploy arrays from their storage vendors of choice while retaining the ability to use native management tools.

Let’s take a look at how Nimble Storage has implemented SMI-S, focusing on how incredibly easy it is to use to manage Nimble arrays in a Hyper-V environment with Microsoft’s SCVMM (System Center Virtual Machine Manager).


Starting in Nimble OS 2.2, Nimble Storage arrays are natively SMI-S compliant and can be managed directly from SCVMM. What follows is a comprehensive list of steps you need to take in order to enable SMI-S on your Nimble array:

  1. You're done.

Yes, you read that right – there are no software agents that need to be installed, and no additional hardware required on which to run them. Everything needed for SMI-S is baked right into the Nimble array itself and is ready to go right out of the box. There are a couple of components that were added to Nimble OS in 2.2 which make this happen, which we’ll cover in the next section.


In order to become SMI-S compliant, an SMI-S provider and a Common Information Model (CIM) Object Manager (CIMOM) were added to the software stack on the Nimble array. The CIMOM server is based on Open Pegasus, which is an open source implementation of CIM and Web Based Enterprise Management (WBEM) standards. Both of these run on the array and communicate with the Windows Standards-Based Storage Management Service via the CIM-XML protocol. If you have multiple Nimble arrays grouped in a scale-out configuration, the group leader runs these processes on behalf of the entire group. The full stack from SCVMM 2012R2 to Nimble looks something like this:



Alright, we've introduced the Nimble SMI-S provider and described how it's implemented. Now how do you turn it on, and what can you do with it? There's nothing needed on the array itself, it's ready to go. When we add the array to SCVMM, it will discover the available storage capacity and any existing volumes which have been tagged with the “smis” agent type. All new volumes which SCVMM creates on the Nimble array will have this attribute. If you have existing volumes that you’d like to manage with SCVMM, you can modify the agent_type attribute for those volumes so that they can be discovered by SCVMM. We’ll go ahead and manually create and tag a volume before adding the array so that SCVMM has something to discover. Since Nimble arrays are dynamic target iSCSI arrays, this is a necessary step.


Now let’s add the provider to SCVMM. From within the SCVMM GUI, we’ll select the “Fabric” option in the navigation pane, right-click “Providers” and select “Add Storage Devices”.


This opens up the Add Storage Devices Wizard. On the first screen, we’ll select the option for “SAN and NAS devices discovered and managed by a SMI-S provider” and click Next.


For the discovery scope, we’ll specify the CIMXML protocol, enter the management IP address of our array, and check the option for SSL. We’ve already set up a run-as account with the appropriate credentials for our array. You can specify credentials by clicking “Browse…” and defining a new run-as account.


Our storage device has been discovered, and things are looking good so far.


Now we get to select the storage pools to manage with SCVMM and assign a classification to it. Here we’ve defined a simple “Nimble” classification. You can use the “Create Classification…” button to create whatever classifications are meaningful to you. Gold, Silver, Bronze, Platinum, Adamantium, whatever makes sense.


Lastly, we review our choices and click Finish to finish the discovery.


Now you should see the Nimble SMI-S provider listed under “Storage -> Providers”, and the Nimble array itself listed under “Storage -> Arrays”. Clicking on “Classifications and Pools” will allow us to review the storage which has been discovered.


To make the discovered storage usable by our Hyper-V cluster, we click on the “Allocated Capacity” icon and choose to “Allocate Storage Pools” to “All Hosts”.

We then select the Nimble storage pool we discovered, click “Add” and then “OK”.


Congratulations! You’ve now enabled your Nimble array for management by SCVMM, discovered storage objects, created a classification, and allocated your storage for use by any hosts being managed by SCVMM.

Now you can freely create, map, unmask, mask, and remove volumes as you see fit. With a few clicks, you can provision a Cluster Shared Volume to all of the hosts in your Hyper-V cluster.

We’ve captured these tasks in the following video on YouTube:

Have a look and let us know what you think!

About the Author



Great tutorial, once we're done we have other options that we can setup. I was wondering if anyone changed the default (Clone logical units) and tried using snapshots instead. based on the description I guess it would work but if anyone have real life experience with this let me know.



Will SCVMM import existing Volumes and place them under management? Is there any risk to existing data?


It can, but won't do so by default.  SCVMM will discover volumes that have an agent type of SMIS, and any volumes created through SCVMM will also have this agent type.  Volumes that were created outside of SCVMM will not have this agent type set, and won't be discovered by SCVMM.  However "agent_type" is a volume parameter that can be modified through the NimbleOS CLI.  So, you could use the following syntax to modify an existing volume:

vol --edit testvol --agent_type smis


So I should change their type first and then place the storage under management?

To clarify... there is NO risk to existing data? Correct?


Correct. No risk to data. Changing the agent_type to SMIS doesn't alter the LUN contents, and when SCVMM sees that the LUN is SMI-S manageable, it will not do anything unexpected like wiping the disk. It may take a while to detect the change, but once it does make sure your classifications are set right and you should be good to go.



Thank you for this excellent post.

Is there any official documentation about the Nimble SMI-S Provider ? (SMI-S Provider Programmer's Guide) ? 

Also, what is the namespace to connect to the CIM Server ? 

Thanks in advance for your help.



Read for dates
HPE at 2019 Technology Events
Learn about the technology events where Hewlett Packard Enterprise will have a presence in 2019.
Read more
Read for dates
HPE Webinars - 2019
Find out about this year's live broadcasts and on-demand webinars.
Read more
View all