kvm虚拟机迁移

来源:互联网 发布:学优网下载软件 编辑:程序博客网 时间:2024/06/05 11:16

说明: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虚拟机迁移说完了,觉得可行的朋友请评论下。如有问题,请在评论区指出,我将尽力解答。


原创粉丝点击