- VAAI (vStorage API for Array Integration) is EMC/VMWare API that allows a hardware array to expose certain features of the array.
- The hardware array typically offers hardware acceleration for certain operations, including:
- Clone Blocks/ XCOPY because intra-array copy is faster than through the host.
- Zero Blocks/ Write same
- Block delete
- Atomic test and Set, used on VMFS volume
- Thin provisioning
- Native snapshot support
- Storage array should support hardware acceleration through VAAI.
Ceph and VAAI
- ESXi data store need storage array with a iSCSI interface.
- All ESXi writes are sync writes
- Ceph has a block device solution that is RBD (RADOS Block Device). This block device can act as back end to an iSCSI front end.
- iSCSI front end could be:
- TGT (Linux SCSI target framework)
- Mostly, userspace code is needed for iSCSI.
- Not VAAI compliant
- LIO (Linux IO)
- VAAI compliant
- SCST
- NFS
- TGT (Linux SCSI target framework)
- ESXi operations like consolidating snapshots/storage vmotion/cloning use 64kb IO’s. Assuming latency of 4ms for an operation, 1/0.004 =250 iops 64kb*250 = 16MB/s
- IO from VM’s will be passed through to Ceph at whatever size it is submitted as.
Resources