This post will walk through the setup of VMware VVOLs with Nimble Storage. If you are unfamiliar with the concept of Virtual Volumes then the post VMware Virtual Volumes is a vanilla look at how VVOLs work and their advantages, without any reference to Nimble.
If you are already up to speed on Virtual Volumes but are looking for further information on why they work so well with Nimble storage then have a look at the Nimble Storage & VVOLs demo below, courtesy of Nimble. There are also free online VVOL labs available at Nimble Storage University.
Nimble VVOL Components
The Nimble OS 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 offers high availability due to the active / passive 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.
- 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 checker.
- There are no additional licensing requirements or costs to use VVOLs with Nimble. Check with your storage provider that this is the case.
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. Edit the vCenter server integration to select the VASA Provider (VVOLS) tick box and click Save.
The next task is to setup a Nimble folder, or container, to house the virtual volumes. From the drop down Manage menu select Volumes, click New Folder.
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 limit to the folder which puts a cap on the amount of storage vSphere can see available (note this doesn’t create a reservation) otherwise leave at no limit. From the Management Type drop down menu select VVOLs, enter the vCenter server that will be managing the virtual volumes and click Create.
The new folder should now be visible in the folder tree on the left hand pane, once vSphere 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 vSphere as part of a VM storage policy.
The configuration on the Nimble array is now complete and we can progress with the vSphere steps.
Since VVOLs are a new feature of vSphere 6 all configuration is done in the vSphere web client. The first task is to add the Nimble folder we just created to vSphere, from the home page in the vSphere web client click Storage, and Add Datastore. Pick the datacentre location and click Next, select VVOL as the type of datastore 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 next phase depends entirely on the configuration that is going to best suit your environment. Chances are you’ll already know which storage based policies you have a requirement for, if not you can still browse through both the features on the Nimble array and the options in VM Storage Policies.
From the home page of the vSphere web client click Policies and Profiles, select VM Storage Policies, the default policies are listed.
Click the Create New VM Storage Policy icon. Enter a name and description and click Next. Under rule-sets change the data services to NimbleStorage. Configure the storage policy as required by adding rule sets; either selecting the performance polices we saw earlier in the Nimble array, or adding additional features. Once you have added all applicable rule-sets click Next.
In the storage compatibility screen choose the virtual volume datastore listed as compatible and click Next. Review the storage policy details and click Finish. Now the new policy is setup you can select it from the dropdown VM Storage Policy menu when provisioning a virtual machine.
At the time of writing VMware recommend a halfway house for VVOLs, i.e. no one is suggesting you go migrating your entire production environment to virtual volumes. Have a play about in dev with the policies and from there start to migrate the virtual machines that would benefit from the storage based policies and functionality.