VMware VAAI Certification Test Summary
Based on the VMware VAAI Certification Guide Revision date: 20101011
This guide is intended for VMware partners who want to certify VAAI storage with ESX to claim compatibility in the VMware HCLs.
The vStorage API calls off load certain storage operations to the storage array and optimize the storage operation. They are the new application programming interfaces in the VMKernel. Using a small set of primitives or fundamental operations that can be issued to an array supporting these interfaces, ESX can improve the performance on certain storage operations such as cloning, snapshotting, mirroring, zeroing blocks, and replication.
You certify these offload operations with your storage arrays and use this certification to obtain a listing in the VMware compatibility guide:
- Atomic Test and Set (ATS) also known as Hardware Assisted Locking: a mechanism to modify a disk sector to improve the performance of ESX updating metadata.
- Full Copy: given a source range of LBAs, copies them into the given destination range of LBAs.
- Block Zeroing or Write Same: zeroes out the given range of LBAs.
VAAI Certification Test Process List
- BlockZeroDiskTest
- This test verifies that when ESX uses the VAAI BlockZero primitive, an eager‐zeroed‐thick vmdk volume is created faster.
- The operation compares execution time with and without enabling the VAAI BlockZero primitive. The test passes only if the execution time with VAAI enabled is less than with VAAI disabled.
- The test is conducted with continuous I/O to the array under test from four virtual machines running on the ESX host.
- IMPORTANT Do not run any extraneous workloads on the storage array under test during the first 30 minutes of this test to avoid the possibility of non‐constant workloads skewing the test times and causing a test failure.
- Estimated test time: 30 minutes
- BlockZeroRDMTests
- This test verifies that zeroing a vmdk volume on an RDM disk is performed correctly when ESX uses the VAAI BlockZero primitive. The test is run on both a non‐pass‐through RDM as well as a pass‐through RDM disk.
- The operation is conducted with and without enabling the VAAI BlockZero primitive. The test logs note the execution times with and without the VAAI BlockZero primitive, but the time does not determine test passing or failing.
- The test is conducted with continuous I/O to the array under test from four virtual machines running on the ESX host.
- Estimated test time: 5 minutes to 3 hours
- BlockZeroMultiOffloadTests
- This test verifies that simultaneous creation of virtual disks on a shared datastore from two ESX hosts with VAAI BlockZero primitive enabled functions properly.
- The operation is conducted with and without enabling the VAAI BlockZero primitive. The test logs note the execution times with and without the VAAI BlockZero primitive, but the time does not determine test passing or failing.
- This test is conducted with no I/O to the array under test.
- Estimated test time: 10‐20 minutes
- FullCopyDiskTest
- This test verifies that when ESX uses the VAAI FullCopy primitive, a vmdk volume clones faster.
- The operation is conducted with and without enabling the VAAI FullCopy primitive. The test logs note the execution times with and without the VAAI FullCopy primitive, but the time does not determine test passing or failing.
- The test is conducted with continuous I/O to the array under test from four virtual machines running on the ESX host.
- Estimated test time: 36 hours, with a majority of the time spent verifying cloned volume contents.
- FullCopyRDMTests
- This test verifies that cloning a vmdk volume to an RDM disk is done correctly when ESX host uses the VAAI FullCopy primitive. The test is run with both a non‐pass‐through RDM as well as a pass‐through RDM disk as the destination disk.
- The operation is conducted with and without enabling the VAAI FullCopy primitive. The test logs note the execution times with and without the VAAI FullCopy primitive, but the time does not determine test passing or failing.
- The test is conducted with continuous I/O to the array under test from four virtual machines running on the ESX host.
- Estimated test time: 18 hours, with a majority of the time spent verifying cloned volume contents.
- FullCopyCloneVMTests
- This test verifies that virtual machine cloning operations function properly with the VAAI FullCopy primitive enabled.
- The test clones a virtual machine to both the same datastore as the source virtual machine as well as to a different datastore.
- The operation compares execution time with and without enabling the VAAI FullCopy primitive. The test passes only if the execution time with VAAI enabled is less than with VAAI disabled.
- The test is conducted with continuous I/O to the array under test from four virtual machines running on the ESX host.
- IMPORTANT Do not run any extraneous workloads on the storage array under test during the first 30 minutes of this test to avoid the possibility of non‐constant workloads skewing the test times and causing a test failure.
- Estimated test time: 1 hour
- FullCopyCloneVMRDMTests
- This test verifies that virtual machine cloning operation from a non‐pass‐through RDM LUN to a pass‐through RDM LUN functions properly with the VAAI FullCopy primitive enabled.
- The operation is conducted with and without enabling the VAAI FullCopy primitive. The test logs note the execution times with and without the VAAI FullCopy primitive, but the time does not determine test passing or failing.
- The test is conducted with continuous I/O to the array under test from four virtual machines running on the ESX host.
- Estimated test time: 32 minutes
- FullCopyMultiOffloadTests
- This test verifies that the VAAI feature improves concurrent Full Copy from two ESX hosts.
- The operation is conducted with and without enabling the VAAI FullCopy primitive. The test logs note the execution times, but the time does not determine test passing or failing.
- This test is conducted with no I/O to the array under test.
- Estimated test time: 20 minutes
- ATSFileOpTests
- This test verifies that when ESX enables the VAAI ATS primitive, the file create, delete, read and write operations perform faster with simultaneous access to the LUN from two ESX hosts.
- The operation compares execution time with and without enabling the VAAI ATS primitive. The test passes only if the execution time with VAAI enabled is less than with VAAI disabled.
- This test is conducted with no I/O to the array under test.
- IMPORTANT Do not run any extraneous workloads on the storage array under test during the first 30 minutes of this test to avoid the possibility of non‐constant workloads skewing the test times and causing a test failure.
- Estimated test time: 12‐20 minutes
- ATSMultiLengthFileTests
- This test verifies that when ESX hosts use the VAAI ATS primitive, simultaneous file modifications from two ESX hosts function properly.
- The operation compares execution time with and without enabling the VAAI ATS primitive. The operation is conducted with and without enabling the VAAI ATS primitive. The test logs note the execution times, but the time does not determine test passing or failing.
- This test is conducted with no I/O to the array under test.
- Estimated test time: 3‐10 minutes
- ATSReserveTests
- This test verifies that when ESX hosts use the VAAI ATS primitive, file locking and unlocking modifications from two ESX hosts function properly.
- This test is conducted with no I/O to the array under test.
- Estimated test time: 3‐5 minutes