如果服务器有4张千兆以太网卡,你会选择怎样来设计VMware平台的虚拟网络?

首先来看下面这张虚拟网络设计图

为什么设计vMotion和Management网络分开【展现虚拟化商业价值征文大赛】_第1张图片

生产业务网络要求占用独立网段资源,设计都很固定,就不讨论了

(生产、vMotion和Management网络可以通过Vlan进行隔离(二层),也可以通过路由隔离(三层))

而vMotion和Management单个网卡走单个网络,冗余和部分性能得不到保障。

VMware在ESXI 5.0的Best Practice(最佳实践)中建议如下:

  • 在专用于 vMotion 的单独网络上保持 vMotion 连接。在进行 vMotion 迁移时,客户机操作系统内存的内 
    容将通过该网络传输。通过使用 VLAN 对单个物理网络分段,或者使用单独的物理网络(后者为首选), 
    可以实现这一点。

个人认为就算是最佳实践,也要拿数据说话,忽悠客户是不道德滴。。

那么,在四张网卡(二张网卡给生产)前提下:

  • 为什么vMotion要单独一个网段或网络,和Management公用一个网段或者网络是否可行?

  • 是否建议vMotion网络和Management网络使用同一张网卡呢?

场景一

为什么设计vMotion和Management网络分开【展现虚拟化商业价值征文大赛】_第2张图片

vSwitch0 

vmnic2 - Management / Active - vMotion / Active 

在上图中,vMotion和Management网络可以互访,当我们连接vCenter上进行vMotion虚拟机时,会发现vsphere client连接vcenter中断,造成的原因是(Unicast Flooding)单播泛洪,简单的说就是核心交换机1的MAC地址表中包含有vmotion和Management两个信息表,当用户连接时使用的Management的IP地址,而进行vMotion时是另外一个了IP源,交换机就会断掉原有的Client session,从而断掉连接。

以下是网友操作过程中抓的包也证实了这点

20:07:33.351805 a4:ba:db:2d:3e:9a > 00:50:56:74:30:28, ethertype IPv4 (0x0800), length 1514: IP 10.49.5.155.59601 > 10.49.2.49.8000: . 45982380:45983828(1448) ack 1 win 4163 

20:07:33.351809 a4:ba:db:2d:3e:9a > 00:50:56:74:30:28, ethertype IPv4 (0x0800), length 1514: IP 10.49.5.155.59601 > 10.49.2.49.8000: . 45983828:45985276(1448) ack 1 win 4163 

20:13:33.202985 00:22:19:94:88:f8 > a4:ba:db:2d:3e:9a, ethertype IPv4 (0x0800), length 66: 10.49.2.49.irdmi > 10.49.5.155.62878: . ack 503189697 win 34390 

20:13:33.202986 00:22:19:94:88:f8 > a4:ba:db:2d:3e:9a, ethertype IPv4 (0x0800), length 66: 10.49.2.49.irdmi > 10.49.5.155.62878: . ack 503192593 win 34209 

详情见http://communities.vmware.com/thread/306862

 

场景二

为什么设计vMotion和Management网络分开【展现虚拟化商业价值征文大赛】_第3张图片

vSwitch0 

VMNIC 1 - Management / Active - vMotion / Standby 

VMNIC 2 - Management / Standby - vMotion / Active

在上图中,对比场景一,我们增加了一张网卡,这样在交换机层就不会形成单播泛洪,而且还有冗余,但事实并非如此,如果VMNIC 1 is  Broken ,那么VMNIC 2还是出现了单播泛洪,没有起到应有冗余的作用

 

场景三

为什么设计vMotion和Management网络分开【展现虚拟化商业价值征文大赛】_第4张图片

vSwitch0 

VMNIC 1 - Management / Active - vMotion / Standby 

VMNIC 2 - Management / Standby - vMotion / Active

在上图中,我们进行了Vlan划分,从逻辑上隔离了vMotion和Management网络,如果VMNIC 1 坏了,交换机在自己的 MAC Map中也不会认为它们是同一个源,故该设计能够满足需求

 

场景四

为什么设计vMotion和Management网络分开【展现虚拟化商业价值征文大赛】_第5张图片

vSwitch0 

VMNIC 1 - Management / Active - vMotion / Standby 

VMNIC 2 - Management / Standby - vMotion / Active

在上图中,我们进行了IP子网划分,在物理上隔离了vMotion和Management网络,如果VMNIC 1坏了,也是可以实现冗余的。

当然有网友会说,Management网络会占用vMotion网络的资源,但我认为管理配置上的操作在session建立后是没有多少资源占用的。

 

那么基于以上四个场景,结论为:

  • vMotion和Management可以使用同一网络,但需要各自使用单独网卡

  • 两张网卡可以实现vMotion和Management网络的冗余(场景三、场景四)

 

如果大家有宝贵的建议,请回复,本人会进行完善,非常感谢。

 

最近做了个项目,发现我忽略了一个知识点,如果Management网络和vmotion网络在同一个网络链路上,管理网断了,虚拟机是不会迁移的,因为vmotion提供迁移的链路也断了。