Teleporting requires that a machine be currently running on one host, which is called the source. The host to which the virtual machine will be teleported is called the target. The machine on the target is then configured to wait for the source to contact the target. The machine's running state will then be transferred from the source to the target with minimal downtime.
Teleporting happens over any TCP/IP network. The source and the target only need to agree on a TCP/IP port which is specified in the teleporting settings.
At this time, there are a few prerequisites for this to work, as follows:
On the target host, you must configure a virtual machine in
The two virtual machines on the source and the target must share the same storage, hard disks as well as floppy disks and CD/DVD images. This means that they either use the same iSCSI targets or that the storage resides somewhere on the network and both hosts have access to it using NFS or SMB/CIFS.
This also means that neither the source nor the target machine can have any snapshots.
To configure teleporting, perform the following steps:
On the target host, configure the virtual
machine to wait for a teleport request to arrive when it is
started, instead of actually attempting to start the machine.
This is done with the following
VBoxManage modifyvmtargetvmname --teleporter on --teleporter-portport
Start the VM on the target host. Instead of running, the VM shows a progress dialog, indicating that it is waiting for a teleport request to arrive.
Start the VM on the source host as usual. When it is running and you want it to be teleported, issue the following command on the source host:
VBoxManage controlvmsourcevmname teleport --hosttargethost --portport
where
For testing, you can also teleport machines on the same host. In that case, use localhost as the hostname on both the source and the target host.
In rare cases, if the CPUs of the source and the target are very
different, teleporting can fail with an error message, or the
target may hang. This may happen especially if the VM is running
application software that is highly optimized to run on a
particular CPU without correctly checking that certain CPU
features are actually present.