KVM热迁移虚拟机

一、KVM虚拟机迁移分为动态(热迁移)和静态两种

静态迁移就是复制虚拟机的镜像文件到另外的一台KVM主机上,然后通过define重新定义出该虚拟机。操作简单,一般用于更换KVM主机时使用。

动态迁移则是基于共享存储系统,将虚拟机在不中断服务的情况下进行迁移。动态迁移过程:1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上2、QEMU/KVM会监控并记录下迁移过程中所有己被传输的内存页的任何修改

并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容3、QEMU/KVM会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认30毫秒)内传输完成时,QEMU/KVM会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态。4、至此,KVM的动态迁移操作就完成了。迁移后的客户机尽可能与迁移前致,除非目的主机上缺少一些配置,比如网桥等。

虚拟机动态迁移
#环境:nfs服务器、kvm_host01、kvm_host02
#步骤:
#搭建nfs服务器
#两台kvm个添加一块网卡
#在kvm_host01上创建netfs存储,并安装虚拟机,拍摄快照
#在kvm_host02上部署环境
#在kvm_host02上开始迁移
#注意:应当在kvm主机上关闭selinux,开放迁移使用的端口;nfs部署时应当开放MOUNT端口(一般为tcp892)以及udp111、tcp2049端口
首先:nfs服务器搭建
yum -y install rpcbind nfs-utils
mkdir /nfs_share
echo '/nfs_share 192.168.159.*(rw,no_root_squash)' >> /etc/exports
sed -i 's/#MOUNTD_PORT=892/MOUNTD_PORT=892/' /etc/syconfig/nfs
systemctl start rpcbind && systemctl enable rpcbind
systemctl start nfs && systemctl enable nfs
firewall-cmd --add-port=111/udp
firewall-cmd --add-port=2049/tcp
firewall-cmd --add-port=892/tcp
然后:在kvm_host01上
hostnamectl set-hostname kvm_host01
cat >> /etc/hosts << EOF
>192.168.159.148 kvm_host01
>192.168.159.149 kvm_host02
>EOF
nmcli con add con-name br5 type bridge ifname br5
nmcli con add con-name slave_br5 type bridge-slave ifname master br5 autoconnect yes
nmcli con delete `nmcli con show |grep ens37 |awk '{print $4}'`
nmcli con up slave-br5
mkdir /nfs
virsh pool-define-as nfspool netfs --source-host 192.168.159.151 --source-path /nfs_share --target /nfs_share
virsh pool-build nfspool
virsh pool-start nfspool
virsh pool-autostart nfspool
virsh vol-create-as nfspool vm01_nfsvol 20G
virt-install -n vm01 -r 1024 --vcpus 1 -l /kvmdir/iso/centos7.iso --disk path=/nfs_share/vm01_nfsvol --accelerate --nographics -x 'console=ttyS0' --network bridge=br5
然后:在kvm_host02上
hostnamectl set-hostname kvm_host02
cat >> /etc/hosts << EOF
>192.168.159.148 kvm_host01
>192.168.159.149 kvm_host02
>EOF
nmcli con add con-name br5 type bridge ifname br5
nmcli con add con-name slave_br5 type bridge-slave ifname master br5 autoconnect yes
nmcli con delete `nmcli con show |grep ens37 |awk '{print $4}'`
nmcli con up slave-br5
mkdir /nfs
virsh pool-define-as nfspool netfs --source-host 192.168.159.151 --source-path /nfs_share --target /nfs_share
virsh pool-build nfspool
virsh pool-start nfspool
virsh pool-autostart nfspool
最后开始迁移
virsh migrate vm_centos7 --live --unsafe --verbose qemu+ssh://192.168.159.149/system
迁移时可能会出现的故障
1、error: unable to connect to server at 'kvm_host02':No route to host
原因:免密登陆错误,无法建立连接
解决方法:检查你的ssh连接
2、error: Failed to open file '/nfs_share/vm01_nfsvol':Input/Output error
原因:一般为存储错误,可能是共享存储的挂载出现问题
解决方法:检查你的nfs配置,kvm主机和nfs之间的通信
3、error: internal error hostname on destination resoleved to localhost, but migration requires an FQDN
原因:域名解析的问题
解决方法:修改hosts文件
4、error: start domain vm1_nfs failed
error:internal error: process exited while connecting to monitor: 2018-07-20T11:58:24.264383Z qemu-kvm: -drive file=/mnt/vmnfs,format=qcow2,if=none,id=drive-virtio-disk0: could not open disk image /mnt/vmnfs: Could not open '/mnt/vmnfs': Permission denied
原因:selinux权限拒绝
解决方法:关闭selinux

原文地址:http://blog.51cto.com/13434336/2148553

时间: 2024-08-21 18:19:58

KVM热迁移虚拟机的相关文章

【研究任务】KVM热迁移

所谓热迁移,就是在用户无感知的情况下,把虚机由远端迁移到目的端. 一.原理理解 KVM的热迁移分为共享存储和非共享存储两种,其最终目的都是为了将内存和磁盘中的数据转移到目的端.总共要进行5个阶段 源端: 1.set_params阶段:此阶段根据热迁命令与参数,遍历savevm_handlers链表,初始化各个模块的迁移特征参数,完成后向目的端发送qemu_put_be_32(f, QEMU_VM_FILE_MAGIC),由此进入setup阶段 2.setup阶段:这个阶段会遍历savevm_ha

KVM虚拟机实现在线热迁移

博文大纲: 一.KVM虚拟机的迁移方式及需要注意的问题 二.kvm虚拟机热迁移配置实例 一.KVM虚拟机的迁移方式及需要注意的问题 KVM虚拟机的迁移有两种方法:1.静态迁移(冷迁移):对于冷迁移,就是在虚拟机关闭状态下,将虚拟机的磁盘文件及.xml配置文件(这两个文件组成了一个虚拟机)复制到要迁移到的目标主机上,然后在目标主机上使用"virsh define *.xml"命令重新定义虚拟机即可.2.动态迁移(热迁移):对于热迁移,比较常用,通常是这台服务器上正在跑着一些业务,而这些业

虚拟机的迁移(热迁移)

迁移: 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行 迁移的目的: 1.简化系统维护管理 2.高系统负载均衡 3.增强系统错误容忍度 4.优化系统电源管理 KVM 虚拟机的热迁移 ---Live Migration 热迁移(又叫动态迁移.实时迁移),即虚拟机保存( save ) / 恢复 (restore) :将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上.恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异.

vSPhere使用vMotion实现虚拟机热迁移详解

若要实现热迁移,那么外部共享存储服务器便是必不可少的,因为必须要保证源ESXi主机和目标ESXi主机都可访问虚拟机文件,所以在热迁移之前必须把虚拟机配置文件都迁移到外部共享存储之上. 说到外部共享就自然想到了openfiler,openfiler是一个免费的NAS/ISCSI的SAN服务器系统,主要用于为LAN主机提供独立存储系统,openfiler提供了包括NFS.SMB.ISCSI.target等多种连接方式,一般通过http的方式管理,它对于希望搭建虚拟化的中小型企业而言,是provisi

vSphere 通过 vMotion 实现虚拟机热迁移

在实际环境中,总会有新陈代谢,旧机器总还是躲不过时间的摧残,这就需要更换新机器,而 vMotion 是 VMware 开发出的一项独特技术,可将正在运行的虚拟机从一台服务器迁移到另一台服务器上.若要实现热迁移,那么外部共享存储服务器便是必不可少的,因为必须要保证源ESXi主机和目标ESXi主机都可访问虚拟机文件,所以在热迁移之前必须把虚拟机配置文件都迁移到外部共享存储之上.openfiler是一个免费的NAS/ISCSI的SAN服务器系统,主要用于为LAN主机提供独立存储系统,openfiler

[翻译]标准vMotion的底层运行原理(虚拟机的热迁移原理)

VMware vSphere vMotion功能是当今虚拟基础架构中最重要的功能之一.自2002年成立以及2003年发布以来,它允许我们将虚拟机的活动状态从一个物理ESXi主机迁移到另一个主机.如今,无缝迁移虚拟机的能力几乎是每个虚拟化部署的重要组成部分.工作负载的可移植性是真正的混合云体验的基础,能够使用VMware混合云扩展(HCX)在内部云和公共云之间移动它们.vSphere vMotion仍然是IT行业中最重要的游戏改变者之一. 多年来,vMotion内部开发了很多技术来支持新技术. 此

Kvm动态迁移

Kvm动态迁移 案例实施步骤如下:(1)设置一台源主机(192.168.88.100)与一台目的主机(104):NFS服务器(102)(2)两台主机的kvm连接NFS共享存储:(3)在源主机的kvm中新建虚拟机并安装系统:(4)两台主机连接并实现迁移实验开始:第一步:搭建NFS服务器yum -y install nfs-utils vi /etc/exports /kvmshare/kvmshare1 192.168.88.0/24(rw,sync,no_root_squash)//no_roo

kvm虚拟迁移(5)

一.迁移简介 迁移:      系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行.在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术.在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统.随着虚拟机技术的发展,系统的迁移更加灵活和多样化. 最终我们迁移的目的就是:    简化系统维护管理    高系统负载均衡    增强系统错误容忍度    优化系统电源管理 二.热迁移 ---Live Migra

kvm 静态迁移、基于nfs的动态迁移

参考<kvm 虚拟化技术,实战与原理解析> 迁移:迁移包含系统整体的迁移和某个工作负载的迁移,按照迁移的特性可以分为以下几类: 静态迁移(冷迁移):指迁移过程中明显有一段时间,客户机的服务不可用,它还可以分为两种,一种是完全关闭客户机后,将硬盘镜像复制到另外的宿主机再启动起来,这种不会保存客户机的工作负载状态: 还有一种并不完全关闭客户机而是暂停客户机,而后用快照之类的方式,把当前的状态做成快照,复制快照到新的宿主机上启动. 动态迁移(热迁移):是指保证客户机上应用服务正常运行的同时,完成迁移