通过qemu monitor 来测试 qemu live migration (2)

2. 虚拟机迁移准备

现在就可以在源服务器和目的服务器上面启动虚拟机了。

1). 可用镜像准备

通过qemu启动虚拟机,首先需要有一个可用的虚拟机镜像,这个镜像可用直接在网上下载,或者通过iso进行安装(使用virt-manager可以很方便的实现安装)。

2). 在源服务器虚拟机启动

./qemu-system-aarch64 -enable-kvm -name centos -m 4096 -machine virt-2.10,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,pagesize=65536 -cpu host -drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -kernel /root/haolin/images/vmlinuz-4.5.0-19.el7.aarch64 -initrd /root/haolin/images/initramfs-4.5.0-19.el7.aarch64.img -append 'root=UUID=418538f4-f8a3-4c8f-8c9f-b69f86ade77c ro crashkernel=auto' -hda /root/images/centos_test1.img

这里是我使用的一条启动虚拟机的命令行,由于是在aarch64架构的服务器上启动虚拟机,所以有一些配置项和x86不同,这里大概说明一下配置项的意思

 -enable-kvm //使用kvm实现虚拟化
 -m 4096 //4G的内存
 -machine virt-2.10,accel=kvm,usb=off,dump-guest-core=off,gic-version=3 //禁止了虚拟机的core dump, 关闭了usb功能并且使用了gic v3进行中断请求 
 -cpu host //cpu模式是host,也就是说虚拟机的cpu型号和服务器一致
 -drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on //这个部分是为了支持uefi boot 
 -kernel /root/haolin/images/vmlinuz-4.5.0-19.el7.aarch64 //指定kernel文件
 -initrd /root/haolin/images/initramfs-4.5.0-19.el7.aarch64.img //指定initrd文件
 -append 'root=UUID=418538f4-f8a3-4c8f-8c9f-b69f86ade77c ro crashkernel=auto' //磁盘标识
 -hda /root/images/centos_test1.img //指定镜像文件

当虚拟机启动后会出现

VNC server running on ::1:5900

这时候就可以用用vncviewer 来访问虚拟机了,如下图。

vncviewer :5900

这时候启动的是qemu-monitor 界面,按ctrl+alt+2可以切换至虚拟机cml界面,(ctrl+alt+1切换回qemu-monitor界面), qemu monitor里面的命令行十分丰富,可以监控虚拟机的各个方面信息,方便调试和debug,后面会对这个进入更深入的介绍。

这时在这台虚拟机的qemu monitor里查看虚拟机状态可以看到

(qemu) info status
VM status: running
(qemu)

3). 在目标服务器启动虚拟机

./qemu-system-aarch64 -enable-kvm -name centos -m 4096 -machine virt-2.10,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,pagesize=65536 -cpu host -drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -kernel /root/haolin/images/vmlinuz-4.5.0-19.el7.aarch64 -initrd /root/haolin/images/initramfs-4.5.0-19.el7.aarch64.img -append 'root=UUID=418538f4-f8a3-4c8f-8c9f-b69f86ade77c ro crashkernel=auto' -hda /root/images/centos_test1.img --incoming tcp:0:4444

迁移之前,在要迁移的目的服务器上也要启动完全相同的虚拟机,但是多了一个配置项

--incoming tcp:0:4444  //使虚拟机出在migration-listen mode,并且接受来自4444端口的迁移请求和数据

这时在这台虚拟机的qemu monitor里查看虚拟机状态可以看到

(qemu) info status
VM status: paused (inmigrate)
(qemu)


猜你喜欢

转载自blog.csdn.net/yadehuiyin/article/details/80908296
今日推荐