EMC/VMWare VAAI (VStoarge API for Array Integration)

  • 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
  • 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

  1. http://lists.ceph.com/pipermail/ceph-users-ceph.com/2015-July/003179.html
  2. http://linux-iscsi.org/wiki/VStorage_APIs_for_Array_Integration
  3. http://geekfluent.com/2012/03/26/what-will-vaai-v2-do-for-you-part-2-of-2-nfs/
  4. https://www.spinics.net/lists/ceph-devel/msg29124.html
Follow

Get every new post delivered to your Inbox.

Join 83 other followers