kvm虚拟机迁移
说明:kvm虚拟机迁移我的总结分为三种:
冷迁移
热迁移
图形迁移
下面说各种迁移的步骤和注意事项:
冷迁移: 这个和克隆还是有区别的:克隆是把源虚拟机关闭,那么内存的数据都没了;而迁移是迁过去成功,然后打开后,还保持原来的内存数据
热迁移:
172.16.21.9 172.16.21.120
老旧的宿主机 新的宿主机
虚拟机 ——>
一、冷迁移过程:
1,虚拟机kvm1是开启状态
2,保存当前的运行状态
# virsh save kvm1 /etc/libvirt/qemu/kvm1.xml.save
Domain kvm1 saved to /etc/libvirt/qemu/kvm1.xml.save
3,scp或者rsync把相关的文件都拷贝到被迁移的宿主机
# scp /etc/libvirt/qemu/kvm1.xml.save 172.16.21.120:/etc/libvirt/qemu/
# scp /etc/libvirt/qemu/kvm1.xml 172.16.21.120:/etc/libvirt/qemu/
# scp /var/lib/libvirt/images/kvm1.qcow2 172.16.21.120:/var/lib/libvirt/images/
4,到172.16.21.120(也就是迁移的目标宿主机)上操作
# virsh define /etc/libvirt/qemu/kvm1.xml --define一下,然后就可以用virsh list —all查看到
5,# virsh restore /etc/libvirt/qemu/kvm1.xml.save
二、热迁移过程:
1,做热迁移需要使用共享存储(也就是说这些虚拟机都安装在宿主机的共享存储设备上);我们这里只能使用nfs来替代
172.16.21.9 172.16.21.120
\ /
\ /
\ /
storage(SAN)
2,在源宿主机器上把虚拟机的磁盘文件路径用nfs导出
# vim /etc/exports
/var/lib/libvirt/images *(rw,no_root_squash,sync)
# systemctl restart nfs
3,在目标宿主机器上把源共享的目录挂载,保证路径一致(目标宿主机的挂载目录一定要与源宿主机的目录一致)
# mount 172.16.21.9:/var/lib/libvirt/images/ /var/lib/libvirt/images/
4,进行迁移,下面的操作是在源172.16.21.9上的操作(注意检查一下防火墙和selinux要关闭)
命令迁
# virsh migrate —live kvm1 qemu+ssh://172.16.21.120/system
--(可能会有很多问题:如kvm1有桥接网络,但172.16.21.120那边没有,会报错:或者本地有iso镜像,但对方那里iso路径不一样,会报错;或者kvm1内存较大,172.16.21.120那边没有足够的内存分配,则也会报错等等;双方主机名没有绑定,也有可能报错;还有可能是因为网络的问题,造成一次不成功;毕竟我们是实验环境@_@多试几次看看)
三、图形迁
virt-manager --》右键点kvm1-->点迁移
迁移回来可能出现下面错误
错误信息:
Unable to migrate guest: Unsafe migration: Migration may lead to data corruption if disks use cache != none
解决方法:
在高级选项里把allow unsafe打勾就可以了
kvm虚拟机迁移说完了,觉得可行的朋友请评论下。如有问题,请在评论区指出,我将尽力解答。
还没有评论,来说两句吧...