During the just concluded VMworld 2015, EMC released a VSA named VVols Tech Preview to help people to test this technology in their labs. I was just waiting for the first vendor to offer the possibility to easily test VVOLs capabilities, so thanks to EMC for this. Time to deploy it in my lab!
Download and install
This appliance is essentially again the vVNX that was released some months ago, but this time with only VVOLs support enabled. If you have already that other appliance in you lab, you need also this one to test VVOLs. The appliance is free to be downloaded and used by simply going here. Actually, the two appliances are basically the same, with just VVOLs as a supported capability, as you can also spot from the two downloaded OVA in my lab:
3.1.2 is the Virtual VNX, while 3.1.4 is the VVOL appliance. This makes me think that in a (hopefully short) future the two will merge into a single appliance, and the vVNX will have NFS capabilities as it has now, but also block and VVOLs.
The deployment in a vSphere environment is easy as usual when starting from an OVA: just select the OVA to be deployed and follow the wizard. The only part where you need to configure the appliance in regards to your environment are the three different network interface (2 for data traffic and 1 for management):
Here you map the management network to your environment. Data networks will be configured directly into the web console. The wizard completes and the VM is booted up. Be careful, it requires 2 CPU and 12 GB of RAM to operate. Once the deployment is over, the vVNX can be reached via a web console (EMC Unisphere) on the management interface, using the admin default user. Once logged into the Unisphere interface (by the way, you can see here the new HTML5 interface), a configuration wizard immediately appears. There are several steps: first you configure the new admin password, then you install a proper license by using the generated UUID and retrieving a license going to this webpage. After configuring DNS and NTP servers to be used, I’ve skipped the creation of a storage pool since I still need to add additional disks to the appliance. The next part is to configure the data networks: depending on your lab setup, configure both ethernet ports as needed:
I’ve skipped also the creation of the NAS resources, and completed the wizard.
Configure the storage and VVOLS
Next, let’s add some storage. The VSA comes with 3 virtual disks, that are used by the operating system and cannot be used as a storage resource. So, I needed first of all to add at least an additional disk. In my case, I’ve added a 100GB and a 50GB disk:
The new disks are immediately seen by the VSA, so I could immediately start the creation of the first Storage Pool.
In the left menu of the Unisphere interface (by the way, nice job EMC, this interface is really pleasant to be used!) select Storage, then pools and click the plus button to create the first pool. I’ve repeated the process twice, to add a “Performance Pool” using the 50GB disk, and a “Capacity Pool” using the 100GB disk. They are both located into the same storage to be honest, but in a production environment you can think about having different pools with different capabilities and performance, and use them later when defining VVOLs policies. In the wizard I’ve selected the 50GB disk and assigned it the “Performance Tier”:
In the next page, obviously you can assign only the Performance Tier to this pool, since we only assigned the 50GB disk to this Tier. Hit next again and the system will show you the list of disks that it will use for this pool (again, just the 50GB disk). The next two steps are the most important ones for VVOLs: as a policy-based solution, VVOLs rely on storage capabilities exposed by the storage itself (via VASA libraries) to automatically place VMs into the proper tier. So, we first flag the option to create a new VMware Capability Profile:
And because we already selected the Performance Tier at the storage layer, inner capabilities are already selected:
I’ve added a usage tag called Production, so I’ll be able afterwards to create a vSphere policy to assign this Tier to production VMs. You can imagine the second run of the wizard will use the 100GB disk, assign it to the Capacity tier, and it will have a tag called “dev” to it. After both pools are created, the result will be like this:
The way this VSA works, it requires a NAS server in order to run a PE (Protocol Endpoint). So, go into “File” menu and create a new NAS server. I’ve called it mine “VMware_NAS_Server” and it uses the Capacity Pool. It uses the IO module 0, the IP is 10.2.70.143 (same subnet as the iscsi protocol), and the sharing protocol is NFS (without flagging the v4 option). Skip the other options and complete the wizard. With the NAS server configured, it’s time to create the PE; for those new to VVOLs, this is a special entity which is used for accessing virtual volumes by a VMware ESXi host. In the VNX appliance, the PE is created based on an existing NAS server, so interfaces and ports configured on the NAS server for NFS protocol are used by VMware ESXi hosts to access virtual volumes. That’s the reason I first created the NAS Server.
Another prerequisite for the PE is to create the list of which hosts will have access to it: by going into ACCESS -> VMware, you can add single ESXi hosts or vCenters. I’ve registered my vCenter server here, so I was able to add my 3 ESXi hosts in one single step:
The wizard to create the PE is really simple: you select Storage, VMware, Protocol Endpoints, and start the wizard to add a new one. The wizard will ask to select an existing NAS Server as a starting point, so I selected the one I created before. Then I gave the PE the name “VVNX_PE”, selected all my 3 ESXi hosts to authorize them to access the PE, and ended the wizard. The protocol endpoint is ready to be used:
Time to finally create our first VVOL datastore!
Go into the Datastore menu and start the wizard to create a new datastore. You have three options here, and we will obviously select VVOLs:
In the wizard, I gave the datastore the name “VVNX_VVOL_Performance_Datastore” and selected the Performance Capability Profiles, using the entire available space. I’ve then repeated the wizard and created the “VVNX_VVOL_Capacity_Datastore” using the other capability.
Connect the storage to vSphere and use VVOLs
The last part it about connecting the storage to the VMware environment and start consuming VVOLs. In the vSphere Web Client, select the vCenter, then Manage and Storage Providers. Here I add the vVNX, like this:
The IP address is the one of the management interface. The new storage shows up into the list, with all its informations:
Then, it’s time to add the new datastores. Go into datastores, and add a new one. Obviously the type will be VVOL, and in the wizard you should see the two VVOL datastores created before, ready to be published into vCenter.
After the wizard is completed for both datastores, and access has been granted to all the ESXi servers, here we have our two new VVOL datastores, ready to be consumed.
Again, VVOLs is a policy-based solution. For this reason, in order to consume VVOLs we need some policies. They can be created into vCenter by going into Home, Policies and Profiles, VM Storage Policies. Here I’ve created two policies, called “VVOL Performance” and “VVOL Capacity”. Policies are made of rules, and here we can use service levels, usage tags, or storage capabilities. For this example, I’m using the usage tags I’ve created before, where Production will be used for the Performance policy, and Dev for the Capacity policy:
vCenter automatically shows which datastore are compatible with a given policy:
Now, when you go and create a new virtual machine, when you choose that the storage policy needs to be “VVOL Performance”
vCenter automatically shows only the compatible datastore, and uses this one to complete the deployment. If you check the VM summary, the policy is listed and its compliance are listed in the VM properties:
Final Notes
I must admit that at first I thought the entire configuration of VVOLs would have been much more complicated, but it was not, at all. Yes, it’s not as straight as deploying a block storage, but remember we are dealing with a policy-driven solution, so the workflow now is to configure the storage with its capabilities, create policies to surface those capabilities, and then choose which capabilities the VM needs to use. vCenter will then automatically deploy or move the VM into the right datastore, automatically.
Thanks again to EMC for the free VVOL appliance, now I have VVOLs in my Lab to play with.