如果服务器有4张千兆以太网卡,你会选择怎样来设计VMware平台的虚拟网络?
首先来看下面这张虚拟网络设计图
生产业务网络要求占用独立网段资源,设计都很固定,就不讨论了
(生产、vMotion和Management网络可以通过Vlan进行隔离(二层),也可以通过路由隔离(三层))
而vMotion和Management单个网卡走单个网络,冗余和部分性能得不到保障。
VMware在ESXI 5.0的Best Practice(最佳实践)中建议如下:
-
在专用于 vMotion 的单独网络上保持 vMotion 连接。在进行 vMotion 迁移时,客户机操作系统内存的内
容将通过该网络传输。通过使用 VLAN 对单个物理网络分段,或者使用单独的物理网络(后者为首选),
可以实现这一点。
个人认为就算是最佳实践,也要拿数据说话,忽悠客户是不道德滴。。
那么,在四张网卡(二张网卡给生产)前提下:
-
为什么vMotion要单独一个网段或网络,和Management公用一个网段或者网络是否可行?
-
是否建议vMotion网络和Management网络使用同一张网卡呢?
场景一
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 <nop,nop,timestamp 416800893 3266226>
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 <nop,nop,timestamp 416800893 3266226>
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 <nop,nop,timestamp 3302215 416836876>
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 <nop,nop,timestamp 3302215 416836876>
详情见http://communities.vmware.com/thread/306862
场景二
vSwitch0
VMNIC 1 - Management / Active - vMotion / Standby
VMNIC 2 - Management / Standby - vMotion / Active
在上图中,对比场景一,我们增加了一张网卡,这样在交换机层就不会形成单播泛洪,而且还有冗余,但事实并非如此,如果VMNIC 1 is Broken ,那么VMNIC 2还是出现了单播泛洪,没有起到应有冗余的作用
场景三
vSwitch0
VMNIC 1 - Management / Active - vMotion / Standby
VMNIC 2 - Management / Standby - vMotion / Active
在上图中,我们进行了Vlan划分,从逻辑上隔离了vMotion和Management网络,如果VMNIC 1 坏了,交换机在自己的 MAC Map中也不会认为它们是同一个源,故该设计能够满足需求
场景四
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提供迁移的链路也断了。