KVM 迁移

kvm 的远程管理
例十四:在10.1.1.9上远程图形管理10.1.1.17
1,先在/etc/hosts里绑定对方(被管理的宿主机器)的主机
2,做ssh等效性
# ssh-keygen --直接三次回车
# ssh-add /root/.ssh/id_rsa --加入自己的私钥
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
# ssh-copy-id -i /root/.ssh/id_rsa.pub 10.1.1.17
----把自己的公钥scp传给对方
3,所有的被管理客户端宿主机,需要启动libvirtd服务
4,virt-manager--->file--->add connection--->填上要远程连接的主机IP(或主机名,但要求/etc/hosts绑定)
5,连接上去之后,就可以看到有远程的虚拟客户机,双击就可以远程调取他们的图形了
----或者用命令的方式去连接
# virt-viewer -c qemu+ssh://root@10.1.1.17/system kvm1
----表示使用root用户(当然前面你做的ssh等效性需要是root用户)去访问10.1.1.17上叫kvm1的虚拟机
==============================================================================
迁移:
冷迁移: 这个和克隆还是有区别的:克隆是把源虚拟机关闭,那么内存的数据都没了;而迁移是迁过去成功,然后打开后,还保持原来的内存数据
热迁移:
10.1.1.9 10.1.1.17
老旧的宿主机 新的宿主机
虚拟机 ------->
冷迁移过程:
1,虚拟机kvm1是开启状态
2,保存当前的运行状态
# virsh save kvm1 /etc/libvirt/qemu/kvm1.xml.save
3,scp或者rsync把相关的文件都拷贝到被迁移的宿主机
# scp /etc/libvirt/qemu/kvm1.xml.save 10.1.1.17:/etc/libvirt/qemu/
# scp /etc/libvirt/qemu/kvm1.xml 10.1.1.17:/etc/libvirt/qemu/
# scp /var/lib/libvirt/images/kvm1.img 10.1.1.17:/var/lib/libvirt/images/
4,到10.1.1.17(也就是迁移的目标宿主机)上操作
# virsh define /etc/libvirt/qemu/kvm1.xml ----define一下,然后就可以用virsh list --all查看到
5,# virsh restore /etc/libvirt/qemu/kvm1.xml.save
热迁移过程:
1,做热迁移需要使用共享存储(也就是说这些虚拟机都安装在宿主机的共享存储设备上);我们这里只能使用nfs来替代
10.1.1.9 10.1.1.17
/
/
/
storage(SAN)
2,在源宿主机器上把虚拟机的磁盘文件路径用nfs导出
# vim /etc/exports
/var/lib/libvirt/images *(rw,no_root_squash,sync)
# /etc/init.d/nfs restart --rhel6.x已经没有portmap服务了(代替的是rpcbind服务),直接启动nfs服务就可以
3,在目标宿主机器上把源共享的目录挂载,保证路径一致(目标宿主机的挂载目录一定要与源宿主机的目录一致)
# mount -t nfs -o vers=3 10.1.1.9:/var/lib/libvirt/images/ /var/lib/libvirt/images/
4,进行迁移,下面的操作是在源10.1.1.9上的操作(注意检查一下防火墙和selinux要关闭)
命令迁
# virsh migrate --live kvm1 qemu+ssh://10.1.1.17/system
--(可能会有很多问题:如kvm1有桥接网络,但10.1.1.17那边没有,会报错:或者本地有iso镜像,但对方那里iso路径不一样,会报错;或者kvm1内存较大,10.1.1.17那边没有足够的内存分配,则也会报错等等;双方主机名没有绑定,也有可能报错;还有可能是因为网络的问题,造成一次不成功;毕竟我们是实验环境@_@多试几次看看)
图形迁
# virt-manager --->右键点kvm1--->点迁移
--迁移过程中,源虚拟机还是可以继续运行,几乎感觉不到停;迁移完成后,则源会关闭(源已经没有用了),而目标10.1.1.17,就已经无缝接管了源虚拟机的状态了
热迁移时,如果报下面的错误
libvirtError: internal error Attempt to migrate guest to the same host
解决方法:在目标端10.1.1.17上操作
# uuidgen ----产生一个新的uuid
596b0eb8-3a15-48da-bbba-11e136b7c893
# vi /etc/libvirt/libvirtd.conf ----此配置文件里加上下面一行,注意id一定要用双引号引起来
host_uuid = "596b0eb8-3a15-48da-bbba-11e136b7c893"
# /etc/init.d/libvirtd restart ----重启服务
原文地址:https://www.cnblogs.com/skyzy/p/9201269.html