What should I keep in mind when enabling an offloaded data transfer?
For a server to relegate ODX file transfers to the underlying storage arrays, the server's file system filter drivers must support an offloaded data transfer and also opt-in to ODX. If not, the server will not use ODX. When deploying ODX, it's important to verify that each server's file system filter drivers support ODX.
For example, use the fltmc PowerShell command line to list any filter drivers associated with each volume where ODX will be enabled. Next, use a Get-ItemProperty PowerShell command line with a "SupportedFeatures" flag to inspect the registry for each listed filter driver. If the registry returns a "3," the filter driver is ODX-compatible. If not, you'll need to upgrade the filter driver to a version that supports ODX.
Before an offloaded data transfer is enabled, it's always worthwhile to take a baseline of the storage performance during a data transfer. One simple approach is to use Performance Monitor (Perfmon) to collect data on CPU utilization, network utilization and disk (bytes/sec). Simply using the System Performance data collector set will suffice. Execute a typical data transfer and then collect the performance data. This will provide a basic snapshot of non-ODX data transfer characteristics on the server.
Enable (or re-enable) ODX, repeat the baseline test and compare results. If ODX works as expected, CPU and network utilization should be lower because the server's CPU and NIC port are not directly handling the transfer work; disk activity should be higher because the data is moving more efficiently disk-to-disk (rather than disk-to-server-to-disk). If this behavior does not occur, verify that ODX is fully enabled and re-check that Windows Server, storage arrays, storage protocols and other requirements are properly configured. Periodically repeating the ODX-enabled baseline can reveal any performance deterioration that might require troubleshooting, optimization or upgrades.
Offloaded data transfers can improve storage efficiency by moving data directly between storage locations or arrays without direct server intervention. But ODX support is not yet universal, and adopters must consider the hardware and software requirements needed for compatibility. It's best to test ODX configurations and performance benefits in a lab environment, especially if mixing storage array hardware or Windows Server and storage filter driver versions. Planning and testing can avoid performance penalties when storage systems are unexpectedly forced to revert to non-ODX operation.
This was first published in March 2014