在实际环境中,总会有新陈代谢,旧机器总还是躲不过时间的摧残,这就需要更换新机器,而 vMotion 是 VMware 开发出的一项独特技术,可将正在运行的虚拟机从一台服务器迁移到另一台服务器上。
若要实现热迁移,那么外部共享存储服务器便是必不可少的,因为必须要保证源ESXi主机和目标ESXi主机都可访问虚拟机文件,所以在热迁移之前必须把虚拟机配置文件都迁移到外部共享存储之上。
openfiler是一个免费的NAS/ISCSI的SAN服务器系统,主要用于为LAN主机提供独立存储系统,openfiler提供了包括NFS、SMB、ISCSI、target等多种连接方式,一般通过http的方式管理,它对于希望搭建虚拟化的中小型企业而言,是provisiong阶段最好的工具。
vMotion是所有vSPhere高级功能的基础,可实现热迁移。
vMotion的迁移过程(如果迁移期间出错,虚拟机将恢复原始状态和位置):

1、请求vMotion迁移时,vCenter server会验证虚拟机与ESXi主机状态是否稳定
2、此时,源ESXi主机将虚拟机内存克隆到新ESXi主机
3、源ESXi主机将克隆期间发生改变的内存信息记录在内存对应图上(也有人成为心电图)
4、当虚拟机内存数据迁移到新ESXi主机后,源ESXi主机会使虚拟机处于静止状态,此时虚拟机无法提供服务(仅仅一两秒钟而已),然后将内存对应图克隆到新ESXi主机。静止状态所需要的时间极为短暂
5、新ESXi再根据内存对应图恢复内存数据,完成后两台ESXi主机对于这台虚拟机的内存就完全一致
6、最后在新ESXi主机运行该虚拟机,并在源ESXi主机中删除内存数据(自动删除,无需操作)
运行vMotion的兼容性要求:
1、不允许连接只能单台ESXi主机才能识别的设备,如光驱、软驱等。
2、不允许连接没有物理网络的虚拟交换机。
3、迁移的虚拟机必须存放在外部共享存储,且所有的ESXi主机均可访问。
4、ESXi主机至少有1块千兆网卡用于vMotion。
5、如果使用标准交换机,必须确保所有ESXi主机的端口组网络标签一致。
6、所有ESXi主机使用的CPU供应商必须一致(Intel或AMD)
案例环境:
vSphere 通过 vMotion 实现虚拟机热迁移

openfiler镜像:
https://pan.baidu.com/s/1xHNHGkuWpux0o59v7_RPdw
提取码: 45vp
也可以在 www.openfiler.com 中下载最新版的ISO镜像
首先安装 openfiler 系统:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
安装完毕后重启系统:
vSphere 通过 vMotion 实现虚拟机热迁移
接下来配置外部共享:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
添加允许访问 openfiler 系统的安全访问控制列表:
vSphere 通过 vMotion 实现虚拟机热迁移
然后添加共享逻辑卷:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
开启 iscsi 协议:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
进入 VCenter web 客户端 配置连接共享存储,创建端口组:
vSphere 通过 vMotion 实现虚拟机热迁移
添加端口组:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
添加iscsi适配器:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
目标主机配置相同
vSphere 通过 vMotion 实现虚拟机热迁移
这些都准备好后,就可以开始迁移了:
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
vSphere 通过 vMotion 实现虚拟机热迁移
等待虚拟机迁移:
vSphere 通过 vMotion 实现虚拟机热迁移
使用ping命令进行死亡ping,观察虚拟机迁移状态:
vSphere 通过 vMotion 实现虚拟机热迁移
迁移过程中开始有延迟和一两个丢包的现象:
vSphere 通过 vMotion 实现虚拟机热迁移
等待进度条完成,迁移就完毕了!!!