A method for migrating virtual machines, the method comprising: determining, by a target hypervisor of a target device, whether bandwidth exists on a target set of host bus adaptors of the target device to migrate a source set of virtual machines, associated with a source set of virtual host bus adaptors, from a source device by: determining whether a source total amount of bandwidth related to the source set of virtual machines is less than an available target total amount of free bandwidth on the target set of host bus adaptors of the target device; responsive to determining that the source total amount of bandwidth is less than the available target total amount of free bandwidth, moving a first target virtual host bus adaptor across the target set of host bus adaptors of the target device to make available the source total amount of bandwidth to migrate the source set of virtual machines, wherein moving the first target virtual host bus adaptor comprises: determining an allocation of a target set of virtual host bus adaptors across the target set of host bus adaptors that makes available a respective amount of bandwidth on the target set of host bus adaptors for each of the source set of virtual machines; and moving a subset of the target set of virtual host bus adaptors across the target set of host bus adaptors in accordance with the determined allocation; and responsive to determining that the target total amount of free bandwidth exists, migrating the source set of virtual machines to the target device, wherein the method further comprises: determining whether bandwidth exists on each of the target set of host bus adaptors of the target device for a one-to-one migration of the source set of virtual host bus adaptors to the target set of host bus adaptors of the target device; determining that the source total amount of bandwidth is less than the available total amount of bandwidth responsive to determining that the bandwidth does not exist on each of the target set of host bus adaptors of the target device for the one-to-one migration; and performing the one-to-one migration of the source set of virtual machines to the target device, responsive to determining that bandwidth exists on each of the target set of host bus adaptors of the target device for the one-to-one migration determining whether a source total amount of bandwidth related to the source set of virtual machines is less than an available target total amount of free bandwidth on the target set of host bus adaptors of the target device; responsive to determining that the source total amount of bandwidth is less than the available target total amount of free bandwidth, moving a first target virtual host bus adaptor across the target set of host bus adaptors of the target device to make available the source total amount of bandwidth to migrate the source set of virtual machines, wherein moving the first target virtual host bus adaptor comprises: determining an allocation of a target set of virtual host bus adaptors across the target set of host bus adaptors that makes available a respective amount of bandwidth on the target set of host bus adaptors for each of the source set of virtual machines; and moving a subset of the target set of virtual host bus adaptors across the target set of host bus adaptors in accordance with the determined allocation; and determining an allocation of a target set of virtual host bus adaptors across the target set of host bus adaptors that makes available a respective amount of bandwidth on the target set of host bus adaptors for each of the source set of virtual machines; and moving a subset of the target set of virtual host bus adaptors across the target set of host bus adaptors in accordance with the determined allocation; and responsive to determining that the target total amount of free bandwidth exists, migrating the source set of virtual machines to the target device, wherein the method further comprises: determining whether bandwidth exists on each of the target set of host bus adaptors of the target device for a one-to-one migration of the source set of virtual host bus adaptors to the target set of host bus adaptors of the target device; determining that the source total amount of bandwidth is less than the available total amount of bandwidth responsive to determining that the bandwidth does not exist on each of the target set of host bus adaptors of the target device for the one-to-one migration; and performing the one-to-one migration of the source set of virtual machines to the target device, responsive to determining that bandwidth exists on each of the target set of host bus adaptors of the target device for the one-to-one migration determining whether bandwidth exists on each of the target set of host bus adaptors of the target device for a one-to-one migration of the source set of virtual host bus adaptors to the target set of host bus adaptors of the target device; determining that the source total amount of bandwidth is less than the available total amount of bandwidth responsive to determining that the bandwidth does not exist on each of the target set of host bus adaptors of the target device for the one-to-one migration; and performing the one-to-one migration of the source set of virtual machines to the target device, responsive to determining that bandwidth exists on each of the target set of host bus adaptors of the target device for the one-to-one migration