Nimble OS 2.3 – vSphere Web Client Integration

Blog Post created by rfenton Employee on Jul 17, 2015

by Rich Fenton


Todays blog in the Detailed Exploration into Nimble OS 2.3 series, we will explore the new integration to the VMware vSphere Web Client.


Nimble Storage has a long history of integrating into vSphere Management framework, starting with basic vCenter integration in Nimble OS 1.4, through to last years revamped thick client update,  which I blogged an overview and technical deep dive as part of our 2.1 blog series update.  This latest update provides deeper integration to the latest vSphere web client.


What is the vSphere Web Client? 

In vCenter 5.5, VMware introduced the web-based client (Next Generation Client) to facilitate management of the vSphere infrastructure.  Rather than being based on the C# thick client, the new client is based on Adobe Flex and Java and runs directly from your browser.  The new web client is not a direct replacement for the traditional vCenter thick client which every vAdmin had used previously and is still available.  However, specific functionality that was introduced in vSphere 5 & 6 could only be managed via the new Web Client (e.g, Distributed vSwitches, VVols). Therefore if a vAdmin was using these features (and by extension the new web client) then they would have to switch between the traditional thick client, in order to manage their Nimble objects and the web client to manage the new VMware features: Which was far from ideal!  Nimble OS 2.3 introduces direct integration to web client allowing you to manage your Nimble storage platform directly within vCenter thick client or web-based client.


Which client should I use?

Really the choice is personal preference.  If you prefer the traditional GUI and have no need to manage the new functionality introduced in vSphere 5 and vSphere 6 then the thick client plugin will work in the same manner as it did with Nimble OS 2.1 and Nimble OS 2.2.  If however your preference is to use the Web Client / Next Generation Client, then registering via 2.3 will allow you to run the Nimble integration from the web client.  Of course if your using or planning to use the latest vSphere features then the web client is the way to go!


What are the requirements?

From a vCenter perspective, you need to be running vCenter 5.5 update 1 (both the vCenter Appliance and Windows Server version are supported)

From a Nimble perspective, your array/group needs to be running Nimble OS 2.3.x.


So what's changed? Surely, it looks and feels the same as the original thick client?

Not quite! The framework has changed so the rest of this blog will focus on how the Nimble integration looks in the new web client.


Firstly, the registration process is identical to the previous versions of Nimble OS, click on Administration > vCenter Plugin




and then enter your hostname and credentials of your vCenter Server / Appliance and click Register:




Note: this will register both the Thick Client and the Web Client to vCenter.  If you prefer you can just register the Thick Client or the Web Client by using the Nimble Command Line Interface using the:

vmplugin --register --client  {web | thick}


You can then login to the web client by navigating and providing your credentials to:

https://<vCenter Hostname | IP Address>:9443

Gotcha: If your already logged into the web client, you will need to logout and back in for the new Nimble components to load, as third party components only initially get loaded by the Web Client at login time!


The first thing you'll notice is the Nimble Group tab no longer exists.  My first mistake when I initially registered the plugin was to think that I didn't correctly register the plugin (as the tab I was expecting to see was missing).  Therefore within the Web Client you will no longer see this type of view:

Thick Client View:


Instead the plugin is natively integrated to the web client and embedded into the VMware functionality.  Clicking on a datastore (and specifically a datastore that is provisioned via a Nimble device) will now show details about that datastore from vCenter and that information is supplemented with data from the Nimble plugin.  For example the view below is showing native VMware datastore information, in addition to the details around the Volume and Space that is coming from the Nimble plugin.


If the volume is not provisioned to Nimble Best Practices (for example, Nimble Connection Manager is not installed or perhaps the Path Selection Policy is incorrect for the datastore, then the plugin will alert and ask you to fix it):


Clicking the hyperlink here will fix the issue to the recommended best practice!

Clicking on the Monitor/Performance tab will reveal an overview of vSphere performance counters and a plugin extension to show counters from the Nimble Array (here IOPS and latency is shown but the scroll bar allows more statistics are available):


Finally the Connections show which Initiators are connected to this Datastore:


and Replication tab shows any destination Arrays where this datastore is being replicated to and the current SLA and transfer progress.

Clicking on the Manage > Snapshots tab allows the vAdmin to view how this datastore is being protected, view/delete snapshots and also create or clone a new volume from a particular snapshot:


In context Management options

When clicking on a datastore you can also right click the datastore or click More Actions dialogue and this shows all the actions that can performed on this specific datastore, within the Nimble Storage Actions extension, these workflows are identical to the workflows in the 2.1 plugin and are relatively self-explanatory. I won't detail each workflow here but the video at the end of the blog will show each option.


Finally, right clicking on the Datacentre with the Web Client allows the vAdmin to create a new datastore. 


Again the workflow will guide you through the settings and will mount to each of the required ESX hosts, creating the VMFS filesystem and logging as it goes. The one difference with 2.3 however, is that Encryption at Rest is supported (as discussed in a blog post by Jeff Feierfeil here):


Below is a video of the integration in a lot more detail.






Please post any questions or comments that you have below.