问题1:为什么需要热迁移?
集群中,有时候一台物理服务器上安装了很多虚拟机,这个时候hypervisor的网卡带宽、磁盘IO速度等都会成为它上面每一个虚拟机的瓶颈。这个时候需要把一些虚拟机迁移到其他机器上。
问题2:如何迁移?
所谓的迁移,无非是把镜像文件和虚拟机内存中的数据原样拷贝到另一台hypervisor上,然后又另一台hypervisor上的虚拟机代替这台虚拟机工作即可。
问题3:如何copy镜像?
情况一:镜像文件就在hypervisor的filesystem上。通过scp、自己写socket程序都可以,但是这样的速度很慢,如果有500多G的镜像大小,那么需要很长的时间(集群中就不推荐把镜像文件直接放在hypervisor上。)
情况二:镜像文件在NFS、SAS等集群存储系统中。hypervisor通过挂载的方式挂载镜像文件,这样在做热迁移的时候,只需要在另一台hypervisor上挂载(mount)NFS、SAS共享出来的文件夹,这样数据就相当于==>情况一的copy,瞬间copy完。
架构图如下:(迁移前)
架构图如下:(迁移后)
以上可以看出,迁移前后,镜像文件其实都没有被移动,还是在NFS存储系统中,只是被另一台hepervisor进行接管和操作而已。
实现步骤:
-
1、需要一个NFS集群的存储系统
详情看《博客四:nfs网络文件系统安装》
2、