Home > Domain Expertise > Virtualization Services > VAAI
What is VAAI
VAAI stands for vStorage API for Array Integration. VAAI was first introduced at VMworld 2008 when the vStorage API was announced.
Description: The VAAI can offload specific storage operations to compliant storage hardware, which results in less CPU, memory and storage fabric bandwidth consumption.
User requires vSphere 4.1+ and VAAI compliant Array. (Click here to view current list of VAAI compliant arrays)
VAAI includes 3 main features:
HW accelerated Zeroing
- 2-10x lower number of IO operations
- Eliminate redundant and repetitive host-based write commands with optimized internal array commands
- Uses WRITE SAME SCSI command internally
- Simply
put: { WRITE(Block 0, All ‘A’s) + WRITE(Block 1, All ‘A’s) + …
WRITE(Block n, All ‘A’s) }= { WRITE_SAME(FromBlock 0 to Block n, All
‘A’s }
HW accelerated Copy
- 2-10x lower number of IO operations
- Leverage native array Copy capability to move blocks
- Uses COPY/XCOPY SCSI Commands
- Instead of Host involving in the
- Copy operation from one LUN to another LUN
- Copy particular set of blocks in the same LUN
COPY/XCOPY
SCSI Commands can achieve the same with single command. Host is freed
from Read/Write operations. As Array Hardware internally does so, it is
fast as well. HW accelerated Locking
- 10-100x lower number of IO operations
- Its similar to Block level locking for SCSI LUN
- SCSI Compare and Swap (CAS) command can help in the same.
- Replace LUN locking with extent-based locks for better granularity
- Reduce
number of “lock” operations required by using one efficient SCSI
command to perform pre-lock, lock, and post-lock operations
From technical perspective, an Array vendor should support special SCSI commands like WRITE_SAME, COPY, COPY_SAME, XCOPY etc. to declare itself as VAAI compliant.
So, what does VAAI mean for vSphere virtualization?
Simply put,
VAAI will allow more hypervisor compute power to remain available for
running virtual machines. This mean, greater VM to host ratios without
more physical resources and even larger workloads in a single VM. This
also means fast VMotions, Storage VMotions, cloning, VM deployment and
more.
| |
Without VAAI |
With VAAI |
| Time to create a 50GB eagerzeroedthick VMDK |
10 minutes |
1 minutes 30 second |
| Deploying 50GB eagerzeroedthick template |
19 minutes |
6 minutes |
VAAI References:
http://bit.ly/muuehA ; http://bit.ly/k3yInN ; http://bit.ly/cmGl4e ; http://bit.ly/cM5jJG ; http://bit.ly/dDzKRh
Note:
The SCSI commands prevail in the SCSI draft for so long. Many were
there in SCSI-3. Few were introduced in the SCSI-4. There is nothing new
VAAI is providing in this. For long in the industry, hosts (SCSI
Initiators) were not issuing these specialized SCSI commands. So Array
vendors were reluctant to support them as well. It seems that VMware
understood power of these commands and ESX started issuing them and so
Arrays has to conform them.