This post will walk through the setup of VMware Virtual Volumes (VVols) with HPE Nimble Storage. The post was originally published in September 2016 and has subsequently been brought up to date, the process remains largely the same and in this example we will use the vSphere 6.7 HTML5 client and Nimble software version 5.0.4. The terminology and features of Virtual Volumes are detailed in KB 2113013 (Understanding Virtual Volumes (VVols) in VMware vSphere 6.7).
Nimble VVol Components
Nimble software includes the vStorage APIs for Storage Awareness (VASA) provider and the PE (Protocol Endpoint) built into the operating system. This means that the VASA provider and Protocol Endpoint run natively from the controller, so there is no additional installation or configuration required. This design also benefits from the highly available setup of Nimble controllers.
Virtual machines are provisioned based on the VMware Storage Policy Based Management (SPBM) framework which uses the VASA client, both features are key to VVols and were introduced with vSphere 6. Nimble folders were added in v3 of the OS and represent a logical allocation of capacity, vSphere sees the folders as containers where virtual volumes can reside.
- Before you can implement VVols you need to be running vSphere 6 or above.
- If you have already licensed vSphere for standard or above there is no additional cost.
- Nimble arrays must be running OS v3.x or above.
- There are no additional licensing requirements or costs to use VVols with Nimble.
- Nimble have included the vStorage APIs for Storage Awareness (VASA) in the software. Check with your storage provider that they support VASA 2.0 (vSphere 6.0) or VASA 3.0 (vSphere 6.5).
- At the time of writing all Nimble storage support VVols. If you are using an alternative storage provider cross check your hardware with VVols in the VMware Compatibility Guide.
Log into the web interface of the Nimble device.
The first thing we need to do is integrate the VASA provider with vSphere. From the drop down Administration menu select VMware Integration. Add the vCenter Server or edit an existing vCenter integration to select the VASA Provider (VVols) check box and click Save.
The next task is to setup a folder for VMware to use as a storage container. From the drop down Manage menu select Data Storage, change the view to Folder and click the Add button.
Enter a name and description for the new folder. If you have setup multiple pools of storage then select the pool to use, otherwise leave at default. If required you can set a usage limit on the folder, this does not create a reservation but puts a cap on the amount of storage VMware can use for Virtual Volumes. From the Management Type drop down menu select VMware Virtual Volumes (VVols), and select the vCenter server that will be managing the Virtual Volumes, click Create.
The new folder should now be visible in the folder tree on the left hand pane, once vCenter starts using this container for Virtual Volumes you will see VMDK and other files stored natively within the folder
The final step is to examine the existing performance policies, from the Manage drop down menu select Performance Policies. There are multiple pre-configured performance policies, if required you can create your own. These policies can later be defined in vCenter as part of a Virtual Machine (VM) Storage policy.
Configuring Virtual Volumes can be done in either the vSphere web client or HTML5 client. The first task is to add the folder we just created as a VVol storage container; from the home page click Storage, expand the vCenter and right click the data center, select Storage, and New Datastore. Set the datastore type to VVol and click Next.
The available Nimble folder should now be highlighted, verify the name and size, enter a name for your new datastore and click Next.
Select the hosts that require access and click Next, review the details in the final screen and click Finish.
You may need to do a rescan on the hosts but at this stage we are ready to provision a new virtual machine to the Virtual Volume datastore with the default storage policy.
This represents VVols in its simplest form, the virtual machine files are now thin provisioned and stored natively in the folder we created on the Nimble array.
The final phase is to configure VM Storage Policies to meet your own requirements, there are a number of policies built into the Nimble software which we examined earlier, or you can create your own. To map a VM Storage Policy through to a Nimble Performance Policy browse to the vSphere client and click Policies and Profiles, select VM Storage Policies, the default policies are listed.
Click Create New VM Storage Policy, enter a name and description for the policy and click Next.
Under Policy Structure select Enable rules for “NimbleStorage” storage and click Next. Under NimbleStorage Rules add the desired rule that exists upon the Nimble, click Next. From the Storage Compatibility table select the datastore we added for Virtual Volumes, click Next. Review the Storage Policy details and click Finish.
The policy can now be selected from the drop-down VM Storage Policy menu when provisioning a virtual machine.