Saturday, January 16, 2016

How to install and Enable VAAI NetApp® NFS Plug-in in VMware

 

Lets start to have a small explanation what is VAAI(vStorage API for Array Integration ) and what are the benefits using it.

VAAI is an API framework in VMware that enable some Storage tasks. It first presented in ESXi 4.1, but only after 5.x supports hardware acceleration with NAS storage devices.
Allows certain I/O operations to be offloaded from the ESXi to the physical array. With VAAI we release the workload on the virtual server hardware. Enables certain storage tasks, such as thin provisioning, to be offloaded from the VMware server virtualization hardware to the storage array.

You can read more about VAAI in VMware HERE

Our first tasks will be in the NetApp so that we can prepare the system to use VAAI in VMware.

Install NetApp VAAI plugin VIB in NetApp

Login to you your NetApp console:

First check if nfs.vstorage in enabled. If not, enable

Commands:
# options nfs.vstorage.enable
# vfiler run vfiler_name options nfs.vstorage.enable


In our case(7-Mode CLI) was disable/off, so we will enable.

In 7-Mode CLI 
# options nfs.vstorage.enable on
In Clustered Data ONTAP CLI 
# vserver nfs modify –vserver vserver_name -vstorage enabled
         Note: vserver_name is the name of your SVM

Active also for vfiler 7-Mode CLI in the vFiler
# vfiler run vfile_name options nfs.vstorage.enable on
         Note: vfile_name is the name of your vfiler. In our case is vfiler0



NetApp recommendations:


If you are using NetApp  clustered Data ONTAP you need to modify export policy rules for ESXi servers that use VAAI.

Enter the following command to set nfs as the access protocol for each export policy rule for ESXi servers that use VAAI:
# vserver export-policy rule modify -vserver vs1 -policyname mypolicy -ruleindex 1 -protocol nfs
In the above example:
  • vs1 is the name of the SVM.
  • mypolicy is the name of the export policy.
  • 1 is the index number of the rule.
  • nfs includes the NFSv3 and NFSv4 protocols.
After we have finish our work in the NetApp side, we should start the VMware tasks. But first let download the VAAI files from NetApp support site.

Note: You need to have a support account to download the files from NetApp support site HERE.

In the next image we see the option to download for both ESXi versions(we will use for 5.5)


Files are:
  1. ESXi 6.0
    NetAppNasPlugin.v22.zip - offline bundle
    NetAppNasPlugin.v22.vib - online bundle
  2. ESXi 5.x
    NetAppNasPlugin.v21.zip - offline bundle
    NetAppNasPlugin.v21.vib - online bundle
Now we that we have our files lets start the tasks in the VMware side.

First lets check if the VAAI is enabled on each ESXi host

Connect to your ESXi shell console

Commands:
# esxcfg-advcfg -g /DataMover/HardwareAcceleratedMove
# esxcfg-advcfg -g /DataMover/HardwareAcceleratedInit
If VAAI is enabled then we should get 1 for each one(ESXi 5.0 and later, VAAI is enabled by default).



If we get 0 then VAAI is disable(not in case above). Lets enable.

Commands:
# esxcfg-advcfg -s 1 /DataMover/HardwareAcceleratedInit
# esxcfg-advcfg -s 1 /DataMover/HardwareAcceleratedMove



We can also enable and check ha in vSphere Client.

vSphere Client
  • Using the vSphere client, log in to the vCenter server.
  • For each ESXi server, click the server name.
  • In the Software section of the Configuration tab, click Advanced Settings.
  • Select DataMover, and ensure that the DataMover.HardwareAcceleratedMove and DataMover.HardwareAcceleratedInit parameters are set to 1.



Also check if VMFS3.HardwareAcceleratedLocking is enable.



After we have set Hardware Accelerated we can now install the VAAI plug-in.

Install NetApp VAAI plugin VIB in ESXi

Copy the files that we download from NetApp support to the ESXi host(we can use a tool like WinSCP to do this)

Since I have done this tests with my ESXi 5.5 lab I have downloaded the offline bundle NetAppNasPlugin.v21.zip.

In the ESXi shell console:
  • Let check our offline bundle
   # esxcli software sources vib list -d /VIB/NetAppNasPlugin.v21.zip
After we check that we have the file and is ok, then we will intall.
  •  Install the offline bundle
   #  esxcli software vib install -n NetAppNasPlugin -d /VIB/NetAppNasPlugin.v21.zip
In the next image we see that VAAI is installed:



If you want to install a online bundle(vib file) then you need to run the following command
Install the online bundle
    # esxcli software vib install -v /VIB/NetAppNasPlugin.v21.vib
Note: Always use full path(for online and offline bundle) or the install will not work.

After VAAI is installed we need to reboot ESXi host.

After reboot Check if NetApp plugin is enabled in ESXi
# esxcli software vib list | more 
You could see in the next image the NetApp VAAI Plug-in installed and enable(first line)



After we know that everything is enable now our Volumes/Datastore should be Hardware Accelerated supported.



After checking that our NetApp VAAI is installed lets mount a volume to use the VAAI(we will do it manually, but we can also do it in the vSphere Client or Web Client).

In case that you want to add new volumes and also check the volumes in the Shell Console.
# esxcfg-nas -a NFS-Simulator-01 -o 164.48.131.50 -s /vol/LUN_NetappTest001_vol


Lets check if the volume if supported and enabled with VAAI from NetApp
# vmkfstools -Ph /vmfs/volumes/NFS-Simulator-01
As we can see in the next image, NAS VAAI Supported is YES.



We can use vmkfstools -Ph to check all our Volumes if they are VAAI Supported. 

After you finish

For testing purposes:

Use the NFS plug-in space reservation and copy offload features to make routine tasks more efficient:
  •  Create virtual machines in the thick virtual machine disk (VMDK) format on NetApp traditional or FlexVol volumes and reserve space for the file at the time you create it.
  •  Clone existing virtual machines within or across NetApp volumes:
           1. Datastores that are volumes on the same SVM on the same node.
           2. Datastores that are volumes on the same SVM on different nodes.
           3. Datastores that are volumes on the same 7-Mode system or vFiler unit.
  •  Perform cloning operations that finish faster than non-VAAI clone operations because they do not need to go through the ESXi host.
Hope this article will help you install and enable VAAI in your VMware environment.