Citrix 服务器虚拟化之九 Xenserver 虚拟机的 XenMotion
XenMotion 是 XenServer 的一项功能,能够将正在运行的虚拟机从一台 XenServer
主机上迁移到另外一台主机,而不会有停机的危险。 XenMotion 的主要目的是在某台服务
器进行计划维修时, 使终端用户觉察不到应用程序出现过极短暂的中断, 令整个服务过程正
常顺畅 。XenMotion 并不仅仅在服务器 出现故障或无法正常工作的情况下才进行迁移。
XenMotion 结合 Xen Workload Balancing, 当服务器超负荷的时候,就会将上面一部分的虚
拟机, 包括正在运行的应用程序原封不动地迁移到候补服务器上。 因此, XenMotion 能够合
理地分配资源池 中 XenServer 的工作量,大大提高了资源利用率和工作效率。 XenMotion
与资源池协同工作。资源池的功能是收集在一组资源中相互连接的多个相似
XenServerEnterprise 服务器,使与之相连接的虚拟机共享远程存储和网络资源。对于同一
个资源池来说, 它允许其中的虚拟机进行实时迁移。 当资源池与共享存储器共同工作时, 只
要 XenServer 主机的容量足够大,那么就虚拟机就可以在这些主机中任意启动。这就为
XenMotion 创造了一定的条件。 虽然没有进行明确的规定, 但是每一个资源池一般最多可以
支持 16 台 XenServer 主机。其实 XenMotion 迁移并无法做到百分之百的零停机,其确切
的停机时间一般为 100~150 毫秒。但是,由于这个时间间隔很短,所以在服务器上运行的
虚拟机无法觉察, 就不会出现中断, 而这极其短暂的停机时间大部分是花费在将网络交换设
备转移到一个新的端口上。
XenMotion 的系统要求:
1. XenServer 中的处理器必须具有相同的类型。 尽管 XenMotion 允许每个系统的 内存 ,
存储控制器和网络控制器可以不相同, 但是其处理器却必须具有相同的类型。 除了类型有硬
性的规定之外, 它还允许其存在一些细微的差异 ( 比如 CPU的运转速度 ) 。举个例子, 对同一
个资源池中的服务器来说,必须使用同一系列处理器。
2. 资源池中至少要有两台 XenServer Enterprise 服务器处于运转状态。
3. 虚拟机的存储器类型虚拟机必须存储在远程共享的存储器中。比如与基于网络文件
系统 NFS(NetworkFile System) 或者 iSCSI( 通过 iSCSI 启动软件 ) 的存储器相连接。此外,
假如资源池中有某台 XenServer 主机被移除, 那么原本在上面运行的虚拟机并没有随之被删
除,而是依然存在于数据库中, 不会导致数据丢失, 并且对于其他的 XenServer 主机成员是
可见的。 但是这些虚拟机是处于停用状态 ,只有它们的虚拟磁盘被连接到共享服务器时,
才可以被资源池中的其他 XenServer 共享。 因此, 为了提高资源的利用率, 最好在共享存储
器创建完成的时候, 就把本地磁盘添加到共享存储器中。 (此处不包含无共享存储的迁移)
4. 网络的带宽要求:推荐使用千兆位的以太网。
XenMotion 的运行原理:(预复制迁移)