静态迁移:也叫做常规迁移、离线迁移(Offline Migration)。就是在虚拟机关机或暂停的情况下从一台物理机迁移到另一台物理机。因为虚拟机的文件系统建立在虚拟机镜像上面,所以在虚拟机关机的 情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上;如果需要保存虚拟机迁移之前的状态,在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。
共享存储的动态迁移
动态迁移(Live Migration):也叫在线迁移(Online Migration)。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。该过程不会对最终用户造成明 显的影响,从而使得管理员能够在不影响用户正常使用的情况下,对物理服务器进行离线维修或者升级。与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可 用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资 源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感 觉不到服务的中断,因而迁移过程对用户是透明的。动态迁移适用于对虚拟机服务可用性要求很高的场合。
目前主流的动态迁移工具,VMware 的 VMotion,Citrix 的 XenMotion,他们都依赖于物理机之间采用 SAN(storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机系统内存执行状态的迁移,从而获得较好的迁移性能。
红帽KVM动态迁移支持列表如下:
本文主要介绍的是基于NFS共享存储池的动态迁移,如下架构图
环境:RHEL6.1 x64
VMM1:10.1.1.116
VMM2:10.1.1.117
NFS SERVER:10.1.1.183
NFS Storage pool
################################构建NFS存储池################################
NFS SERVER 操作如下:
NFS共享目录给VMM1和VMM2
=================================NFSSERVER=================================
# cat/etc/exports
/vm 10.1.1.116(rw,sync,no_root_squash)
/vm 10.1.1.117(rw,sync,no_root_squash)
#/etc/init.d/nfs restart
=================================NFSSERVER=================================
VMM加入NFS存储池
=================================VMM1====================================
打开KVM虚拟机管理器
双击之后出现主机详情:
点击上图存储左下角的添加按钮,添加存储池,填入名称,这里选择类型为netfs(网络导出的目录):
点击前进后,目标路径为nfs挂载路径,选择格式为nfs,填上NFS SERVER地址和挂载目录,点击完成之后就会创建成功:
完成之后再存储池就会出现刚刚建立的NFS共享存储池:
(nfs共享存储加入之后会自动挂载到相应目录,这里无需重新手动挂载)