我想了解在实时迁移中为执行我的最后一年项目而在幕后发生的事情
根据我的理解,两个主机通过SAN共享一个公共存储
1)当vm从一个主机迁移到另一个主机时,VM文件从一个ESXI转移到另一个ESXI,但问题是它们有共享存储,所以它们将如何传输。
2)VMDK,快照文件在实时迁移期间传输
现在我有疑问
1)仅传输VMDK,.vmx文件
2)使用VMotion传输内存页面,那么这些内存页面是什么,是文件,还是它们的物理内容
3)在虚拟机管理程序或VCenter中,迁移代码在哪里
4)我们可以在迁移过程中获得vm,hypervisor的堆栈跟踪吗?如果是的话,那将是多么可能(我尝试了一个基础来了解VM(ubuntu)如何调用虚拟机管理程序,但这只能给我一个直到linux系统而不是超出那个)
任何人都可以指导我。
答案 0 :(得分:3)
VMotion概述
阶段1:访客追踪阶段
在此阶段,guest虚拟机VM将进行迁移。痕迹是 放置在访客内存页面上以跟踪任何修改 迁移期间的客人。跟踪所有内存可能会导致a 工作负载吞吐量明显下降。影响通常是 与客人记忆的总体大小成正比。
阶段2:准确阶段
因为虚拟机继续运行并主动修改它 在此阶段,源主机上的内存状态是内存内容 将虚拟机从源vSphere主机复制到 目标vSphere主机在迭代过程中。第一次迭代 复制所有内存。后续迭代仅复制内存 在上一次迭代期间修改过的页面。的数量 预拷贝迭代和每个期间复制的内存页数 迭代取决于源上内存的更改 vSphere主机,由于客户正在进行的操作。大部分 vMotion网络传输在此阶段完成 - 无需任何操作 直接来自guest虚拟机的大量CPU周期。一会儿 仍然观察到对客户性能的影响,因为写跟踪 预准备期间的火灾将导致页面略微减速 写入。
阶段3:切换阶段
在最后阶段,虚拟机暂时 在源vSphere主机上停顿,最后一组内存 更改将复制到目标vSphere主机和虚拟 计算机在目标vSphere主机上恢复。客人简要介绍 暂停此步骤中的处理。虽然这个持续时间 阶段一般不到一秒,这是最可能的阶段 对客人表现影响最大的地方(突然,暂时的 观察到延迟增加。影响取决于各种各样的 因素不仅限于但包括网络基础设施,共享 存储配置,主机硬件,vSphere版本和动态 客人工作量。
根据我的经验,我会说在第3阶段期间我总是失去至少1 ping
。
关于你的问题:
1)所有数据都通过TCP / IP网络传输。除非 Storage VMotion ,否则转移.vmdk
。您可以在documentation
2).nvram
是VMware VM内存文件。可以验证所有VMware VM文件类型列表here
3)所有逻辑都在虚拟机管理程序中。 vSphere Client / vCenter是管理产品。 VMware拥有专有的代码库,因此我认为您无法获得实际的源代码。同时,欢迎您查看ESXi
cli
documentation。由于许可限制而导致的VMotion调用只能通过客户端进行。
4)客户操作系统(在你的情况下是Ubuntu)并不知道它根本就使用虚拟硬件。客户操作系统无法跟踪迁移或任何其他VMware kernel
/ vmfs
活动。