One of my Veeam Backup Copy jobs failed for every VM in the job, reporting IO errors:
10/08/2023 08.29.02 :: Processing vSRX-18.3 Error: File does not exist. File: [vSRX-18.3.1D2023-08-09T020227_4DE4.vib].
Failed to open storage for read access. Storage: [vSRX-18.3.1D2023-08-09T020227_4DE4.vib].
Failed to restore file from local backup. VFS link: [summary.xml]. Target file: [MemFs://frontend::CDataTransferCommandSet::RestoreText_{13faea43-f648-4fee-8abb-630907bd1df7}]. CHMOD mask: [0].
Agent failed to process method {DataTransfer.RestoreText}.
...
The volume holding the VIBs, an external USB-drive forwarded to the Veeam guest within ESXi, was gone. Seemingly a failed drive.
VCSA failed to remove the USB Host device, with the error:
Invalid configuration for device '0'
Not being able to remove a missing device (the USB-controller), even when the VM is powered off, I had no choice but to manually delete it:
Simply remove the VM from the inventory - obviously not deleting it from VMFS.
Locating the device in the .VMX for the VM and removing the line from the configuration:
usb_xhci.autoConnect.device0 = "path:0/1/1/5 host:esxi7.rotteslottet.lan hostId:71 05 57 47 bf 16 10 d6-2c 0e 3c 7c 3f 11 9a f0 autoclean:1 deviceType:remote-host"
After trashing the failed drive, replacing it with a new one, and re-powering the USB-controller, I simply registered the VM via VCSA and started over with the local backup.
I wish it was possible to forcefully remove a virtual device via VCSA