Operation failed! Task name Create virtual machine snapshot Status The operation is not allowed in the current state.
\var\log\hostd.log on the ESXi host, you see errors similar to:
YYYY-MM-DDTHH:MM:SS.SSSZ Db(167) Hostd[#####]: [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/<datastore>/<vm-folder>/<vm-name>.vmx opID=<hex-value> sid=<hex> user=vpxuser:<domain>\<username>] Create Snapshot: VM Snapshot, memory=false, quiescent=false state=5 YYYY-MM-DDTHH:MM:SS.SSSZ Wa(164) Hostd[#####]: [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/<datastore>/<vm-folder>/<vm-name>.vmx opID=<hex-value> sid=<hex> user=vpxuser:<domain>\<username>] State Transition (VM_STATE_ON -> VM_STATE_CREATE_SNAPSHOT) not allowed for this Vm YYYY-MM-DDTHH:MM:SS.SSSZ In(166) Hostd[#####]: [Originator@6876 sub=AdapterServer opID=<hex-value> sid=<hex> user=vpxuser:<domain>\<username>] AdapterServer caught exception: vim.VirtualMachine.createSnapshot, N3Vim5Fault12InvalidState9ExceptionE(Fault cause: vim.fault.InvalidState
VMware does not support snapshots on virtual machines that have PCI or PCIe passthrough (DirectPath IO) devices attached. When a physical device is passed through to a VM, the hypervisor cannot capture or freeze the device state as part of the snapshot process. The snapshot task is blocked and ESXi returns an InvalidState fault.
The VM's .vmx configuration file shows the passthrough device. For example:
pciPassthru0.present = "TRUE" pciPassthru0.deviceId = "0x101f" pciPassthru0.vendorId = "0x15b3"
The vSphere Client also displays a note on the PCI device entry: "Some virtual machine operations are unavailable when PCI/PCIe passthrough devices are present."
To take a snapshot, you must first remove the PCI passthrough device from the virtual machine.
If you need to keep the PCI passthrough device: