NetApp’s NFS plug-in for VMware VAAI (VMware vStorage API for Array Integration) is an API that allows for the offload of certain tasks from the physical hosts to the storage array. Tasks such as thin-provisioning and hardware acceleration can be done at the array level to reduce the workload on the ESXi hosts.
The steps necessary to deploy VAAI on ESXi hosts as well as the NetApp storage can be accomplished using VSC or ESXi CLI, as well as NetApp’s CLI/Shell. The nice thing about VSC is that it is capable of enabling VMware vStorage for NFS on the storage and also enables VAAI on the VMware hosts if not already done.
Prior to installing NetApp’s NFS plugin for VMware VAAI, NFS datastores cannot take advantage of offloading activities such as Hardware Acceleration.
In order to install and configure NetApp NFS Plug-in for VMware VAAI, the following steps are necessary:
- Enable NFSv3 on the storage system. NFSv4 is necessary for C-Mode on the export policy for VAAI to work.
- Different methods to enable vStorage between 7-Mode and C-Mode
- Have vSphere 5.0 or later
- Download VAAI plug-in from NetApp site
- Copy/Install bundle on ESXi host
Enabling VMware vStorage for NFS
VMware vStorage needs to be enabled on the NetApp storage controller. Since NetApp ONTAP 7-Mode and C-Mode commands are different, you will need to use the one for your array version.
Log in to the CLI and run the following command on both nodes of the HA pair.
“options nfs.vstorage.enable on
In 7-mode, the option is enabled “globally” at the controller level. In C-Mode, this option is enabled at the SVM (Storage Virtual Machine) aka vServer.
Log in to the cluster shell and enable vStorage on the desired vServer.
“vserver nfs modify –vserver <your SVM name> -vstorage enabled”
Verify that VAAI is enabled on the VMware hosts
By default, VAAI is enabled on vSphere 5.0 or later, but you can verify using the following commands from the host CLI.
“esxcfg-advcfg -g /DataMover/HardwareAcceleratedMove”
“esxcfg-advcfg -g /DataMover/HardwareAcceleratedInit”
If VAAI is enabled, the commands will return a 1 instead of 0.
If for some reason VAAI is not enabled on the ESXi host, you can enable them by using these commands:
“esxcfg-advcfg -s 1 /DataMover/HardwareAcceleratedInit’
“esxcfg-advcfg -s 1 /DataMover/HardwareAcceleratedMove”
You can also check these settings by using the Web GUI by selecting the host>Manage>Advanced System Settings.
Installing Plug-in via CLI
You can install the plug-in via VSC or CLI. When using CLI, you can choose to use the online bundle (.vib) or offline bundle (.zip). I will show the offline bundle installation.
After you have downloaded the offline bundle, copy the .zip file to a datastore available to your ESXi hosts.
You can verify the contents of the bundle by running “esxcli software sources vib list –d <path of your .zip file>”. In this example, the offline bundle is located in the root of a datastore available to this host.
From the ESXi CLI, run the following command to install the plug-in
“esxcli software vib install –n NetAppNasPlugin –d <path of your offline bundle>”
At this point, the NFS plug-in for VMware VAAI is installed. Remember that the host MUST be rebooted after installation, so either use vMotion to move you VMs, or schedule some down time after hours to complete the reboot.
Installing Plug-in via VSC
VSC simplifies this installation. Before you can install the plugin on an ESXi host, you will need to copy the .vib file from the offline bundle to the install directory of the VSC server. The default location is C:\Program Files\NetApp\Virtual Storage Console\etc\vsc\web. Also make sure that the name of the .vib file is NetAppNasPlugin.vib, if not, rename it so you don’t have to restart VSC or NVPF service. Don’t forget to reboot the ESXi host after installing the plugin.
VSC>TOOLS>NFS VAAI Tools >Install on Host>Select host and reboot.
After installing the NFS VAAI plug-in, NFS is now supported for Hardware Acceleration as well as other enhancements.