kvm虚拟机热迁移和冷迁移

kvm虚拟机热迁移和冷迁移

冷迁移

迁移vm的思路是将disk img磁盘映像文件与xml配置文件拷贝至目的主机重新定义即可
如果环境中部署有共享存储方案,只是需要重新在目标主机定义即可完成vm的迁移
以下实验环境为无共享存储方式

查看装好的kvm虚拟机oel1状态

 查看虚拟机oel1块设备信息,虚拟机磁盘文件

关闭虚拟机开始迁移

 [root@localhost ~]# virsh shutdown oel1

导出xml文件

[root@localhost ~]# virsh dumpxml oel1 > ./oel1.xml

远程拷贝文件至目标主机

[root@localhost ~]# scp /home/data/vm/oel1/oel1_qcow2.img root@192.168.2.110:/data/vm/oel1/

[root@localhost ~]# scp /home/data/vm/oel1/oel1_qcow2_1.img  root@192.168.2.110:/data/vm/oel1/

目标主机将拷贝过来的xml配置文件重新注册到kvm

注册之前,需要确认xml当中配置的disk路径与实际disk 的img文件路径是否相同

# cat /etc/libvirt/qemu/oel1.xml
<source file='/data/vm/oel1/oel1_qcow2.img'/>
<source file='/data/vm/oel1/oel1_qcow2_1.img'/>

如果不一致修改为正确的disk路径

目标主机注册迁移虚拟机

# virsh define /etc/libvirt/qemu/oel1.xml
定义域 oel1(从 /etc/libvirt/qemu/oel1.xml)
启动vm虚拟机
[root@localhost ~]# virsh start oel1

console接入vm查看信息
[root@node72 ~]# virsh console oel1

动态迁移

两台KVM虚拟机,配置一致,任意一台KVM1机子上进行创建虚拟机【oel2】,迁移到KVM2

主机 IP地址 主机名
KVM1 192.1682.111 localhost
KVN2 192.1682.112 node72
NFS 192.1682.113 nfs

[root@localhost ~]# cat /etc/hosts

192.168.2.111 localhost
192.168.2.112 node72

192.168.2.113 nfs

安装虚拟机到下面步骤是选择自定义,共享存储池-》新建一个存储卷名为centos7.0,将系统安装在nfs共享存储中

新建存储池kvmshare

 

 

采用nfs共享存储的方式存放disk img映像文件

[root@node1 ~]# cat /etc/exports
/data *(rw,sync,no_root_squash)

Kvm节点挂载nfs共享存储,路径须一致
[root@localhost ~]# mount -t nfs 192.168.2.113 :/data /mnt
[root@node72 ~]# mount -t nfs 192.168.2.113 :/data /mnt

localhost 运行vm之后,将vm热迁移至node72,vm的disk img存放在共享存储/mnt/vm/oel1路径下

开启虚拟机oel2

开始迁移

[root@localhost  ~]# virsh migrate --live --verbose --abort-on-error --unsafe  oel2 qemu+ssh://192.168.2.112/system

--live 热迁移
--unsafe 即使不安全也要强制迁移
--abort-on-error 在迁移过程中忽略软错误

--verbose 显示迁移进程

迁移完成后localhost上的虚拟机是关闭的

没有以下步骤也是可以运行,但可能会出问题,

在node72检查,但是node72上没有oel2的xml配置文件,需要重新导出一份

[root@node72 ~]# virsh dumpxml oel2 > /etc/libvirt/qemu/oel2.xml

注册迁移虚拟机

# virsh define /etc/libvirt/qemu/oel1.xml

热迁移成功

posted @ 2020-02-11 15:09  w_boy  阅读(1155)  评论(0编辑  收藏  举报