KVM 虚拟机在物理主机之间迁移的实现(4)

Hostname:输入将要连接的主机名或 IP 地址,这里填写目的主机名 victory4。 图 8. 添加远程 VMM 连接

图 8. 添加远程 VMM 连接

点击 Connect,输入 SSH 连接的密码后,将显示源主机和目的主机上的虚拟机列表。 图 9. 管理远程 VMM

图 9. 管理远程 VMM

从源主机动态迁移 KVM 虚拟机到目的主机。

在源主机上启动虚拟机 Windwos 2008 R2。

在虚拟机中,开启实时网络服务(用来验证迁移过程中服务的可用性)。

开启远程连接服务 remote access,在其他主机上远程连接此虚拟机。

开启网络实时服务。例如打开浏览器并且播放一个实时网络视频。

准备动态迁移,确保所有的虚拟存储设备此时是共享的,包括 ISO 和 CDROM。

在源主机的 virt-manager 窗口中,右键点击等待迁移的虚拟机,选择“Migrate ”。

New host:选择目的主机的 hostname。

Address:填入目的主机的 IP 地址。

Port and Bandwith:指定连接目的主机的端口和传输带宽,本文中没有设定,使用默认设置。

图 10. 虚拟机迁移设置

图 10. 虚拟机迁移设置

点击“Migrate”和“Yes”开始动态迁移虚拟机。 图 11. 虚拟机迁移进度

图 11. 虚拟机迁移进度

动态迁移的时间与网络带宽、物理主机的性能和虚拟机的配置相关。本实验中的网络连接基于 100Mbps 的以太网,整个迁移过程大约耗时 150 秒。使用 RDC(Remote Desktop Connection)远程连接虚拟机在迁移过程中没有中断;虚拟机中播放的实时网络视频基本流畅,停顿的时间很短,只有 1 秒左右。如果采用 1000Mbps 的以太网或者光纤网络,迁移时间将会大大减少,而虚拟机服务停顿的时间几乎可以忽略不计。

迁移完成后,目的主机的 VMM 中自动创建了一个同名的 Windows 2008 R2 虚拟机,并且继续提供远程连接服务和播放在线视频。源主机上的虚拟机变为暂停状态,不再提供服务。至此,动态迁移胜利完成。

基于数据块的动态迁移

从 qemu-kvm-0.12.2 版本,引入了 Block Migration (块迁移)的特性。上一小节“基于共享存储的动态迁移”中,为了实现动态迁移,源主机和目的主机需要连接共享存储服务。有了块迁移技术以后,可以在动态迁移过程中,把虚拟磁盘文件从源主机迁移至目的主机。QEMU-KVM 有了这个特性以后,共享存储不再是动态迁移的必要条件,从而降低了动态迁移的难度,扩大了动态迁移的应用范围。SLES11 SP1 集成了 kvm-0.12.3,支持块迁移特性。但是 SLES11 SP1 上的 libvirt-0.7.6、virt-manager-0.8.4 暂时没有引入块迁移的功能。所以本文下面的块迁移实验仅基于 QEMU-KVM 的命令行模式。

设置实验环境

块迁移过程中,虚拟机只使用本地存储,因此物理环境非常简单。只需要源主机和目的主机通过以太网连接,如”图 2. 本地存储的动态迁移示意图”所示。

QEMU 的控制终端和迁移命令

QEMU 控制终端的开启,可以在 QEMQ-KVM 的命令中加参数“-monitor”。

-monitor stdio: 输出到文本控制台。

-monitor vc: 输出到图形控制台。

图形控制台和虚拟机 VNC 窗口的切换命令是:

Ctrl+Alt+1: VNC window

Ctrl+Alt+2: monitor console

Ctrl+Alt+3: serial0 console

Ctrl+Alt+4: parallel0 console

QEMU-KVM 提供了的“-incoming”参数在指定的端口监听迁移数据。目的主机上需要此参数接收来自源主机的迁移数据。

清单 4. 迁移相关的 QEMU 命令

(qemu) help migrate migrate [-d] [-b] [-i] uri -- migrate to URI (using -d to not wait for completion) -b for migration without shared storage with full copy of disk -i for migration without shared storage with incremental copy of disk (base image shared between src and destination)

使用 QEMU-KVM 进行数据块动态迁移

在源主机上创建和启动虚拟机。

在本地磁盘上创建虚拟机镜像文件。本文创建了大小为 10G,qcow2 格式的本地镜像文件。 清单 5. 源主机上创建虚拟机

victory3:~ # qemu-img create -f qcow2 /var/lib/kvm/images/sles11.1ga/disk0.qcow2 10G

在镜像文件上安装虚拟机。本文在虚拟机中安装了 SLES11SP1 系统。 清单 6. 源主机上安装虚拟机

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14249.html