没有共享存储的KVM / qemu / libvirt VM迁移的最佳select

我的团队最近一直负责改善公司的虚拟化基础架构,我们正在研究的一件事是加速迁移。 我们仅在所有VM主机上使用本地存储。 一个挑战是,我们有成千上万的主机运行CentOS,KVM,libvirtqemu的不同版本(悲伤的面孔)。 所有客人都是CentOS。 我们运行的最低版本是:

  • CentOS 5.6
  • 内核2.6.18
  • libvirt 1.0.0
  • qemu 1.1.0

目前用于迁移的工具本质上是使用netcat来发送磁盘镜像文件,并运行相应的virsh命令,将guest虚拟机置于新主机上(除了一些configurationpipe理的调整之外)。

我们正在设法通过任何必要的创造性手段来减less客人停机时间和/或加速转移本身。 我们已经花了好几天的时间从互联网的各个angular落大肆宣传信息,但是好奇的是,Serverfault的好人可以分享一些知识。 如果需要的话,我们可以暂时将共享存储用作中间人,但除了更换虚拟机pipe理程序或为所有主机实施共享存储之外,任何事情都是公平的游戏。

我们需要探索一些当前的工作思路:

  • 快照guest虚拟机,将基本映像复制到新主机,closuresguest虚拟机,将快照复制到新主机,在新主机上提交快照,删除快照,启动
  • 暂时以某种方式探索使用共享存储作为中间人。 不确定在这一点上的细节,使用像临时安装glusterfs股份是一个想法。
  • 在VM处于活动状态时复制磁盘映像文件,closuresguest虚拟机,然后使用rsync复制已更改的位。

我们很乐意提供不同的方法/工具,只支持kvm / qemu / libvirt的新版本,但希望能够以最好的方式移动旧的东西。

希望有些人可以分享他们所做的一些事例! 谢谢。

您可以稍等一会,以便oVirt支持超融合虚拟化,并迁移。 您将拥有一个免费的基于开源KVM的虚拟化系统,本地存储作为gluster卷,并为所有人提供集中pipe理。 有点yum-updatesd或puppet / ansible /无论如何,和主机的版本控制也build立。