网站地图 | 产品中心 | 联系我们 欢迎您的光临!我们竭诚为您服务!真诚沟通!互动双赢!

咨询热线

18011863066

VMware ESXi 如何实现负载均衡?
时间: 2020-07-20 09:03  来源: 未知  作者: 昊群计算机

  VMware vSphere网络是ESXi主机管理以及虚拟机外部通信的关键,如果配置不当可能会出现问题,将严重影响网络的性能,情况严重的将导致服务全部停止。
 

  ESXi主机通信原理介绍
 

  ESXi主机通过模拟出一个Virtual Switch(虚拟交换机)的主机内虚拟机对外进行通信,其功能相当于一台传统的二层交换机,图5-1-1显示了ESXi主机的通信原理。
 


 

  安装完ESXi主机后,会默认创建一个虚拟交换机,物理网卡作为虚拟标准交换机的上行链路接口与物理交换机连接对外提供服务。在图中,左边有4台虚拟机,每台虚拟机配置1个虚拟网卡,这些虚拟网卡连接到虚拟交换机的端口,然后通过上行链路接口连接到物理交换机,虚拟机就可以对外提供服务。如果上行链路接口没有对应的物理网卡,那么这些虚拟机就形成一个网络孤岛,无法对外提供服务。
 

  ESXi主机网络VLAN实现方式
 

  在生产环境中,VLAN的使用相当普遍,ESXi主机的标准交换机以及分布式交换机都支持8021Q标准,当然与传统的支持方式也有一定差异,比较常用的实现方式有以下两种。
 

  1. External Switch Tagging
 

  External Switch Tagging,简称EST模式。这种模式的好处是将ESXi主机物理网卡对应的物理交换机端口划入VLAN即可,ESXi主机不需额外配置。图5-1-2显示了EST模式下VLAN实现方式,这种模式下只需将ESXi主机物理网卡对应的物理交换机端口划入VLAN,该端口就会传递相应的VLAN信息。

 


 

  2. Virtual Switch Tagging
 

  Virtual Switch Tagging,简称VST模式。这种模式要求ESXi主机物理网卡对应的物理交换机端口模式必须为Trunk模式,同时ESXi主机需要启用Trunk模式,以便端口组接受相应的VLAN Tag信息。图5-1-3显示了VST模式下VLAN实现方式,这种模式下首先需要配置物理交换机端口模式为Trunk,然后在ESXi主机网络对应的端口组下配置对应的VLAN信息。
 


 

  ESXi主机网络NIC Teaming
 

  如果ESXi主机的虚拟交换机只使用一个物理网卡,那么就存在单点故障,当这个物理网卡故障那么整个网络将中断,ESXi主机服务就全部停止。所以,对于虚拟交换机来说,负载均衡是必须考虑的事情,当一个虚拟交换机有多个物理网卡的时候,就可以形成负载均衡,那么多物理网卡情况下负载均衡是如何实现,主要有以下3种方式。
 

  1. Originating Virtual Port ID
 

  Originating Virtual Port ID,基于源虚拟端口负载均衡,ESXi主机网络默认的负载均衡方式,这种方式系统会将虚拟机网卡与虚拟交换机所属的物理网卡进行对应和绑定,绑定后虚拟机流量始终走虚拟交换机分配的物理网卡,不管这个物理网卡流量是否过载,除非当分配的这个物理网卡故障后才会尝试走另外活动的物理网卡,也就是说基于源虚拟端口负载均衡不属于动态的负载均衡方式,但可以实现冗余功能。
 


 

  图显示了基于源虚拟端口负载均衡,在这种模式下,虚拟机通过算法与ESXi主机物理网卡进行绑定,虚拟机01和虚拟机02与ESXi主机物理网卡vmnic0进行绑定,虚拟机03和虚拟机04与ESXi主机物理网卡vmnic1进行绑定,那么无论网络流量是否过载,虚拟机只会通过绑定的网卡对外进行通信。当虚拟机03和虚拟机04绑定ESXi主机物理网卡vmnic1出现故障时,虚拟机才会使用ESXi主机物理网卡vmnic0对外进行通信,如图所示。
 


 

  2. Source MAC Hash
 

  Source MAC Hash,基于源MAC地址哈希算法负载均衡,这种方式与基于源虚拟端口负载均衡方式相似,如果虚拟机只使用一个物理网卡,那么它的源MAC地址是不会发生任何变化,系统分配物理网卡以及绑定后,虚拟机流量始终走虚拟交换机分配的物理网卡,不管这个物理网卡流量是否过载,除非当分配的这个物理网卡故障后才会尝试走另外活动的物理网卡。基于源MAC地址哈希算法负载均衡还有另外的一种实现方式是虚拟机使用多个虚拟网卡,以便生成多个MAC地址,这样就虚拟机就可能绑定多个物理网卡以实现负载均衡。
 


 

  图显示了基于源MAC地址负载均衡,虚拟机如果只有一个MAC地址的情况下,与基于源虚拟端口负载均衡相同,虚拟机01和虚拟机02与ESXi主机物理网卡vmnic0进行绑定,虚拟机03和虚拟机04与ESXi主机物理网卡vmnic1进行绑定,那么无论网络流量是否过载,虚拟机只会通过绑定的网卡对外进行通信。当虚拟机03和虚拟机04绑定ESXi主机物理网卡vmnic1出现故障时,虚拟机才会使用ESXi主机物理网卡vmnic0对外进行通信,如图所示。
 


 

  基于源MAC地址负载均衡存在另外一种方式,虚拟机多MAC地址模式,也就是说虚拟机有多个虚拟网卡,图中的虚拟机02和虚拟机03有两个网卡,意味着虚拟机有2个MAC地址,在这样的模式下,通过基于源MAC地址负载均衡算法,虚拟机可能使用不同的ESXi主机物理网卡对外通信。
 


 

  3. IP Base Hash
 

  IP Base Hash,基于IP哈希算法的负载均衡,这种方式与前两种负载均衡方式是完全不一样的,IP哈希是基于源IP地址和目标IP地址计算出一个散列值,源IP地址和不同目标IP地址计算的散列值不一样,当虚拟机与不同目标IP地址通信时使用不同的散列值,这个散列值就会走不同的物理网卡,这样就可以实现动态的负载均衡。在ESXi主机网络上使用基于IP哈希算法的负载均衡,还必须满足一个前提,就是物理交换机必须支持链路聚合协议(Link Aggregation Control Protocol)以及思科私有的端口聚合协议(Port Aggregation Protocol),同时要求端口必须处于同一物理交换机(如果使用思科Nexus交换机Virtual Port Channel功能不需要端口处于同一物理交换机)。
 


 

  图显示了基于IP哈希算法的负载均衡,由于虚拟机源IP地址和不同目标IP地址计算的散列值不一样,那么虚拟机就不存在绑定某个ESXi主机物理网卡的情况,虚拟机01-04可能根据不同的散列值,选择不同ESXi主机物理网卡对外进行通信,需要特别注意的是,如果交换机不配置使用链路聚合协议,那么基于IP哈希算法的负载均衡模式无效。