码迷,mamicode.com
首页 > 其他好文 > 详细

KVM 虚拟机迁移

时间:2018-10-31 17:06:47      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:本机   vm 虚拟机   操作   统一   EDA   缓冲区   cee   uri   res   

一 静态迁移

一 概述 :

libvirt 提供了两种方案
1 基于hypervisor native transport 的迁移
一般的迁移方式
2 基于libvirt tunnelled transport 的迁移 (使用RPC协议可以实现加密功能,在传递时多了一个步骤,在单一的网络执行并发的操作)

二 迁移时的通信控制

A 受管理的直接迁移
(同时连接到源和目标主机的libvirt主机(用户名,密码,SSH,证书))如果迁移过程中链路发生故障,则源宿主机会回退到之前的情况,(极端情况,如果不能回退,则可以进行重新启动)

B 受管理的点对点迁移((管理端和源建立连接,源和目标端建立连接进行认证并进行迁移))如果管理程序崩溃,则不会影响,因为指令已经发送

C 不受管理的直接迁移((由两台主机之前的hypervisor进行控制))

统一资源标识 URI
通过URI 连接远端的服务

1 同一宿主机之间的迁移

技术分享图片

技术分享图片

技术分享图片
技术分享图片
通过编译配置文件进行指定磁盘的指定路径来保证正常启动
技术分享图片
修改前
技术分享图片
修改后
技术分享图片

技术分享图片

2 不同宿主机之间的迁移

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

3 折中迁移方式

1 迁移配置文件

技术分享图片

技术分享图片

技术分享图片

2 其磁盘文件必须在其中

技术分享图片

技术分享图片

二 动态迁移

1 要求

1 确保两台主机均启用了libvirtd 服务
2 迁移的平台和版本符合兼容性要求
3 正确配置防火墙,允许所需端口的通信
4 两个主机在相同的虚拟网络
5 如果是共享存储,建议在两个主机上的mount 路径一致

2 基于共享存储的动态迁移

1 NFS 服务器配置存储

技术分享图片

技术分享图片

技术分享图片
技术分享图片
创建vm 并挂载:
技术分享图片
技术分享图片

技术分享图片
rw : 读写
all_squash: 将远程访问的所有普通用户及组都映射为匿名用户或者用户组
no_all_squash: 与all_squash 相关
sync: 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
技术分享图片

2 进行远端挂载生效

技术分享图片

3 修改配置文件和迁移磁盘到共享存储

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

4 使用图形化界面进行迁移

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
临时迁移的意思是在源主机上保留相应的配置
源主机配置文件
技术分享图片

如果选择不可靠的,则在进行迁移时磁盘产生的缓存在没有被刷新到磁盘上时提示已经成功,此时可能会造成一定的损失,但其性能好。生产中建议使用none

技术分享图片

技术分享图片
技术分享图片
技术分享图片
技术分享图片

技术分享图片

技术分享图片

5 virsh migrate 命令在线迁移虚拟机

技术分享图片
技术分享图片

技术分享图片
迁移相关参数
--live 表示在线迁移
--unsafe 表示允许不可靠迁移
--persistent 表示永久迁移
--UNdefinesource
技术分享图片

技术分享图片

6 其他相关方式迁移

1 可指定专门的URI进行迁移

virsh migrate rhel7.3 qemu+ssh://root@server6/system \
--migrateuri tcp://192.168.1.60 --live --persistent --undefinesource
2 p2p 的迁移方式
3 --direct
不支持qemu 必须是Xen
4 --tunnelled (必须同时使用--p2p参数)
隧道式的迁移,是隧道之间的迁移使用,必须使用SSH认证
技术分享图片
技术分享图片

3 基于本机存储的动态迁移

1 无共享存储的必要条件

一 使用virsh 的 --copy-storage-all
二 需要有实时存储迁移(块迁移)支持
1 标准的RHEL/CentOS7的qemu-kvm 不支持
2 ovirt 或 RHEV 支持
centos 7.2 必须安装一下两个包
yum -y install centos-release-qemu-ev
yum -y install qemu-kvm-ev
三 虚拟机要在存储池中

2 使图形化界面进行虚拟机的迁移

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

技术分享图片

注 :由此可知,直接迁移因为其磁盘文件不能同步而导致迁移失败,可进行手工迁移实验

3 命令行方式迁移

A 安装相关虚拟迁移需要软件包,并重启服务器

技术分享图片

技术分享图片

技术分享图片

[qemu-kvm-rhev]
name=Virt rebuilds of qemu-kvm-rhev
baseurl=http://resources.ovirt.org/pub/ovirt-3.5/rpm/el7Server/
mirrorlist=http://resources.ovirt.org/pub/yum-repo/mirrorlist-ovirt-3.5-el7Server
enabled=1
skip_if_unavailable=1
gpgcheck=0

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

B 创建相关资源池

技术分享图片

技术分享图片

技术分享图片

C 迁移并进行测试

技术分享图片
技术分享图片
技术分享图片

KVM 虚拟机迁移

标签:本机   vm 虚拟机   操作   统一   EDA   缓冲区   cee   uri   res   

原文地址:http://blog.51cto.com/11233559/2311004

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!