VMware vSphere Storage APIs Array Integration (VAAI), also referred to as hardware acceleration or hardware offload APIs, are a set of APIs to enable communication between VMware vSphere ESXi hosts and storage devices. The APIs define a set of storage primitives that enable the ESXi host to offload certain storage operations to the array, which reduces resource overhead on the ESXi hosts and can significantly improve performance for storage-intensive operations such as storage cloning, zeroing, and so on. The goal of VAAI is to help storage vendors provide hardware assistance to speed up VMware I/O operations that are more efficiently accomplished in the storage hardware.
How to Guide
The Datrium DVX Platform ships with two different VIB (VMware Installation Bundle) packages.
- Hyperdriver Software (Hyperdriver is installed by default whenever you add a Compute Node to Datrium DVX)
- VAAI Plug-In (Requires manual steps or VUM to automate the install on each Compute Node)
This blog will focus on the how to use VMware Update Manager (VUM) to deploy the Datrium DVX VAAI Extension. To check the status and eligibility of your VAAI Plug-In enable SSH to your ESXi host and run:
esxcli storage nfs list
The output will likely look something like this (Basically this means the VAAI Plug-In is not installed:
Step 1 – Download Datrium VAAI VIB
The first step is to venture over to Support.Datrium.com and download the latest version of the Datrium VAAI VIB package. In my environment I’m running Datrium DAos 220.127.116.11. This will download a .zip file containing the appropriate files. You’ll not need to extract the .zip file.
Step 2 – Upload the VAAI VIB to the VUM Patch Repository.
- Within vCenter Server click Home, Update Manager (Admin View, not Compliance View)
- Click Patch Repository
- Click Import Patches
- Browse to the .zip file downloaded and upload to the VUM Patch Repository.
Step 3 – Create Host Baseline
- Staying in Admin View we now need to create a baseline for our VIB
- Click Host Baselines and New Baseline
- Choose Host Extension and now search for Datrium in the list of host extensions. You’ll likely see a few Cisco 1000v extensions available, we’re only interested in the Datrium NAS VAAI Plug-In
Step 4 – Attach Baseline to Host
Switch the view to Compliance View, not Admin
- Click on the Cluster in the left pane and choose Attach Baseline
- Click Stage Patches – I personally like to stage all patches prior to deploying, this saves the amount of time a host has to be in Maintenance Mode and be out of the available pool of compute as Staging pre-downloads all of the patches locally to the host making the overall patching process quicker.
Step 5 – Maintenance Mode and Remediate
- Place your Compute Nodes (aka ESXi Hosts) in VMware Maintenance Mode
- Deploying the Datrium VAAI Plug-In does require a reboot so after completion the hosts will automatically reboot.
- Check Compliance
Just to make sure things are perfect SSH back into your ESXi host and run the same command from before:
esxcli storage nfs list
Step 6 – Compare Simple Clone with and without VAAI
Just to compare the speed before and after VAAI:
- Before VAAI – Clone = 13 Minutes
- After VAAI – Clone = 8 Seconds