Use of XCOPY offloads in migrations from Virtual Volume datastores
search cancel

Use of XCOPY offloads in migrations from Virtual Volume datastores

book

Article ID: 334515

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

This article explains differences in use of XCOPY offloads (which may significantly affect time required for migration) when copying to/from VVol datastores.

Symptoms:
  • Storage migrations take different amounts of time to/from Virtual Volume datastores.
  • Storage migrations use XCOPY to VVol datastores but not from VVol datastores.


Environment

VMware vSphere 6.x.x
VMware vSphere 7.0.x
VMware vSphere 8.0.x

Cause

In cases where the array supports offloading via the XCOPY command, If original and target datastores are on the same array, the array uses XCOPY to migrate the VM. FlashArray XCOPY only copies metadata, so migration is nearly instantaneous.

If source and target datastores are on different arrays then migration time is proportional to the amount of data copied as they will be using read/ write operations to copy the data like a normal 

Resolution

When migrating a VM, vSphere will take advantage of various ways of offloading the transfer of the data involved.
In order of preference this could include
 
  • VASA-based offloads of the complete virtual disk duplication (applicable only on VVol storage).
  • VAAI-based offload of the copying of the virtual disks's data using XCOPY (applicable only on SAN arrays, and only if supported by the array)
Before reverting to explicit host based copying of the virtual machines data during migrations to VVol datastores, vSphere has been enhanced to use XCOPY using the VAAI offload.
 
XCOPY Supported:
  •     VMFS to RDM/VVol
  •     VVol   to  RDM
  •     RDM  to  VVol
  •     VVol  to VVol
  •     VMFS to VMFS

XCOPY Not Supported:
  •     VVol to VMFS
Note: Some of SAN arrays that support VVols may support XCOPY for non-VVol LUNs but not to or from VVol LUNs, which may separately affect the overall migration performance in an array-specific way. vSphere will use XCOPY on arrays that support it for VVols only when moving to a VVol virtual datastore (not from VVol to another type of file system like VMFS). This is a result of the implementation of ESXi's datamover.