Updated for vSphere 8.0 |
Using Extended XCOPY with vSphere 8.0 U1
Block VAAI (vStorage API for Array Integration) | ESXi builds ≥ 21495797
For vSphere 8.0 Update 1 | Last document update 26 July 2023
When information changes, additions and updates are marked New. VAAI Implementation of Extended XCOPYESXi 8.0 Update 1 and later supports the Extended XCOPY feature to optimize data copies between VMFS datastores that are in different storage arrays. XCOPY operations across storage arrays are supported only for VMFS-6 datastores. ESXi enables this feature, allowing you to offload, migrate and clone workloads. The actual data migration across the arrays must be implemented by the storage arrays. VAAI (vStorage API for Array Integration) is a VMware technology to help partners integrate storage hardware. XCOPY is one of the Block VAAI primitives for offloading tasks to storage arrays. Storage systems can use XCOPY to perform array-based operations such as migration or cloning of virtual machines, instead of consuming vSphere resources for these tasks. See Introduction to VAAI for details. XCOPY has been supported for datastores that are part of the same array, that is, both source and destination data stores reside in one storage array. Because of this restriction, XCOPY offload did not work when the source and destination addresses were in two different arrays. As of vSphere 8.0 U1, this works if implemented. The above limitation is eliminated by Extended XCOPY (E-XCOPY) support. E-XCOPY is useful for Storage vMotion and clone workloads that require copying large amounts of data between two datastores hosted by two different storage arrays. The performance of Storage vMotion and clone workloads is expected to improve significantly when using E-XCOPY compared to traditional software-based data movement. Support Required on the ESXi HostOn the ESXi host, release 8.0 U1 added support to enable E-XCOPY when issuing I/O across different storage arrays. In case of any failures reported by the array for E-XCOPY operation, ESXi detects and falls back to traditional software-based data copy to complete the operation. Support Required on the Storage ArrayVendors must implement the following items to support E-XCOPY:
Administrator Configuration of Claim-RulesTo optimize data copy between datastores on different arrays, and allow migrate and clone offloads using E-XCOPY, the administrator must first configure storage claim-rules. Extended XCOPY is supported only with the T10 plug-in, specified after -P option, and with claim-rule class VAAI, specified after the -c option. Auto assign means the system chooses the best known rule ID. esxcli storage core claimrule add -t vendor -V vendorName -M modelName -P VMW_VAAIP_T10 -c VAAI –autoassign -eFor example, vendorName could be ExampleCom, and modelName could be SuperStore. Once the claim-rule has been established, you can check status of Extended XCOPY with this command: esxcli storage core device vaai status get -d deviceFor example, with device naa.68ccf098007f554c61148eb1786e6749, the following appears: naa.68ccf098007f554c61148eb1786e6749 VAAI Plugin Name: VMW_VAAIP_T10 ATS Status: supported Clone Status: supported Zero Status: supported Delete Status: supported Ex Clone Status: supportedAdministrators should verify that the VAAI_FILTER plug-in device is added, and if not, use the following commands to autoassign, load, and add the T10 plug-in: esxcli storage core claimrule list -c Filter esxcli storage core claimrule add -t vendor -V vendorName -M modelName -P VAAI_FILTER -c Filter --autoassign esxcli storage core claimrule load -c Filter esxcli storage core claimrule add -t vendor -V vendorName -M modelName -P VMW_VAAIP_T10 -c VAAI --autoassign -eThe claim-rule in the step above uses ESXi's default transfer size and single segment for XCOPY commands. For possibly more efficient values of transfer size and multiple segments, try option -a to use array-reported values for XCOPY commands, and option -s use multiple segments for XCOPY commands. Also available are -m -k options; see below. Do this for both source and destination devices. Source device: esxcli storage core claimrule add -t vendor -V vendorName -M modelName -P VMW_VAAIP_T10 -c VAAI --autoassign -a -sDestination device: esxcli storage core claimrule add -t vendor -V vendorName -M modelName -P VMW_VAAIP_T10 -c VAAI --autoassign -a -s -eFinally, load the VAAI_T10 plug-in and run the newly added claim rule options. esxcli storage core claimrule load -c VAAI esxcli storage core claimrule run --claimrule-class=Filter Explanation of Storage Core OptionsThe -e option is new. It enables Extended XCOPY for the claimrule add commands above. Option -t specifies the type of matching for a claim-rule, in this case type vendor as specified by the -V option. Option -P specifies plug-in, -c specifies claim-rule class, and -d specifies device. For claimrule add, the -m option specifies maximum transfer size in MB, and the -k option specifies maximum transfer size in KB. This might perform faster than -a for array-reported values. |
Copyright © 2022-2023 VMware, Inc. All rights reserved.