libvirt迁移方式
======================================================================================
迁移数据传送方式
一种是利用虚拟机本身(即Hypervisor)之间的迁移(Native),另外一种则是使用libvirtd后台进程的迁移(Tunnelld)。
Native :依赖于Hypervisor,可能不支持加密,消耗资源少,如果支持并发迁移,可能会使用多个端口
另外一种叫隧道迁移,实际上是依赖于libvirtd的后台进程,支持加密,但是增多了libvirt与Hypervisor之间的信息传递,所以等于添加了额外的开销,这个问题应用于内存比较大的东西时,就会显得比较麻烦。它也支持并发迁移,但是只会使用一个端口。要使用这种迁移方法,可以使用
======================================================================================
迁移管理方式
直接托管迁移
这种模式下源主机和目的主机不需要相连,由第三方libvirt客户端进行控制,所以,libvirt客户端就需要连到源主机和目的主机,需要得到它们的认证。数据从源主机到libvirt客户端,再到目的主机,这个过程中,如果客户端崩掉了,那么源主机会尝试恢复原来的状态,还有另外一个问题是,There may be scenarios where this cannot be safely done, in which cases the guest will be left paused on one or both of the hosts.
p2p托管迁移
1 源主机和目的主机相连(认证),客户端和源主机相连(认证),客户端和目的主机不相连(认证)
2 源主机管理着整个迁移过程。
3 如果客户端崩掉的话,那么迁移过程仍然会继续。
4 if these differ, it is common to run into a situation where a client can connect to the destination directly but the source cannot make the connection to set up the peer-to-peer migration
非托管迁移
1 这种迁移模式下,libvirt客户端和libvirt后台进程都没有控制迁移过程,控制迁移的是Hypervisor本身的服务
2 客户端仅仅是控制Hypervisor这一层的服务,如果迁移过程中,libvirtd后台程序或者客户端崩掉,迁移过程仍然不会被打断。
===========================================================================================
数据安全
1 数据与迁移的数据以及管理的数据最好分开。
2 如果虚拟机不支持这种方式,最好是用隧道迁移。
===========================================================================================
离线迁移
1 传输没有运行的虚拟机
2 成功迁移后,目的主机被定义,但没有运行
3 这种方法比重新定义xml的方法(手动迁移)要好,因为离线迁移会做一些预处理( It's a bit more clever than virsh dumpxml on source host followed by virsh define on destination host, as offline migration will run the pre-migration hook to update the domain XML on destination host.)
4 不支持块迁移,仅支持共享存储迁移。
===========================================================================================
迁移的URIS
需要知道三个URI
1 源主机
2 目的主机(需要考虑是否使用p2p,如果是p2p,那么这个目的主机就是从源主机的角度来说)
3 管理程序
对于第三个,一般不关心,但是在以下三个情况需要注意
1 主机名配置不正确
2 主机由多个网络接口,这时需要考虑使用IP
3 防火墙规则下规定的端口(包括允许,禁止,以及Hypervisor等的端口)。
============================================================================================
迁移应用场合
迁移的六种方式
这种迁移并不是根据2*3=6而得,而是有自己的特殊情况而定。
例如隧道迁移仅仅与p2p模式结合,所以,源主机--->客户端---->目的主机的模式不适用。
所以隧道迁移有两种,一种是客户端--->源主机----->目的主机的托管模式,另外一种是非托管模式
而本地迁移(Native)有四种模式,
第一种是
托管模式:
源主机----->客户端----->目的主机
客户端----->源主机----->目的主机
非托管模式:
p2p
所以多出来的一种也是托管模式
这种托管模式是客户端---->源主机,但是这两者都不与目的主机相连,因为两者的迁移过程是p2p方式。
虽然解释有点牵强。。。
分享到:
相关推荐
虚拟机管理器virt-manager是用于通过管理虚拟机的图形工具。 大多数使用QEMU / KVM虚拟机,但是Xen和libvirt LXC容器受到很好的支持。 任何libvirt驱动程序的通用操作都应该起作用。 还提供了几种命令行工具: virt-...
Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。现在许多开源项目如:virt-manager和virt-install采用libvirt做...
这是一个简单的 Libvirt 虚拟机管理器,使用 PHP 开发。它可以启动、关闭、强制结束或读取虚拟机信息,列出虚拟机列表等。这个项目是为了让开发者管理虚拟机更简单,更轻松。
使用 libvirt 管理虚拟机的 Web 界面 不要让您的虚拟化管理使用比主要虚拟化需求更多的资源。 非常适合简单性是虚拟化使用关键的小型部署 内存占用低,使用大约 5 MiB 的 RAM CPU使用率低 使用模板轻松定制外观和...
NULL 博文链接:https://hangdong-zhang.iteye.com/blog/2369014
terraform-libvirt-demo:使用Terraform将libvirt虚拟机部署为代码
在Web浏览器中查看服务器并...Cockpit 菜单和页面可以在浏览器上导航,可以从 Cockpit Web 界面创建和管理虚拟机。 现在可以将“虚拟机”页面添加到 Cockpit 界面,该界面使用户可以创建和管理基于 libvirt 的虚拟机。
虚拟备份 使用BlockCommit功能对由libvirt管理的KVM guest虚拟机进行外部备份。 主要目标是为Proxmox VE备份系统(无vma系统)做一个适度的替代方案,以自动备份磁盘(使用可选压缩)并轻松还原磁盘。 来宾是按组...
virsh 是由一个名为 libvirt的软件提供的管理工具,提供管理虚拟机更高级的能力。virsh大部分的功能与xm 一样,你可以利用 virsh 来启动、删除、控制、监控Xen 的区域,因此你也可以利用 virsh 来管理 Xen 中所有的...
libvirt-vm-IAC 部署为代码libvirt虚拟机的角色
libvirt_vmcfg libvirt_vmcfg是用于生成XML VM规范以供libvirt使用的库。 它处于Alpha状态,但欢迎拉取请求。 由于我还有其他优先事项,目前的文档记录很差。 有时间时,我将创建更好的文档。 例子 域生成器 from...
libvirt-snmp 虚拟化网络管理接口工具,解包后编译,安装方法可以看http://blog.csdn.net/gg296231363/article/details/6927759
kvm虚拟机迁移分为4种 (1)热迁移基于共享存储 (2)热迁移基于本地存储 (3)冷迁移基于共享存储 (4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁移版本要求 qemu版本要求 大于或等于...
libvirt内部原理整体分析 Libvirt 是管理虚拟机和其他虚拟化功能,比如存储管理,网络管理的软件集合。这些软件包括一个API 库、一个daemon(libvirtd)和一个命令行工具(virsh)。
Libvirt Qemu KVM 教程大全
Openstack Libvirt 介绍 Openstack Libvirt 介绍 Openstack Libvirt 介绍
Libvirt 网络管理 Bridge模式及NAT模式的简单介绍
虚拟化环境qemu 与libvirt的解析
libvirt