Difference between revisions of "VAAI support"

From Xen
Line 1: Line 1:
The VMware vStorage APIs for Array Integration (VAAI) allow common VM disk operations to be sped up including
+
We want to speed up common VM disk operations such as:
  +
# deleting disks
  +
# creating empty disks
  +
# cloning disks
  +
Ideally the host would send the commands to the storage server/target and allow it to Do The Right Thing. Many arrays are 'smart' in the sense that they maintain block allocation maps and can create trees of disk clones without explicitly copying all the blocks. Even when an array doesn't have such smarts it is still better to copy blocks across the internal array fabric than across the host to array network link.
  +
  +
The VMware vStorage APIs for Array Integration (VAAI) are a defacto standard which allow common VM disk operations to be sped up including
 
# Atomic Test and Set (ATC): for fast LV locking
 
# Atomic Test and Set (ATC): for fast LV locking
 
# Block-level Zero: for blanking freshly-created LVs
 
# Block-level Zero: for blanking freshly-created LVs
Line 6: Line 12:
   
 
(for more information see http://linux-iscsi.org/wiki/VStorage_APIs_for_Array_Integration )
 
(for more information see http://linux-iscsi.org/wiki/VStorage_APIs_for_Array_Integration )
  +
  +
How can we take advantage of storage arrays which support these?
  +
  +
= Notes on VAAI =
   
 
The APIs are presented as SCSI commands and have been implemented in the [[Linux-IO software target|http://linux-iscsi.org/wiki/LIO]] which has achieved VMware certification in several hardware products.
 
The APIs are presented as SCSI commands and have been implemented in the [[Linux-IO software target|http://linux-iscsi.org/wiki/LIO]] which has achieved VMware certification in several hardware products.

Revision as of 12:52, 15 September 2014

We want to speed up common VM disk operations such as:

  1. deleting disks
  2. creating empty disks
  3. cloning disks

Ideally the host would send the commands to the storage server/target and allow it to Do The Right Thing. Many arrays are 'smart' in the sense that they maintain block allocation maps and can create trees of disk clones without explicitly copying all the blocks. Even when an array doesn't have such smarts it is still better to copy blocks across the internal array fabric than across the host to array network link.

The VMware vStorage APIs for Array Integration (VAAI) are a defacto standard which allow common VM disk operations to be sped up including

  1. Atomic Test and Set (ATC): for fast LV locking
  2. Block-level Zero: for blanking freshly-created LVs
  3. Block-level Clone: for getting the array to copy LVs
  4. Block-level Delete: to clear unused space

(for more information see http://linux-iscsi.org/wiki/VStorage_APIs_for_Array_Integration )

How can we take advantage of storage arrays which support these?

Notes on VAAI

The APIs are presented as SCSI commands and have been implemented in the http://linux-iscsi.org/wiki/LIO which has achieved VMware certification in several hardware products.