VM Datastore Migration Fails Due to Unsupported IOFilter Configuration
search cancel

VM Datastore Migration Fails Due to Unsupported IOFilter Configuration

book

Article ID: 405344

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • When attempting to migrate a Virtual Machine to a different datastore within vCenter Server, the migration process fails. Users encounter errors indicating that VM Storage Policies with Data Service capabilities cannot be applied during migration operations. 

Error Message: The operation is not supported on the object. Changing or applying VM Storage Policies with Data Service capabilities during migrate operations is disallowed. VM Storage Policies with Data Service capabilities can be assigned to the provisioned VM after the migrate operation has been completed and before the VM has been powered on.

  • In /var/log/vmware/vpxd/vpxd.log the following entries are observed:
    error vpxd[50941] 
    [Originator@6876 sub=VpxLRO opID=########-########-auto-########-#######-##-##] 
    Empty or default profile spec is specified for the disk 2000
    
    error vpxd[50941] 
    [Originator@6876 sub=Default opID=########-########-auto-########-#######-##-##] 
    Get exception while executing action vpx.VMProv.InvokePrechecks: vmodl.fault.NotSupported

 

Environment

  • VMware vSphere ESXi

Cause

  • The issue is caused by stale or orphaned I/O filter policy entries (ddb.iofilters and ddb.sidecars) residing within the VMDK descriptor file. These entries are typically remnants left behind by third-party software that were not cleanly removed. vCenter Server detects these capabilities as active data services, which restricts certain migration workflows.

Resolution

  Ensure to have a valid backup of Virtual Machine or the Snapshot before performing the changes below, either of the method below can be followed to resolve the issue

  
  Method 1: Identifying and Removing via Managed Object Browser (MOB) 

  1. Identify the VM MoID (e.g., vm-123) by selecting the VM in vCenter and checking the URL in the browser address bar.

  2. Navigate to https://<vCenter_FQDN>/mob/?moid=<MoID>&doPath=config.hardware.device to inspect the disk backing.

  3. Locate the disk with the IOFilter configuration.

  4. Once the stale filter is identified, proceed to unregister the VM from the inventory (Right-click VM > Remove from Inventory).

  5. Re-register the VM by browsing the datastore and right-clicking the .vmx file > Register VM.    

  Method 2 : Manual Editing of the VMDK Descriptor File 

  1. Power off the Virtual Machine.

  2. Log in to the ESXi host running the VM via SSH with "root" privileges.

  3. Identify the VMID by running: 

    vim-cmd vmsvc/getallvms
  4. Navigate to the VM directory: 

    cd /vmfs/volumes/<datastore_name>/<vm_name>/
  5. Open the VMDK descriptor file (the small text file, not the -flat.vmdk) using the vi editor:

     vi <vm_name>.vmdk
  6. Locate the lines starting with ddb.iofilters or ddb.sidecars.

  7. Comment out these lines by adding a # at the beginning:

    Sample Output:
    #ddb.iofilters = "###_bootbank_######_3..9-10OEM.700.1.0.15843807"
    #ddb.sidecars = "###,VMNAME-########-####-####-####-############-################.vmfd"
    
  8. Save and exit the editor 

    (:wq!)
  9. Reload the VM configuration to recognize the changes: 

    vim-cmd vmsvc/reload <VMID>
  10. Power on the VM and retry the migration.