Use cases for ODX

Contributors

You should be aware of the use cases for using ODX on SVMs so that you can determine under what circumstances ODX provides you with performance benefits.

Windows servers and clients that support ODX use copy offload as the default way of copying data across remote servers. If the Windows server or client does not support ODX or the ODX copy offload fails at any point, the copy or move operation falls back to traditional reads and writes for the copy or move operation.

The following use cases support using ODX copies and moves:

  • Intra-volume

    The source and destination files or LUNs are within the same volume.

  • Inter-volume, same node, same SVM

    The source and destination files or LUNs are on different volumes that are located on the same node. The data is owned by the same SVM.

  • Inter-volume, different nodes, same SVM

    The source and destination files or LUNs are on different volumes that are located on different nodes. The data is owned by the same SVM.

  • Inter-SVM, same node

    The source and destination file or LUNs are on different volumes that are located on the same node. The data is owned by different SVMs.

  • Inter-SVM, different nodes

    The source and destination file or LUNs are on different volumes that are located on different nodes. The data is owned by different SVMs.

  • Inter-cluster

    The source and destination LUNs are on different volumes that are located on different nodes across clusters. This is only supported for SAN and does not work for CIFS.

There are some additional special use cases:

  • With the ONTAP ODX implementation, you can use ODX to copy files between SMB shares and FC or iSCSI attached virtual drives.

    You can use Windows Explorer, the Windows CLI or PowerShell, Hyper-V, or other applications that support ODX to copy or move files seamlessly using ODX copy offload between SMB shares and connected LUNs, provided that the SMB shares and LUNs are on the same cluster.

  • Hyper-V provides some additional use cases for ODX copy offload:

    • You can use ODX copy offload pass-through with Hyper-V to copy data within or across virtual hard disk (VHD) files or to copy data between mapped SMB shares and connected iSCSI LUNs within the same cluster.

      This allows copies from guest operating systems to pass through to the underlying storage.

    • When creating fixed-sized VHDs, ODX is used for initializing the disk with zeros, using a well-known zeroed token.

    • ODX copy offload is used for virtual machine storage migration if the source and destination storage is on the same cluster.

    Note

    To take advantage of the use cases for ODX copy offload pass-through with Hyper-V, the guest operating system must support ODX and the guest operating system’s disks must be SCSI disks backed by storage (either SMB or SAN) that supports ODX. IDE disks on the guest operating system do not support ODX pass-through.

Special system file requirements

You can delete ODX files found in qtrees. You must not remove or modify any other ODX system files unless you are told by technical support to do so.

When using the ODX feature, there are ODX system files that exist in every volume of the system. These files enable point-in-time representation of data used during the ODX transfer. The following system files are in the root level of each volume that contains LUNs or files to which data was offloaded:

  • .copy-offload (a hidden directory)

  • .tokens (file under the hidden .copy-offload directory)

You can use the copy-offload delete-tokens -path dir_path -node node_name command to delete a qtree containing an ODX file.