古城热线 发表于 2018-6-6 10:08:30

VMware ESXi 5 “基于源虚拟端口ID的路由”

  原文地址

  http://bbs.vmsky.com/thread-35010-1-1.html

  

  最近对esx5i负载均衡策略中的默认“基于源虚拟端口ID的路由”做了一些分析,非常有意思分享给大家。
    先描述一下场景:
      一台ESX5i服务器有6台VM(姑且用VM1、VM2、VM3、VM4、VM5、VM6来称呼),两块物理网卡做负载均衡(依次显示vmnic0和vmnic1)—默认的做法,两网卡分别依次对应到对端Cisco 2950上的fa0/1和fa0/2口上,通过分析cisco2950上MAC表来分析vmnic0或vmnic1承载VM的数量。

      1:依次启动VM虚拟机,VM1走vmnic0,VM2走vmnic1,VM3走vmnic1,VM4走vmnic0,VM5走vmnic0,VM6走vmnic1。
         VM1、VM4、VM5走的是vmnic0网口
         VM2、VM3、VM6走的是vmnic1网口

      2:shutdown vmnic1对应的网口后,VM2、VM3、VM6自动转移到vmnic0上承载。后重新开启vmnic1后,VM2、VM3、VM6自动又转移回vmnic1上

      3:人为关闭VM2、VM3、VM6虚拟机,VM1、VM4、VM5并没有自动转移到vmnic1上,哪怕是一个VM,关闭VM1后又重启,发现VM1走到了vmnic1上了。

   总结:
      1:在默认的“基于源虚拟端口ID的路由”策略下,每一个VM的数据流(上下行)实际上跑的是一个网口(vmnic1或vmnic0),也就是说任何一个VM虚拟机的数据流并没有被这两个网口分担。
      2:初始开启的VM虚拟机使用哪一个网口来负载的判断原则是网口上承载VM的数量,而不是网口自身资源的负载压力,这样的判断原则有可能会出现有的网口压力非常大,而有的网口非常闲置。
      3:系统正常运行中(上述1),添加网口vmnic2,则虚拟机会重新分配负载平衡,数量是2—2—2模式(三网卡模式下)。
      4:添加和删除网口,对极个别VM会造成一个包的丢失。
      5:建议大家根据VM的要承载数据量的大小,使用vmnetwork端口组中负载均衡设置,人为的指定承载网口和待定网口,最优化使用网口资源。

  ----------------------------------------------

基于端口的负载均衡 (Route based on the originating virtual port ID)
这种方式下,负载均衡是基于vPort ID的。一个vPort和Host上的一个pNIC(从vSwitch角度看就是某个uplink)捆绑在一起,只有当这个pNIC失效的时候,才切到另外的pNIC链路上。这种方式的负载均衡只有在vPort数量大于pNIC的数量时才生效。
  
页: [1]
查看完整版本: VMware ESXi 5 “基于源虚拟端口ID的路由”