KVM 虚拟机冷/热迁移
作者:互联网
-
在进行迁移之前需要准备一台与KVM01配置相同的机器KVM02,部署好kvm环境。
- 设备:
192.168.22.136 kvm01 192.168.22.137 kvm02
一、虚拟机冷迁移
1、在kvm01、 kvm02 中安装 kvm 组件
[root@kvm01/2 ~]# yum install libvirt* virt-* qemu-kvm* -y
2、配置桥接网络
[root@kvm01/2 ~]# virsh iface-bridge eth0 br0
3、将虚拟机kvm01关机,导出配置文件
[root@kvm01 ~]# virsh dumpxml centos7.0 > centos7.0.xml
4、将虚拟机配置文件传输到kvm02上
1、传输配置文件 [root@kvm01 ~]# scp -rp centos7.0.xml 192.168.22.137:/root/ 2、传输磁盘文件 [root@kvm01 ~]# scp -rp /var/lib/libvirt/images/centos7.0.qcow2 192.168.22.137:/var/lib/libvirt/images/
5、kvm02中导入配置文件
[root@kvm02 ~]# virsh define centos7.0.xml
6、启动虚拟机
[root@kvm02 ~]# virsh start centos7.0
7、查看虚拟机状态
[root@kvm02 ~]# virsh list --all Id 名称 状态 ---------------------------------------------------- 1 centos7.0 running
至此,完成了一次KVM冷迁移
二、virt-manager 和 kvm 虚拟机热迁移
-
实现kvm虚拟机热迁移核心:共享存储,在这里使用的是NFS共享存储。
1、NFS(存储端kvm01)
[root@kvm01 ~]# vim /etc/hosts 192.168.22.136 kvm01 192.168.22.137 kvm02 [root@kvm01 ~]# yum -y install nfs-utils rpcbind #安装nfs服务 [root@kvm01 ~]# mkdir /data #创建共享文件夹 [root@kvm01 ~]# vim /etc/exports #不压制root权限(当client端使用root挂载时,也有root权限),使该网段共享该文件夹 /data 192.168.22.0/24(rw,sync,no_root_squash) [root@kvm01 ~]# systemctl start nfs-server [root@kvm01 ~]# systemctl enable nfs-server [root@kvm01 ~]# exportfs -v /data 192.168.22.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
2、nfs 客户端(kvm02)
[root@kvm02 ~]# vim /etc/hosts 192.168.22.136 kvm01 192.168.22.137 kvm02 [root@kvm02 ~]# yum -y install nfs-utils rpcbind 1. 查看存储端共享 [root@client ~]# showmount -e kvm01 #这里写ip或主机名均可 Export list for nas: /data 192.168.22.0/24 2. 手动挂载 [root@kvm02 ~]# mount -t nfs kvm01:/data /data [root@kvm02 ~]# umount /data #如果取消挂载可用该命令 3. 自动挂载到网站主目录 [root@kvm02 ~]# vim /etc/fstab nas:/data /data nfs defaults 0 0 [root@kvm02 ~]# mount -a #如果取消挂载可用该命令 4. 查看挂载 [root@kvm02 ~]# df kvm01:/data 7923136 692416 6821568 10% /data 注意:远程挂载考虑到挂载失败的问题,生产环境建议设置开机启动挂载 5. 加入开机自启动 [root@kvm02 ~]# echo 'mount.nfs 192.168.22.136:/data /data' >>/etc/rc.local [root@kvm02 ~]# chmod +x /etc/rc.d/rc.local
3、共享镜像配置(存储端kvm01)
(1)将/var目录下的源磁盘镜像拷贝到共享目录/data下
[root@kvm02 ~]# cp /var/lib/libvirt/images/centos7.0.qcow2 /data/
(2)用virsh edit将源虚拟机配置路径改到/data下
[root@kvm02 ~]# virsh edit centos7.0 改前:<source file='/var/lib/libvirt/images/centos7.0-clone.qcow2'/> 改后:<source file='/data/centos7.0-clone.qcow2'/>
(3)启动被迁移虚拟机,用virt-manager工具迁移
[root@kvm02 ~]# virt-manager
4、virt-manager工具进行迁移
(1)ssh方式添加连接(kvm01与kvm02做相同步骤可实现互相迁移,这里以kvm01添加kvm02为例)
(2)两次弹框,依次输入“yes”和对方密码(这里以kvm02添加kvm01的情况为例)
(3)启动要迁移的虚拟机centos7.0,之后会在kvm01的virt-manager上观察这台机器状态为running,且运行位置为kvm01
(4)选择centos7.0,右键选择迁移,并且选中高级选项里的第一项(这里是后来又换机做了实验,153应该对应原来的137)
(5)之后观察kvm02的virt-manager发现,运行的centos7.0迁移到了kvm02上
(6)在kvm02上查看虚拟机列表
[root@kvm02 ~]# virsh list --all Id 名称 状态 ---------------------------------------------------- 1 centos7.0 running
至此,完成一次热迁移
标签:data,虚拟机,KVM,kvm01,kvm02,centos7.0,迁移,root 来源: https://www.cnblogs.com/lz-200/p/13368545.html