虚拟机的迁移:
冷迁移(静态迁移): //服务器需要关闭
kvm01:192.168.1.100
kvm02:192.168.1.200
两台机器防火墙全部关闭,禁用selinux
[root@localhost ~]# lsmod | grep kvm //查看是否支持kvm
[root@localhost ~]# systemctl status libvirtd //查看libvirtd服务是否正常
//迁移和克隆差不多,都是需要对磁盘文件和xml配置文件进行操作
[root@kvm01 ~]# scp /etc/libvirt/qemu/test01.xml root@192.168.1.200:/etc/libvirt/qemu
[root@kvm01 ~]# scp /kvm-vm/centos.raw root@192.168.1.200:/kvm-vm/
[root@kvm02 ~]# virsh define /etc/libvirt/qemu/test01.xml
热迁移(动态迁移):
删除所有的KVM虚拟机
kvm01:192.168.1.100
kvm02:192.168.1.200
NFS:192.168.1.129
1)在NFS服务器上面操作:
[root@NFS ~]# yum -y install nfs-utils
[root@NFS ~]# mkdir /kvmshare //创建共享文件夹
[root@NFS ~]# vim /etc/exports //编辑共享文件夹权限
[root@NFS ~]# cat /etc/exports
/kvmshare *(rw,sync,no_root_squash)
[root@NFS ~]# systemctl start rpcbind //远程传输控制协议
[root@NFS ~]# systemctl enable rpcbind
[root@NFS ~]# systemctl start nfs-server
[root@NFS ~]# systemctl enable nfs-server
//确保两台KVM服务器能看到
[root@kvm01 ~]# showmount -e 192.168.1.129
[root@kvm02 ~]# showmount -e 192.168.1.129
2)KVM01上基于NFS服务创建虚拟机
添加新的存储池:
名称:nfsshare
类型:netfs
目标路径:/opt/nfsshare(本机挂在的目录,目录默认没有,但会自己创建)
主机名:192.168.1.129(nfs-server IP address)
源路径:/kvmshare(nfs-server上的共享目录)
验证nfs服务是否正常:
[root@kvm01 ~]# touch /opt/nfsshare/test
[root@NFS ~]# ls /kvmshare/
test
创建存储卷:
名称:centos7
最大容量:10G
//存储池和存储卷完成之后,直接创建虚拟机,并最小化安装
选择之前的创建的iso镜像以及刚才创建的存储池和存储卷
配置虚拟机使用bridge桥接网络,使其能够ping通外网,并且在这里我们执行一个ping百度的命令,并让他保持一直是ping着的状态,用来模拟迁移到kvm02上服务不中断:
[root@kvm01 ~]# virsh destroy centos7.0
[root@kvm01 ~]# systemctl stop NetworkManager
[root@kvm01 ~]# virsh iface-bridge ens33 br0
[root@kvm01 ~]# virsh edit centos7.0
<interface type='bridge'>
<mac address='52:54:00:12:80:97'/>
<source bridge='br0'/>
[root@kvm01 ~]# virsh start centos7.0
配置IP为DHCP自动获取
在KVM02上操作,创建存储池:
名称:nfsshare
类型:netfs
目标路径:/opt/nfsshare(本机挂在的目录,目录默认没有,但会自己创建)
主机名:192.168.1.129(nfs-server IP address)
源路径:/kvmshare(nfs-server上的共享目录)
创建完之后会看到之前在KVM01上创建的test文件和centos.qcow2的存储卷
在KVM01上连接KVM02:
右上角—文件—添加连接—连接到远程主机—方法:ssh—用户名:root—-主机名:192.168.1.200(KVM02的IP)
会提示安装openssh-askpass,直接在KVM01和KVm02上安装:
[root@kvm01 ~]# yum -y install openssh-askpass
[root@kvm02 ~]# yum -y install openssh-askpass
//因为KVM01使用的是bridge br0网卡,所以我们需要在KVM02上创建同样的网卡br0,用来支持虚拟机
[root@kvm02 ~]# systemctl stop NetworkManager
[root@kvm02 ~]# virsh iface-bridge ens33 br0
接下来直接在virt-manager管理器中迁移就可以了,迁移完成之后,保证我么的ping命令是不中断的,就表示实验完成了
右键centos7.0—迁移—地址:192.168.1.200(KVM02的IP)—高级选项—-勾选允许不可靠—-迁移
如果出现错误解决办法:
把KVM01和KVM02上挂载的目录给一个777的权限,保证双方root用户有权限调用目录
[root@kvm01 ~]# chmod 777 /opt/
[root@kvm02 ~]# chmod 777 /opt/
迁移完成后在KVM02上面查看ping命令是否中断