A physical host, comprising a source-end virtual machine module and a physical function PF driver module, wherein the source-end virtual machine is configured to send a first instruction to a source-end pass-through device by using the PF driver module, wherein the first instruction is used to instruct the source-end pass-through device to record a storage address of dirty page data, and the dirty page data is data written by the source-end pass-through device to the source-end virtual machine module in a direct memory access DMA manner; and the source-end virtual machine module is further configured to obtain the storage address that is of the dirty page data and that is recorded by the source-end pass-through device, and send to-be-migrated data to a destination-end virtual machine, wherein the to-be-migrated data comprises the dirty page data of the source-end virtual machine module; wherein a plurality of virtual pass-through devices run in the source-end pass-through device, and the physical host further comprises: a control module, and the control module is configured to allocate first storage space to the PF driver module, wherein the first storage space is used to store a storage address that is of dirty page data and that is recorded by each of the plurality of virtual pass-through devices; wherein the source-end virtual machine module is further configured to: send a dirty page synchronization instruction to the source-end pass-through device by using the PF driver module, wherein the dirty page instruction comprises a first address in the first storage space, and the dirty page synchronization instruction is used to instruct the source-end pass-through device to synchronize the storage address of the dirty page data to a storage location that is in the first storage space and that is indicated by the first address; and read the storage address of the dirty page data from the first storage space based on the first address. the source-end virtual machine is configured to send a first instruction to a source-end pass-through device by using the PF driver module, wherein the first instruction is used to instruct the source-end pass-through device to record a storage address of dirty page data, and the dirty page data is data written by the source-end pass-through device to the source-end virtual machine module in a direct memory access DMA manner; and the source-end virtual machine module is further configured to obtain the storage address that is of the dirty page data and that is recorded by the source-end pass-through device, and send to-be-migrated data to a destination-end virtual machine, wherein the to-be-migrated data comprises the dirty page data of the source-end virtual machine module; wherein a plurality of virtual pass-through devices run in the source-end pass-through device, and the physical host further comprises: a control module, and the control module is configured to allocate first storage space to the PF driver module, wherein the first storage space is used to store a storage address that is of dirty page data and that is recorded by each of the plurality of virtual pass-through devices; wherein the source-end virtual machine module is further configured to: send a dirty page synchronization instruction to the source-end pass-through device by using the PF driver module, wherein the dirty page instruction comprises a first address in the first storage space, and the dirty page synchronization instruction is used to instruct the source-end pass-through device to synchronize the storage address of the dirty page data to a storage location that is in the first storage space and that is indicated by the first address; and read the storage address of the dirty page data from the first storage space based on the first address. a control module, and the control module is configured to allocate first storage space to the PF driver module, wherein the first storage space is used to store a storage address that is of dirty page data and that is recorded by each of the plurality of virtual pass-through devices; wherein the source-end virtual machine module is further configured to: send a dirty page synchronization instruction to the source-end pass-through device by using the PF driver module, wherein the dirty page instruction comprises a first address in the first storage space, and the dirty page synchronization instruction is used to instruct the source-end pass-through device to synchronize the storage address of the dirty page data to a storage location that is in the first storage space and that is indicated by the first address; and read the storage address of the dirty page data from the first storage space based on the first address. send a dirty page synchronization instruction to the source-end pass-through device by using the PF driver module, wherein the dirty page instruction comprises a first address in the first storage space, and the dirty page synchronization instruction is used to instruct the source-end pass-through device to synchronize the storage address of the dirty page data to a storage location that is in the first storage space and that is indicated by the first address; and read the storage address of the dirty page data from the first storage space based on the first address.