My customer needed to relocate data (generally Virtual Machines) on NetApp storage. Almost relocation was done by Storage vMotion but some VMs could not be migrated:
A general system error occurred: The migration has exceeded the maximum switchover time of 100 second(s). ESX has preemptively failed the migration to allow the virtual machine to continue running on the source. To avoid this failure, either increase the maximum allowable switchover time or wait until the virtual machine is performing a less intensive workload.
Following the VMware KB:
This timeout occurs when the maximum amount of time for switchover to the destination is exceeded. This may occur if there are a large number of provisioning, migration, or power operations occurring on the same datastore as the Storage vMotion. The virtual machine's disk files are reopened during this time, so disk performance issues or large numbers of disks may lead to timeouts.
The default timeout is 100 seconds, and can be modified by changing the fsr.maxSwitchoverSeconds option in the virtual machine configuration to a larger value.
To change the default timeout please follow the steps:
- Power off the virtual machine.
- Right-click the virtual machine and click Edit Settings.
- Click the Options tab.
- Select the Advanced: General section.
- Click the Configuration Parameters button.
Note: The Configuration Parameters button is disabled when the virtual machine is powered on.
- From the Configuration Parameters window, click Add Row.
- In the Name field, enter the parameter name:
- In the Value field, enter the new timeout value in seconds (for example: 150).
- Click the OK buttons twice to save the configuration change.
- Power on the virtual machine.
Note: You can apply the advanced settings while the virtual machine is running, but the changes will NOT go into effect until the virtual machine has been completely powered off and then powered back on. A guestOS reboot will not be sufficient as the VMX configurations are only read during the initial power on. Example powershell script is here.