1 | <?xml version='1.0' encoding='UTF-8'?>
|
---|
2 | <!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
|
---|
3 | <topic xml:lang="en-us" id="teleporting">
|
---|
4 | <title>Teleporting</title>
|
---|
5 |
|
---|
6 | <body>
|
---|
7 | <p>
|
---|
8 | Oracle VM VirtualBox supports <i>teleporting</i>.
|
---|
9 | Teleporting is moving a virtual machine over a network from one
|
---|
10 | Oracle VM VirtualBox host to another, while the virtual machine is
|
---|
11 | running. This works regardless of the host operating system that
|
---|
12 | is running on the hosts. You can teleport virtual machines between
|
---|
13 | Oracle Solaris and macOS hosts, for example.
|
---|
14 | </p>
|
---|
15 | <p>
|
---|
16 | Teleporting requires that a machine be currently running on one
|
---|
17 | host, which is called the <i>source</i>. The host to
|
---|
18 | which the virtual machine will be teleported is called the
|
---|
19 | <i>target</i>. The machine on the target is then
|
---|
20 | configured to wait for the source to contact the target. The
|
---|
21 | machine's running state will then be transferred from the source
|
---|
22 | to the target with minimal downtime.
|
---|
23 | </p>
|
---|
24 | <p>
|
---|
25 | Teleporting happens over any TCP/IP network. The source and the
|
---|
26 | target only need to agree on a TCP/IP port which is specified in
|
---|
27 | the teleporting settings.
|
---|
28 | </p>
|
---|
29 | <p>
|
---|
30 | At this time, there are a few prerequisites for this to work, as
|
---|
31 | follows:
|
---|
32 | </p>
|
---|
33 | <ul>
|
---|
34 | <li>
|
---|
35 | <p>
|
---|
36 | On the target host, you must configure a virtual machine in
|
---|
37 | Oracle VM VirtualBox with exactly the same hardware settings as the
|
---|
38 | machine on the source that you want to teleport. This does not
|
---|
39 | apply to settings which are merely descriptive, such as the VM
|
---|
40 | name, but obviously for teleporting to work, the target
|
---|
41 | machine must have the same amount of memory and other hardware
|
---|
42 | settings. Otherwise teleporting will fail with an error
|
---|
43 | message.
|
---|
44 | </p>
|
---|
45 | </li>
|
---|
46 | <li>
|
---|
47 | <p>
|
---|
48 | The two virtual machines on the source and the target must
|
---|
49 | share the same storage, hard disks as well as floppy disks and
|
---|
50 | CD/DVD images. This means that they either use the same iSCSI
|
---|
51 | targets or that the storage resides somewhere on the network
|
---|
52 | and both hosts have access to it using NFS or SMB/CIFS.
|
---|
53 | </p>
|
---|
54 | <p>
|
---|
55 | This also means that neither the source nor the target machine
|
---|
56 | can have any snapshots.
|
---|
57 | </p>
|
---|
58 | </li>
|
---|
59 | </ul>
|
---|
60 | <p>
|
---|
61 | To configure teleporting, perform the following steps:
|
---|
62 | </p>
|
---|
63 | <ol>
|
---|
64 | <li>
|
---|
65 | <p>
|
---|
66 | On the <i>target</i> host, configure the virtual
|
---|
67 | machine to wait for a teleport request to arrive when it is
|
---|
68 | started, instead of actually attempting to start the machine.
|
---|
69 | This is done with the following <userinput>VBoxManage</userinput>
|
---|
70 | command:
|
---|
71 | </p>
|
---|
72 | <pre xml:space="preserve">VBoxManage modifyvm <varname>targetvmname</varname> --teleporter on --teleporter-port <varname>port</varname>
|
---|
73 | </pre>
|
---|
74 | <p><varname>targetvmname</varname> is the name of the
|
---|
75 | virtual machine on the target host and
|
---|
76 | <varname>port</varname> is a TCP/IP port number to be
|
---|
77 | used on both the source and the target hosts. For example, use
|
---|
78 | 6000. See <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
|
---|
79 | </p>
|
---|
80 | </li>
|
---|
81 | <li>
|
---|
82 | <p>
|
---|
83 | Start the VM on the target host. Instead of running, the VM
|
---|
84 | shows a progress dialog, indicating that it is waiting for a
|
---|
85 | teleport request to arrive.
|
---|
86 | </p>
|
---|
87 | </li>
|
---|
88 | <li>
|
---|
89 | <p>
|
---|
90 | Start the VM on the <i>source</i> host as usual.
|
---|
91 | When it is running and you want it to be teleported, issue the
|
---|
92 | following command on the source host:
|
---|
93 | </p>
|
---|
94 | <pre xml:space="preserve">VBoxManage controlvm <varname>sourcevmname</varname> teleport --host <varname>targethost</varname> --port <varname>port</varname>
|
---|
95 | </pre>
|
---|
96 | <p>
|
---|
97 | where <varname>sourcevmname</varname> is the name of
|
---|
98 | the virtual machine on the source host, which is the machine
|
---|
99 | that is currently running.
|
---|
100 | <varname>targethost</varname> is the host or IP name
|
---|
101 | of the target host on which the machine is waiting for the
|
---|
102 | teleport request, and <varname>port</varname> must be
|
---|
103 | the same number as specified in the command on the target
|
---|
104 | host. See <xref href="man_VBoxManage-controlvm.dita">VBoxManage controlvm</xref>.
|
---|
105 | </p>
|
---|
106 | </li>
|
---|
107 | </ol>
|
---|
108 | <p>
|
---|
109 | For testing, you can also teleport machines on the same host. In
|
---|
110 | that case, use localhost as the hostname on both the source and
|
---|
111 | the target host.
|
---|
112 | </p>
|
---|
113 | <note>
|
---|
114 | <p>
|
---|
115 | In rare cases, if the CPUs of the source and the target are very
|
---|
116 | different, teleporting can fail with an error message, or the
|
---|
117 | target may hang. This may happen especially if the VM is running
|
---|
118 | application software that is highly optimized to run on a
|
---|
119 | particular CPU without correctly checking that certain CPU
|
---|
120 | features are actually present. Oracle VM VirtualBox filters what CPU
|
---|
121 | capabilities are presented to the guest operating system.
|
---|
122 | Advanced users can attempt to restrict these virtual CPU
|
---|
123 | capabilities with the <userinput>VBoxManage modifyvm
|
---|
124 | --cpuid-portability-level</userinput> command. See
|
---|
125 | <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
|
---|
126 | </p>
|
---|
127 | </note>
|
---|
128 | </body>
|
---|
129 |
|
---|
130 | </topic>
|
---|