A computer program product comprising one or more non-transitory computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for migrating a plurality of source virtual machines to a target physical support environment, the method comprising:
- a) detecting that a plurality of source virtual machines that operate in a source physical support environment is to be migrated from the source physical support environment to the target physical support environment wherein the plurality of source virtual machines each operate in a source pool in which each of the plurality of source virtual machines is initially provisioned from a master image, and further wherein each of the plurality of source virtual machines has an associated user delta collection that captures user changes to each source virtual machine state made since the corresponding source virtual machine was initially provisioned within the source pool, each user delta collection being on shared storage shared by both the source physical support environment and the target physical support environment;
- b) allocating a target pool on a target physical support environment;
- c) associating the target pool with the master image;
- d) for each respective one of the plurality of source virtual machines, locking the associated user delta collection to prevent access to the associated user delta collection by the respective one source virtual machine;
- e) after locking, provisioning a plurality of target virtual machines with the master image, each of the plurality of target virtual machines corresponding to a respective one of the plurality of source virtual machines;
- and
- f) after provisioning, unlocking each corresponding associated user delta collection associated with each of the plurality of source virtual machines such that the corresponding associated user delta collection is made accessible exclusively to the corresponding one of the plurality of target virtual machines, wherein the target pool and the source pool do not completely match with respect to virtualized hardware in that at least one of the plurality of target virtual machines and at least one of the plurality of source virtual machines have at least partially different virtualized hardware.