第 11 章 移植域
移植是把运行的虚拟域从一台物理主机搬迁到另外一台主机。红帽虚拟化系统支持两种移植方式 — offline 和 live。Offline 移植通过暂停虚拟机、转移内存然后在目的主机上恢复执行的方式把虚拟机从一台主机移到另外一台主机。Live 移植做相同的事情,但不直接影响域。当执行 live 移植时,域继续它平常的活动,从用户的角度来看它并没有值得注意的地方。要初始化一个 live 移植,两台主机都必须运行红帽虚拟化系统以及 xend 守护进程。目的主机必须有足够的资源(如内存)来容纳移植后的域带宽(bandwidth)。源主机和目的主机都必须有相同的体系结构和虚拟化扩展(如 i386-VT、x86-64-VT、x86-64-SVM 等)且必须都位于相同的 L2 子网。
When a domain migrates its MAC and IP addresses move with it. Only virtual machines with the same layer-2 network and subnets will successfully migrate. If the destination node is on a different subnet, the administrator must manually configure a suitable EtherIP or IP tunnel in the remote node of domain0. The xend daemon stops the domain and copies the job over to the new node and restarts it. The Red Hat Virtualization RPM does not enable migration from any other host except the localhost (see the /etc/xend-config.sxp file for information). To allow the migration target to accept incoming migration requests from remote hosts, you must modify the target's xen-relocation-hosts-allow parameter. Be sure to carefully restrict which hosts are allowed to migrate, since there is no authentication.
既然这些域涉及如此大的文件分配,这个过程可能会消耗较久的时间。如果你移植带有开放网络连接的域,这些连接将在目的主机上保留,SSH 连接应该仍然可用。缺省的Red Hat虚拟化系统的 iptables 规则将不允许传入的移植连接。如要允许这种连接,你必须创建显性的 iptables 规则。
你可以使用 xm migrate 命令来执行 offline 移植:
xm migrate domain-id [destination domain]
你可以使用 xm migrate 命令来执行 live 移植:
xm migrate domain-id -l [destination domain]
You may need to reconnect to the domain's console on the new machine. You can use the xm console command to reconnect.