让“云”无处不在-Citrix Xenserver

动态迁移:XenMotion

马博峰

2011年8月

———————————————————————————————————————

XenMotion是XenServer的一项功能,能够将正在运行的虚拟机从一台XenServer主机上迁移到另外一台,而不带有任何停机的危 险。这就意味着在整个迁移过程中,被移动的虚拟机在任意时刻都处于正常的工作状态。XenMotion的主要目的是在某台服务器需要进行计划维修的情况 下,终端用户无法觉察到应用程序出现过极短暂的中断,令整个服务过程正常顺畅。

XenMotion与Pools(资源池)

XenMotion与Pools协同工作。Pools的功能是收集在一组资源中相互连接的多个相似XenServer Enterprise服务器。这种统一的管理单元(Pools)能够使与之相连接的虚拟机共享远程存储和网络资源。对于同一个Pool来说,它允许其中的 虚拟机进行实时迁移。当Resource Pools与共享存储器共同工作时,只要XenServer主机的容量足够大,那么就虚拟机就可以在这些主机中任意启动。

这就为XenMotion创造了一定的条件。如果有某一台正在运行的服务器超负荷或者发生了故障,那么管理员就可以立刻在Pool中选择另一台服务器进行虚拟机的迁移。虽然没有进行明确的规定,但是每一个Pool一般最多可以支持16台XenServer主机。

值得注意的是,XenMotion并不仅仅在服务器出现故障,无法正常工作的情况下才进行迁移。当服务器超负荷的时候,XenMotion就会将 一部分的操作系统,包括上面正在运行的应用程序原封不动地迁移到候补服务器上。因此,XenMotion能够合理地分配Pool中XenServer的工 作量,大大提高了资源利用率和工作效率。

XenMotion的系统要求

1. XenServer中的处理器必须具有相同的类型。

尽管XenMotion允许每个系统的内存,存储控制器和网络控制器可以不相同,但是其处理器却必须具有相同的类型。除了类型有硬性的规定之外, 它还允许其存在一些细微的差异(比如CPU的运转速度)。举个例子,对同一个Resource Pool中的服务器来说,必须使用同一系列处理器。

2. Resource Pools中至少要有两台XenServer Enterprise服务器处于运转状态。

3. 虚拟机的存储器类型

虚拟机必须存储在远程共享的存储器中。比如与基于网络文件系统NFS(Network File System)或者iSCSI(通过iSCSI启动软件)的存储器相连接。

此外,假如Pools中有某台XenServer主机被移除,那么原本在上面运行的虚拟机并没有随之被删除,而是依然存在于数据库中,不会导致数据 丢失,并且对于其 他的XenServer主机成员是可见的。但是这些虚拟机是处于停用状态,只有它们的虚拟磁盘被连接到共享服务器时,才可以被Resource Pools中的其他XenServer共享。因此,为了提高资源的利用率,最好在共享存储器创建完成的时候,就把本地磁盘添加到共享存储器中。

4. 网络的带宽要求:推荐使用千兆位的以太网。

准备要迁移的虚拟机

clip_p_w_picpath002

clip_p_w_picpath004

在安装之前,为了保证业务的连贯性,最好安装Xenserver tools

clip_p_w_picpath005

通过光驱的的自动运行来手动安装Xenserver tools

clip_p_w_picpath007

clip_p_w_picpath009

clip_p_w_picpath011

clip_p_w_picpath013

clip_p_w_picpath015

安装后要求重启,一定要重启。

clip_p_w_picpath017

重启后,打开远程连接。可以通过Xencenter上的以远程管理的方式登录服务器,这样以远程管理的方式登录到虚拟机,这样操作性更顺畅些。

clip_p_w_picpath018

clip_p_w_picpath020

我们测试一下虚拟机的网络。

clip_p_w_picpath022

XenMotion不需要设置,只要符合迁移的条件,在虚拟机上选择迁移到Xenserver02上面。

clip_p_w_picpath024

在迁移过程中,可以看到服务始终是持续的,中间只是断了1下。这并不影响服务。

clip_p_w_picpath026

成功迁移到Xenserver02中

提到XenMotion就不得不提到VMotion

XenMotion和VMotion都是致力于在服务器无法正常工作时,将其上正在运行的虚拟机迁移到其他候补服务器上,实现零停机。尽管如此,两者在操作,配置上还是有些许的不同的:

1. XenMotion只需要支持软件iSCSI或者NFS;VMotion则可以选择光纤(Fibre),软件或者硬件的iSCSI以及NFS。

2. 当虚拟机与内部网络相连接时,XenMotion是不可用的;对于VMotion来说,只要相互迁移的两台主机连接的是相同的网络即可,无论该网络是内部的还是外部的。

3. XenMotion需要手动操作;VMotion可以手动,也可以通过分布式资源调度程序(DRS)自动进行。

本文出自 “让"云"无处不在” 博客,请务必保留此出处http://mabofeng.blog.51cto.com/2661587/652332