Default vCenter Server timeouts may be insufficient for lengthy operations, such as large snapshot deletions or migrations. This article provides instructions on how to adjust these settings to prevent premature timeouts.
One or more of the following issues might be encountered:
Operation failed since another task is in progress.
Alarm Host connection state on esx.example.com sent e-mail to [email protected].
vCenter Server has a default 15 minute timeout for any task.
For tasks that take longer than 15 minutes, other timeout values can be configured by editing the vpxd.cfg file in vCenter Server appliance, as well as the vpxa.cfg (in ESXi 7.0 Update 2 and older versions) or the vpxa settings in the ESXI configuration store (for ESXi versions from 7.0 Update 3 on) of the source and destination ESXi hosts.
When a task is reported to timeout within vCenter, the task may continue to run in the ESXi host level. Certain tasks (such as a snapshot consolidation) may take a long time to complete and should not be interrupted. For information on how to identify tasks within a VMware ESXi host, see Collecting information about tasks in VMware ESXi.
Notes:
- If a backup failed due to a timeout, check the virtual machine for a backup snapshot that has been left behind.
- If a backup job reports as failed in vCenter while the underlying task remains active on the host, review the pending tasks on the VM to determine the root cause of the delay. See Collecting information about tasks in VMware ESXi for more information.
- In case of a snapshot consolidation, even though the vSphere Client timeout occurs, the operation on the ESXi/ESX host is still running. This can be verified by observing the
.vmdkfile of the virtual machine. It is updated every minute which means the delta files are being committed to the .vmdk file.- For tasks that require a change temporarily (e.g. Cross vCenter vMotion for large VMs>, these settings should be reverted to default once the activity has completed.
To change the timeout value in the vCenter Server, and update /etc/vmware-vpx/vpxd.cfg in the vCenter Server Appliance (VCSA) using these steps:
root user.# cp /etc/vmware-vpx/vpxd.cfg /etc/vmware-vpx/vpxd.cfg_backup
# vi /etc/vmware-vpx/vpxd.cfg
<config>
...
<task>
<timeout>10800</timeout>
<task>
...
</config>
Note: The value is in seconds. The above example uses a 3 hour timeout, but the actual value can be changed, depending on the specific requirements.
<config>
...
<vmomi>
<soapStubAdapter>
<blockingTimeoutSeconds>10800</blockingTimeoutSeconds>
</soapStubAdapter>
</vmomi>
...
</config>
:wq!vpxd service with:# service-control --stop vmware-vpxd && service-control --start vmware-vpxdFor more information, see Stopping, starting or restarting VMware vCenter Server Appliance services.
root user.# /bin/configstorecli config current get -c esx -g services -k vpxa -outfile current.json
# cp current.json change.json
# vi change.json
"task": {
...
"timeout": 10800,
},"vmacore": {
...
"soap": {
"session_timeout": 10800
},
...
},vm_id_acquire_timeout timeout for the time that vCenter Server waits to capture the virtual machine's ID at ESXi destination (e.g. to 600 seconds):"vmotion":{
...
"vm_id_acquire_timeout": 600
...
},:wq!# /bin/configstorecli config current set -c esx -g services -k vpxa -infile change.jsonA successful update can be recognized if the response is:
Set: completed successfully
/etc/init.d/vpxa restart
# /bin/configstorecli config current get -c esx -g services -k vpxa -outfile tmp_current.json
root user.vpxa.cfg file:# cp /etc/vmware/vpxa/vpxa.cfg /etc/vmware/vpxa/vpxa.cfg_backup
# vi /etc/vmware/vpxa/vpxa.cfg
<config>
...
<task>
<timeout>10800</timeout>
</task>
...
</config>
<config>
...
<vmomi>
<soapStubAdapter>
<blockingTimeoutSeconds>10800</blockingTimeoutSeconds>
</soapStubAdapter>
</vmomi>
...
</config>
vm_id_acquire_timeout timeout (e.g. to 600 seconds):<config>
...
<vpxa>
...
<vmotion>
<vmIdAcquireTimeout>600</vmIdAcquireTimeout>
</vmotion>
...
</vpxa>
...
</config>
:wq!/etc/init.d/vpxa restart