Article number
000004460
Affected Versions
7.5
8.0
Source Hypervisor
VMware
Target Hypervisor
VMware

Error “Invalid configuration for device” of property VirtualVideoCard.videoRamSizeInKB when attempting Failover tasks to vCenter 7.0

Viewed 1204 times

Summary

This article covers a scenario where failover or vMotion tasks fail due a video card setting on the protected VM.

Root Cause

Due to security hardening on vCenter/ESXi 7.0, a video card setting causes failure in Zerto failover tasks.

The value VirtualVideoCard.videoRamSizeInKB is reported as 0, so when Zerto tries to apply the setting on the recovery side vm, this value is not a valid value (non-zerto and up to 256MB) causing the failover task to fail.

For reference, please see the vSphere Security Guide:
https://docs.vmware.com/en/VMware-vSphere/7.0/vsphere-esxi-vcenter-server-70-security-guide.pdf

Disable Unused Display Features
"Attackers can use an unused display feature as a vector for inserting malicious code into your environment. Disable features that are not in use in your environment."

Symptoms

  • Target or recovery site is vCenter/ESXi 7.0
  • Failover tasks (Move/FOT/FOL) will fail immediately with a vim.fault.InvalidDeviceSpec "Invalid configuration for device 'X'."
  • vCenter logs will reference the error and device to a Video Card setting:
vpxd[09213] [Originator@6876 sub=Default opID=d0c2881] [VpxLRO] -- ERROR task-3908 -- group-v3 -- vim.Folder.createVm: vim.fault.InvalidDeviceSpec:
--> Result:
--> (vim.fault.InvalidDeviceSpec) {
--> faultCause = (vmodl.MethodFault) null,
--> faultMessage = <unset>,
--> property = "VirtualVideoCard.videoRamSizeInKB",
--> deviceIndex = 5
--> msg = "Invalid configuration for device '5'."
--> }
--> Args:
-->
..
--> (vim.vm.device.VirtualDeviceSpec) {
--> operation = "add",
--> fileOperation = <unset>,
--> device = (vim.vm.device.VirtualVideoCard) {
--> key = 500,
--> deviceInfo = (vim.Description) {
--> label = "Video card ",
--> summary = "Video card"
--> },
--> backing = (vim.vm.device.VirtualDevice.BackingInfo) null,
--> connectable = (vim.vm.device.VirtualDevice.ConnectInfo) null,
--> slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,
--> controllerKey = 100,
--> unitNumber = 0,
--> videoRamSizeInKB = 0, <<<<<<<<<<<<<<<<<<<<<<< Invalid configuration referenced above
--> numDisplays = 1,
--> useAutoDetect = false,
--> enable3DSupport = false,
--> use3dRenderer = "automatic",
--> graphicsMemorySizeInKB = <unset>
--> },
  • Video card setting of protected VM from vSphere is set to a 0 and greyed out
  • In looking at the production vmx file you may see a valid number 
  • Creation of VMs manually at target site works as intended

Solution

On the protected site, the protected VM's VMX file contains a configuration of svga.vgaonly. This error will occur if present and set to "True"
svga.vgaonly = "TRUE"

Removing this line or setting svga.vgaonly = "FALSE" corrects the problem.

NOTE: Editing the VMX will require the VM to be powered off.

For more information, please see the following vMware KB:
https://kb.vmware.com/s/article/81892