vMotion of virtual machines fails with Error: Failed to attach filter <scsi_filter_name>
search cancel

vMotion of virtual machines fails with Error: Failed to attach filter <scsi_filter_name>

book

Article ID: 344059

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • Virtual machine vMotion fails between ESXi hosts.

  • During vMotion, the vSphere Client reports the following error message for the virtual machine:

1. For 'active_drive' scsi_filter:

The VM failed to resume on the destination during early power on. Module DevicePowerOn power on failed. Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmdk' Failed to attach filter 'active_drive' to scsi0:0: msg.vmk.status.VMK_NOT_FOUND (195887107).

2. For 'esx_splitter' scsi_filter

The VM failed to resume on the destination during early power on. Module DevicePowerOn power on failed. Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmdk' Failed to attach filter 'esx_splitter' to scsi0:0: msg.vmk.status.VMK_NOT_FOUND (195887107).

  • The virtual machine's vmware.log will contain an error esx_splitter or active_drive, which is represented by <scsi_filter_name> in the following log snippet:

    YYYY-MM-DDTHH:MM:SS.957Z| vmx| I120: [msg.migrate.resume.fail] The VM failed to resume on the destination during early power on.
    YYYY-MM-DDTHH:MM:SS.957Z| vmx| I120: Msg_Post: Error
    YYYY-MM-DDTHH:MM:SS.957Z| vmx| I120: [msg.scsi.esx.filterAttachmentFailed] Failed to attach filter '<scsi_filter_name>' to scsi0:0: Not found (195887107).
    YYYY-MM-DDTHH:MM:SS.957Z| vmx| I120: [msg.scsi.esx.virtualDevFailed] Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmdk'
    YYYY-MM-DDTHH:MM:SS.957Z| vmx| I120: [msg.moduletable.powerOnFailed] Module DevicePowerOn power on failed.
  • The /var/log/hostd.log will contain an error showing either esx_splitter or active_drive, which is represented by <scsi_filter_name> in the following log snippet:

    YYYY-MM-DDTHH:MM:SS.964Z [33999B70 verbose 'Vmsvc.vm:/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmx'] Handling message_vmx1: Failed to attach filter '<scsi_filter_name>' to scsi0:0: Not found (195887107).
    --> Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmdk'
    --> Module DevicePowerOn power on failed.
    --> The VM failed to resume on the destination during early power on.
    YYYY-MM-DDTHH:MM:SS.975Z [33001B70 verbose 'Vmsvc.vm:/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmx'] VMotionLastStatusCb: Failed with error 7: The VM failed to resume on the destination during early power on.
    message = "Failed to attach filter '<scsi_filter_name>' to scsi0:0: Not found (195887107).
    message = "Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/datastore/virtual_machine_folder/virtual_machine.vmdk'
    reason = "The VM failed to resume on the destination during early power on.

Environment

  • ESXi 7.x

Cause

  • This issue usually occurs if there is a VIB module installed on source ESXi host which is not present on destination ESXi host.

Resolution

  • The following workaround can be applied:
1. Removing the VIB from the ESXi host may not remove the entry from the each virtual machine configuration (.vmx) file. If all the virtual machines in the source host are experiencing the issue, install the missing VIB on the destination ESXi host by configuring the same software as the source ESXi host.

2. If only few virtual machines are experiencing the issue:

    1. Shut down the affected virtual machine.
    2. Connect to the ESXi host the virtual machine is on using SSH and root credentials. For more information see Using ESXi Shell in ESXi.
    3. Change the directory to the virtual machine directory:

      cd /vmfs/volumes/datastore/virtual_machine_folder/
       
    4. Open the vrtual machine configuration (.vmx) file using vi editor:

      vi virtual_machine.vmx
       
    5. Add a # before any filters that contain scsi0:0.filters.
    6. Save the file using 'Esc + :wq!' and press Enter to exit vi editor.
    7. Power-on the virtual machine.
    8. vMotion the virtual machine to another ESXi host.