StarWind Resource Library

StarWind Virtual SAN VAAI (vStorage API for Array Integration) Configuration & Performance Guide

Published: April 13, 2015


This document is for experienced StarWind users and VMware administrators, who want to decrease the workload caused on the network by using VAAI. It reveals how exactly one can check if VAAI is working properly and how productive it is.

VAAI (vStorage API for Array Integration) is a complex of technologies, designed to offload certain VM disk operations to the storage array. In this case, when working with the disk subsystem, the virtualization host commands the array to perform specific actions, without having to process all the data it had to in the traditional case.

In this event, we have a few mounted disks on ESX host. The properties of disk system show that hardware acceleration has Unknown status. This means that the host hasn’t yet had to perform any VAAI supported operations (basically – it’s a default status). Once an operation supported by VAAI (i.e. Copy/Paste of a virtual disk) is performed, then VAAI will try to tune in.

If it succeeds, the Supported status will appear, if not — Not Supported (Unsupported).

How to check if VAAI really works

1. Create an ImageFile device in StarWind.

2. Connect the device to ESX-host.

Go to Configuration->Storage Adapters
Set the server where the disks are created in the ISCSI Software Adapter properties, Dynamic Discovery tab. In this case – StarWind server.

Click Rescan All. All the available devices that can be connected to ESX-host will be shown.

Go to Configuration-> Storage. Click Add Storage to add the required disk storage.

3. Turning on VAAI.
Method 1, through vSphere Client GUI-interface
Select ESX-host, Configuration, then in Software, select Advanced Settings.
Also, put HardwareAcceleratedMove and HardwareAcceleratedInit parameters to 1 (1 – on, 0 – off) in DataMover.

Go to “VMFS3″ , set “VMFS3.HardwareAcceleratedLocking” to 1 (0 – turned off).

We confirmed that VAAI is running

Second method.

It’s possible to connect to esx-host via ssh (using putty, for example).
The following commands show the STATUS of parameters, and they’re convenient for checking if everything is set right :
esxcfg-advcfg -g /DataMover/HardwareAcceleratedMove
esxcfg-advcfg -g /DataMover/HardwareAcceleratedInit
esxcfg-advcfg -g /VMFS3/HardwareAcceleratedLocking

The result should look like this:

The same commands with the key –s CHANGE the parameters, for example:
esxcfg-advcfg –s 1 /DataMover/HardwareAcceleratedMove

4. With VAAI turned on. Performing VM migration between mounted datastores.

It took about 7 minutes.
Performance in the NIC will look like this (9:31 – 9:38):

Maximums of 227 KBps. The network is almost idle and suitable.

5. Turning off VAAI. Migrating the VM.

13 minutes. Performance…(9:40-9:53)

The NIC workload shows 20MBps during the whole process.
In case everything’s done right, VAAI work is clearly seen.

6. You can also experiment with cloning or copying VMs between datastores.


VAAI support allows StarWind to offload multiple routine storage operations from the VMware hosts to the storage array itself. Thus, these operations are carried out much faster and with no impact on the hypervisor operation.