前言
本环境是基于 Centos 7.7 系统构建KVM环境
具体构建,请参考 KVM环境的部署
虚拟机的迁移:
- 虚拟机的冷迁移
- 虚拟机的热迁移
一、虚拟机的冷迁移
冷迁移配置方案
1、确定虚拟机关闭状态
2、准备迁移虚拟机,查看该虚拟机配置的磁盘文件
virsh domblklist centos6
3、导入虚拟机配置文件
virsh dumpxml centos6 > centos6.xml
4、拷贝配置文件到目标虚拟主机上。
5、查看虚拟机磁盘文件并拷贝到目标虚拟主机
使用virt 实现冷迁移
- 将虚拟机关机,导出配置文件、磁盘文件
[root@kvm data]# virsh dumpxml centos6 > centos6.xml
- 将虚拟机配置文件、磁盘文件传输到kvm02上
[root@kvm data]# scp -rp centos6.xml centos6.qcow2 192.168.150.149:/data
- 定义虚拟机
[root@kvm02 ~]# virsh define centos6.xml
- 启动虚拟机
[root@kvm02 ~]# virsh start centos6
- 查看虚拟机状态
[root@kvm02 ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
5 centos6 running
二、虚拟机的热迁移
热迁移的条件
迁移双方的主机需要配置共享存储,虚拟机磁盘需要挂载到远端服务器,例如NFS
迁移双方的主机需要配置hosts解析
迁移双方的主机需要安装openssh-askpass 软件包
这里使用virt-manager 向导完成配置
需要提前配置NFS 共享,并将磁盘目录挂载到远端NFS服务器上
[root@kvm ~]# yum install nfs-utils rpcbind -y
[root@kvm ~]# cat /etc/exports
/data 192.168.150.0/24(rw,sync,all_squash,anonuid=0,anongid=0)
[root@kvm ~]# systemctl restart rpcbind
[root@kvm ~]# systemctl restart nfs
# 设置开机自启动
[root@kvm ~]# systemctl enable rpcbind
[root@kvm ~]# systemctl enable nfs
[root@kvm02 ~]# yum install nfs-utils rpcbind -y
[root@kvm02 ~]# showmount -e 192.168.150.148
Export list for 192.168.150.148:
/data 192.168.150.0/24
[root@kvm02 ~]# mount.nfs 192.168.150.148:/data /data
# 实现虚拟机磁盘文件的挂载,加入开机自启动
[root@kvm02 ~]# echo 'mount.192.168.150.148:/data /data' >>/etc/rc.local
[root@kvm02 ~]# chmod +x /etc/rc.d/rc.local
查看虚拟机状态
[root@kvm02 ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
7 centos6 running