我的团队最近被委派改进公司的虚拟化基础设施,我们正在考虑加快迁移速度。我们在所有 VM 主机上都只使用本地存储。一个挑战是我们有数千台主机运行不同版本(可悲的)的 CentOS、KVM、libvirt 和 qemu。所有客户机也都是 CentOS。我们运行的最低版本是:
- CentOS 5.6
- 内核 2.6.18
- libvirt 1.0.0
- qemu 1.1.0
当前用于执行迁移的工具基本上使用 netcat 来发送磁盘映像文件并运行适当的 virsh 命令以将客户机启动到新主机上(除了一些配置管理调整)。
我们正在尝试通过任何必要的创造性手段来减少客户停机时间和/或加快传输速度。我们花了几天时间从互联网的各个角落收集信息,但很好奇 Serverfault 的优秀居民是否可以分享一些知识。如果需要,我们可以暂时使用共享存储作为中间人,但除了更改虚拟机管理程序或为所有主机实施共享存储之外,任何事情都是公平的。
我们必须探讨的一些当前工作想法:
- 对客户机进行快照,将基础映像复制到新主机,关闭客户机,将快照复制到新主机,在新主机上提交快照,删除快照,启动
- 探索以某种方式暂时使用共享存储作为中间人。目前还不确定细节,使用临时安装的 glusterfs 共享之类的东西是一个好主意。
- 在虚拟机处于活动状态时复制磁盘映像文件,关闭客户机,然后使用 rsync 复制更改的位。
我们愿意采用仅支持较新版本的 kvm/qemu/libvirt 的不同方法/工具,但也希望能够以最佳方式移动旧版本。
希望有人能分享一些他们做过的例子!谢谢。
答案1
您可以再等一段时间,等 oVirt 支持超融合虚拟化后再迁移过来。您将拥有一个免费的开源 KVM 虚拟化系统,本地存储作为 gluster 卷,并对所有存储进行集中管理。使用一点yum-updatesd
puppet/ansible/whatever,主机上的版本控制也已建立。