1. A method for enabling virtual machine (VM) recovery on non-shared storage, the method comprising: receiving, by a virtual infrastructure management server (VIMS) instance, an indication that a VM in a first cluster of the VIMS instance has failed, wherein one or more files of the VM are stored on a first storage component accessible by host systems in the first cluster; searching for a second cluster of the VIMS instance that has access to the first storage component; if the second cluster is found, causing the VM to be restarted on a host system in the second cluster; and if the second cluster is not found: determining, by the VIMS instance, whether the one or more files of the VM were being replicated to a second storage component at the time of the VM's failure, wherein the second storage component is accessible by host systems in one or more third clusters of the VIMS instance but is not accessible by the host systems in the first cluster; if the one or more files of the VM were being replicated to the second storage component at the time of the VM's failure, identifying, by the VIMS instance, a host system within the one or more third clusters that is compatible with the VM; and causing, by the VIMS instance, the VM to be restarted on the identified host system in the one or more third clusters.