VMware vSphere-虚拟网络

VMware vSphere 网络介绍

虚拟网络通信原理

ESXi主机通过模拟出一台Virtual Switch(虚拟交换机)主机内虚拟机进行对外通信,功能相当于一台二层交换机。

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

虚拟网络组件

1、Standard Switch

标准交换机 ,简称“vSS”。vSS是由ESXi主机虚拟出来的交换机。在ESXi主机安装完成后会自动创建一个标准交换机vSwitch0,提供管理、虚拟机外界通信等功能。除了默认的vSwitch,还有vSwitch1用于iSCSI,以及vSwitch2用于vMotion。

生产环境中,根据需求创建多个vSS对流量进行分离,提供冗余。

2、Distributed Switch

分布式交换机,简称“vDS”。vDS是跨多台ESXi主机的虚拟交换机,能够设置跨所有成员主机的网络配置,并使得虚拟机可在跨多个主机进行迁移时保持其网络配置一致。

由于vSS需要在每台ESXi主机进行配置,所以当ESXi主机过多时,vSS将会加大管理人员工作量,vDS适用于这种场景。

3、vSwitch Port

虚拟交换机端口,虚拟交换机的端口。默认一个vSwitch有120个端口。

4、Port Group

端口组,可针对不同的Port Group进行VLAN及流量控制等方面的配置,也可将虚拟机划入不同的Port Group,这样可以满足不同优先级的网络使用率。

生产环境中,可根据不同的应用创建端口组

5、Virtual Machine Port Group

虚拟机端口组,vSwitch0默认会创建一个虚拟机端口组,供虚拟机与外部网络通信使用。

生产环境中,建议管理网络与虚拟机端口组进行分离

6、VMkernel Port

VMkernel Port是一个的特殊端口,用于运转特殊的流量,例如:管理流量、iSCISI流量、NFS流量、vMotion流量等。

虚拟机端口组不需要配置IP地址,VMkernel Port必须配置IP地址

虚拟网络VLAN

1、External Switch Tagging

简称“EST”模式,这种模式下只需要将ESXi的物理网卡直接划入VLAN,再将物理交换机端口划入指定VLAN,该端口就可以传递相应VLAN信息。

2、Virtual Switch Tagging

简称‘VST”模式,这种模式要求ESXi主机的物理网卡和物理交换机对应的端口模式要为Trunk模式,同时ESXi主机需要开启Trunk模式,端口组就可以获取VLAN信息。此模式需要先在物理交换机上配置Trunk模式,然后在ESXi主机对应网络的端口组配置VLAN信息。

虚拟网络 NIC teaming

NIC teaming是指将多个网卡进行绑定,实现冗余以及负载均衡。

1、Originating Virtual Port ID

基于源虚拟端口的负载均衡,这是ESXi主机网络默认的负载均衡方式。系统会将虚拟网卡和虚拟交换机所对应的物理网卡进行绑定,流量始终走绑定的网卡,除非绑定的网卡故障,故障后才会尝试走其他能够活动的网卡,基于源虚拟端口的负载均衡不属于动态负载均衡,但实现了故障冗余备份功能。

2、Source MAC Hash

基于源MAC地址哈希算法的负载均衡,当虚拟机只有一个网卡时,这种方式与基于源虚拟端口的负载均衡相识,参考基于源虚拟端口的图。当虚拟机有多个虚拟网卡时,此时是虚拟机多MAC模式,通过基于源MAC地址负载均衡算法,虚拟机可能使用不同的ESXi主机物理网卡对外通信,实现负载均衡。

3、IP Base Hase

基于IP哈希算法的负载均衡,IP哈希是基于源IP地址和目标IP地址计算出一个散列值,源IP地址和不同目标IP地址计算的散列值不一样,当虚拟机与不同目标IP地址通信时使用不同的散列值,这个散列值就会走不同的物理网卡,这样就可以实现动态的负载均衡。

在ESXi主机网络上使用基于IP哈希算法的负载均衡,还必须满足一个前提,就是物理交换机必须支持链路聚合协议(Link Aggregation Control Protocol)以及思科私有的端口聚合协议(Port Aggregation Protocol),同时要求端口必须处于同一物理交换机(如果使用思科Nexus交换机Virtual Port Channel功能不需要端口处于同一物理交换机),也就是说如果交换机不配置使用链路聚合协议,那么基于IP哈希算法的负载均衡模式无效。

网络虚拟化NSX

介绍

NSX是一个支持虚拟云网络的网络虚拟化和安全性平台,能够以软件定义的方式实现跨数据中心、云环境和应用框架进行延展的网络

NSX Data Center是VMware网络虚拟化的解决方案,借助NSX Data Center可以使网络和安全性更贴近应用,而无关应用在何处(虚拟机、容器、裸机)运行。

软件形式的网络VMware NSX Data Center提供了一种通过软件定义的全新网络运维模式,构成了软件定义数据中心的基础并延展至虚拟网络。人们可以通过利用NSX Data Center API的任何云计算管理平台在虚拟网络中对包括逻辑交换、路由、防火墙保护、负载均衡、虚拟专用网络、服务质量和监控的服务进行调配。虚拟网络可以部署在任何现有的网络硬件上,并可跨越数据中心、公有云和私有云、容器平台和裸机服务器进行延展。

NSX-T

VMware NSX早期发布有NSX-V及NSX-T两个版本,NSX-V用于VMware vSphere环境,NSX-T用于非VMware vSphere环境(KVM、Hyper-V等)。从VMware vSphere 7.0开始,仅发布NSX-T版本,同时提供NSX-V向NSX-T迁移的方式。

主要功能特性

工作方式

NSX-T的工作方式是实施3个单独的一体式平面:管理平面、控制平面、数据平面

  • 每个节点托管一个管理平面代理
  • NSX Manager 集群托管API服务。每个NSX-T安装实例均支持一个由3个NSX Manager 节点组成的集群组
  • 传输节点托管本地控制平面守护程序和转发引擎
1、数据平面

数据平面根据控制平面填充的表执行无状态数据包转发/转换,向控制平面报告拓扑信息,并维护数据包级别统计信息。

2、管理平面

管理平面提供一个系统API入口点,维护用户配置,处理用户配置,处理用户查询,并在系统中的所有管理平面节点、控制平面节点和数据平面节点上执行运维任务

NSX还包含管理平面代理(MAP),该代理可在所有集群的传输节点上运行。MPA通常独立于控制平面和数据平面运行,并且可单独重新启动,但在某些场景中,它们在同一主机上运行,因此具有相同的状态。MPA支持本地访问和远程访问。MPA在传输节点、控制节点及管理节点上运行,用于执行节点管理。MPA也能在传输节点上执行与数据平面有关的任务。

3、NSX Manager

NSX Manager 提供图形用户界面和REST API,用于创建、配置和监控NSX-T组件,如控制器、分段和边缘节点

NSX Manager 是用于NSX-T生态系统的管理平面。NSX Manager提供聚合的系统视图,是NSX-T的集中式网络管理组件。它提供了一种监控连接到NSX-T创建的虚拟网咯上的工作负载,并对其进行故障排除的方法。

提供的配置和编排:

  • 逻辑网络连接组件:如逻辑交换机和路由器。
  • 网络连接和边缘网关服务。
  • 安全服务和分布式防火墙:可由NSX Manager的内置组件或集成的第三方供应商提供。

NSX Manager 提供REST API入口点以供自动使用。借助这种灵活的体系架构,可通过任何云计算管理平台、安全提供商平台或自动化框架自动执行所有配置和监控工作。

NSX-T管理平面代理MPA是一个NSX Manager组件,位于每个节点上。MPA负责制定系统的理想状态,以及传输节点于管理平面之间传送非流量控制(Non-Flow Control,NFC)消息,如配置、统计信息、状态、实时数据。

在较早版本中,NSX Manager功能由独立设备提供。从NSX-T 2.4开始,NSX Manager功能集成到NSX Contorller中,采用完全激活的集群配置。减少了需要运维的基础架构虚拟机,也在各个NSX Manager节点中提供了可扩展性和恢复能力。

4、NSX Controller

NSX Controller 是一种高级分布式状态管理系统,可控制虚拟网络和叠加传输安全加密链路

5、N-VDS 交换机

N-VDS 交换机在NSX平台中发挥的作用,能够像创建虚拟机一样灵活、敏捷地创建隔离式L2网络

6、网关路由器
网关路由器

NSX-T 网关路由器提供南北向连接和东西向连接,使租户可以访问公共网络,并且还能实现在同一租户内的不同网络连接

网关路由器是传统网络硬件路由器的一个已配置分区,通常被称为虚拟路由和转发(Virtual Routing and Forwarding,VRF)。它可以复制硬件的功能,从而在单个路由器内创建多个路由域。网关路由器执行可由物理路由器处理的部分任务,每个网关路由器可以包含多个路由实例和路由表。使用网关路由器能够最大提高成都提高路由器使用率,因为单个物理路由器的网关路由器可以执行由多台设备执行的操作。

Tier-0&Tier-1

NSX-T支持两层逻辑路由器拓扑,分别为**第0层(T0)的顶层网关路由器和第1层(T1)**的次顶层网关路由器。这种结构为供应商管理员和租户管理员提供可以控制对其服务和策略的完全控制权。供应商管理员控制和配置T0的路由和服务,租户管理员控制和配置T1的路由和服务。

T0 北边缘网关与物理网络相连接,可以在其中配置动态路由协议以便与物理路由器交换路由信息。T0南边缘网关连接一个或者多个T1路由器,并接受这些层的路由器的信息。为了优化资源使用,T0层不会将物理网络的所有路由推送到T1,但会提供默认路由信息。

T1 路由器托管由租户管理员定义的南向逻辑交换机分段接口负责,同时在接口之间还提供单跃点路由功能。为了能够从物理网络连接到第1层挂接的子网,必须启用到第0层的路由并重新分发。这种分发不会由第1层和第0层之间运行的传统的路由协议(OSPF、BGP等)执行,而是层间路由借助NSX-T控制平面直接传输至适当的路由器。

两层路由拓扑不是必须的,如果不需要实现供应商/租户隔离,则可以实施单个T0拓扑。在此场景中第2层分段直接连接到第0层,且未配置第1层路由器。

DR&SR

网关路由器的组成:一个分布式路由器(Distributed Router,DR)和一个或多个服务路由器(Service Router,SR),后者是可选的。

DR 基于内核、横跨节点来向连接到它的虚拟机提供本地路由功能,并且还存在于与逻辑路由器绑定的任一边缘节点中。DT负责在逻辑交换机和连接到该逻辑路由器的网关路由器之间实现单跃点分布式路由。

SR 负责交付当前未以分布式方式实施的服务,如有状态NAT、负载均衡、DHCP、VPN服务。SR部署在最初配置T0/T1路由器时选择的边缘节点集群上。

无论NSX-T中的网关路由器是作为T0还是T1部署,始终都会有与之相关联的DR。
如果满足以下条件,它还会创建一个相关联的SR

  • 网关路由器是第0层路由器时,即使未配置有状态服务,也会创建
  • 网关路由器是链接至第0层路由器的第1层路由器,并且已配置未进行分布式实施的服务(NAT、LB、DHCP、VPN)

NSX-T管理平面(MP)可自动创建将服务路由器连接到分布式路由器的结构。MP在分配VNI和创建传输分段后,会在SR和DR上配置端口,以便将它们连接到传输分段。MP会自动为SR和DR分配唯一的IP地址。

7、NSX Edge 节点

提供路由服务,以及与NSX-T外部的网络的连接。

当位于不同NSX分段上的虚拟机工作负载通过T1与其他悉尼及工作负载进行通信时,将使用分布式路由器(DR)功能以优化的分布式方式来路由流量。但当虚拟机工作负载需要与NSX环境外的设备通信时,将使用托管在NSX Edge节点上的服务路由器(SR)。如果需要有状态服务,无论有状态服务时与T0还是T1相关联,都由SR执行此功能和接受流量。

NSX Edge节点的常见部署包括DMZ和多租户云计算环境。在多租户云计算环境中,NSX Edge节点可使用服务路由器为每个租户创建虚拟边界。

8、传输域

传输域可以控制逻辑交换机能够连接到的主机。它可以跨越一个或多个主机集群。传输域可指定哪些主机及虚拟机有权使用特殊网络。

传输域可以定义一组能够跨物理网络基础架构彼此进行通信的主机。(此通信通过一个或多个定义为安全加密链路端点的接口进行。)

如果两个传输节点位于同一传输域中,则托管在这些传输节点上的虚拟机可以挂接到同样位于该传输域中的NSX-T逻辑交换机分段。借助此挂接,虚拟机可以相互通信,但前提是虚拟机可连接第2层/第3层。
如果虚拟机连接到位于不同传输域内的逻辑交换机,则虚拟机之间无法相互通信。传输域并不会替代第2层/第3层可连接性要求,但会给可连接性设定限制。

如果节点至少包含一个HostSwitch,则可用作传输节点。创建主机传输节点并将其添加到传输域时,NSX-T会在主机上安装一个HostSwitch。HostSwitch用于将虚拟机挂接到NSX-T逻辑交换机分段,以及创建NSX-T网关路由器上行链路和下行链路。在以前的NSX版本中,HostSwitch可以托管单个传输域,而配置多个传输域则需要节点上有多个HostSwitch,从NSX 2.4起,可以使用同一个HostSwitch配置多个传输域。

参考资料

1.《VMware vSphere 7.0 虚拟化架构实战指南》 何坤源 著
2.VMware vSphere 产品文档