开始新对话

未解决

此帖子已超过 5 年

5659

2013年6月21日 01:00

vmware vmotion 原理 ?

vmotion原理是怎么样的?跟vmotion网络设置有关吗?如果2个esxi主机不是一个网段的需要跨路由vmotion吗?

2 Intern

 • 

1.2K 消息

2013年7月4日 19:00

你好。我是论坛版主Jason周。我注意到,你的这个帖子被不小心创建在了你的个人的版面内了。建在个人版块里的帖子其他人基本没机会看到,所以至今也没有来自其他人的回复。至于为什么会发生这样的情况以及如何避免,可参考我写的这个帖子 【帮助说明】如何避免帖子在不经意间被创建在了错误的版面里,导致收不到回复(因为别人看不到帖子)

我现在已把你的帖子移动到中文支持论坛内的 综合讨论区 版块里了,这样更多的朋友能够看到,相信稍后会有有vmotion这方面经验的朋友们来跟你分享或解答。以后建议先由中文支持论坛首页 用顶部的导航按钮先进入相应的版块(例如:存储系统),然后用右边操作栏里的“开始一个讨论”来创建帖子提问或者分享,这样创建出来的帖子默认就是在你所在的版块的,避免帖子被无意中创建在了个人版块内。谢谢!

2 Intern

 • 

4K 消息

2013年7月4日 20:00

使用 VMware vMotion 将虚拟机从一台物理服务器实时迁移到另一台物理服务器的过程是通过三项基础技术实现的。

  • 虚拟机的整个状态由存储在共享存储(如光纤通道或 iSCSI 存储区域网络 (SAN),或网络连接存储 (NAS))上的一组文件封装起来。 vSphere 虚拟机文件系统 (VMFS) 允许多个 vSphere 主机并行访问相同的虚拟机文件。
  • 虚拟机的活动内存及精确的执行状态通过高速网络快速传输,从而允许虚拟机立即从在源 vSphere 主机上运行切换到在目标 vSphere 主机上运行。 vMotion 通过在位图中连续跟踪正在进行的内存事务处理来确保用户察觉不到传输期。 一旦整个内存和系统状态已拷贝到目标 vSphere 主机,vMotion 将中止源虚拟机的运行,将位图的内容拷贝到目标 vSphere 主机,并在目标 vSphere 主机上恢复虚拟机的运行。 整个过程在以太网上需要不到两秒钟的时间。
  • 底层 vSphere 主机将对虚拟机使用的网络进行虚拟化。 这样可以确保即使在迁移后也能保留虚拟机网络标识和网络连接。 因为使用 vMotion 进行虚拟机迁移可以保留精确的执行状态、网络标识和活动网络连接,其结果是实现了零停机时间而且不中断用户操作。

最新的vSphere还支持Storage vMotion,那就连VMDK文件也一起迁移了:
vmw-dgrm-vsphr-vmotion-enhancements-101.jpg

如果ESX不在同一网段(准确点说是负责vMotion的VMkernal网卡不在一个网段内),那当然还是要路由的,这个是在交换机上设置。但一般尽可能避免太多的路由跳数,因为vMotion还是要迁移一部分数据的,Storage vMotion迁移量更多,过多的跳数会影响网络性能。

2 Intern

 • 

362 消息

2013年7月4日 20:00

1. 虚拟机的全部状态信息被压缩在一套存储于共享存储器的文件中。作为载体的存储器类型可以是光纤通道(Fibre Channel),iSCSI存储区域网络(iSCSI Storage Area Network,SAN)或者网络附加存储器(Network Attached Storage,NAS)。VMware的群集虚拟机系统(VMFS)允许多台ESX服务器同时访问同一个虚拟机文件。

2. 虚拟机的动态内存和执行状态在一个高速的网络上进行快速传输,允许虚拟机即时地在源ESX服务器和目标ESX服务器之间进行信息交换。在迁移过程中,VMotion只是在点阵图里对信息交换进行监控,所以整个转移过程对用户来说是透明的。一旦整个内存和系统状态全部复制到目标ESX服务器中,VMotion就会自动终止源虚拟机,同时将点阵图转移到目标ESX服务器中,并在目标ESX服务器中重新启动虚拟机。上述整个操作假如是在一个千兆以太网络中进行,那么不用两秒的时间就可以完成。

3. 虚拟机使用的网络同样也会被目标ESX服务器虚拟化,确保在实时迁移之后,虚拟机的网络身份和连接能够得到保留。VMotion将MAC地址作为进程的一部分来进行管理。一旦目标机被激活,VMotion会检查网络路由器来确保它能识别虚拟机MAC地址新的物理位置。由于虚拟机使用VMotion来进行实时迁移,它的执行状态,网络身份和动态链接都能够得到保护,所以对于用户来说,整个迁移过程并没有引起服务器停机或者网络中断。

2 Intern

 • 

1.4K 消息

2013年7月4日 21:00

     Roger谈的原理已经非常到位了,我在补充下关于网络这块的问题:跨路由迁移虚拟机没问题,不过迁过去之后通信通常就断掉了,因为VM的IP地址和网关还是指向原来的网段。这就是为什么vMotion一般都限制在二层内来做。一旦跨三层就会造成中断,所以才出现了VXLAN、NVGRE、STT这样的overlay协议用于实现三层vMotion不中断的效果。

2 Intern

 • 

4K 消息

2013年7月7日 19:00

补充一下,更多vMotion的技术细节和最佳实践建议可以参考VMware的白皮书:http://www.vmware.com/files/pdf/techpaper/VMware-vSphere51-vMotion-Perf.pdf

其中有说到vMotion支持多网卡和透明的负载均衡:
For example, if the source host has two 10GbE NICs, and the destination host has one 10GbE NIC and two 1GbE

NICs, VMkernel will pair the first 10GbE NIC on the source host with the sole 10GbE NIC on the destination host,

then VMkernel will pair the second 10GbE NIC on the source host with the two 1GbE NICs on the destination host,

thereby resulting in a total of three TCP connections.

Note: Ensure that all the vMotion vmknics on the source host can freely communicate with all the vMotion

vmknics on the destination host. It is recommend to use the same IP subnet for all the vMotion vmknics.

如果source host有两块10GbE网卡,dest host有一块10GbE和两块1GbE网卡,则最终vMotion将建立3个TCP连接来传输数据。所以为了最大化利用带宽,建议所有vMotion网卡在一个子网内(不要跨路由,否则瓶颈会集中在路由设备上)。

当然vMotion网卡在一个网段并不会限制virtual machine的网卡在一个网段。它们是不同的物理网卡。

找不到事件!

Top