在一个物理网络拓扑中,通常都是路由器-交换机-PC机的连接,不同的服务器和PC机,通过交换机的连接而相互连通。
在VMwarevSphere架构下服务器会虚拟出交换机来供ESXHost虚拟机来使用,虚拟交换机有两种,vSwitch虚拟交换机和vNetwork分布式虚拟交换机。
首先看下VMware提供的vSwitch的架构图,每个ESXHost均有一个标准vSwitch
一、ESXI的网络组成:
1. 物理网卡在ESXi中,物理网卡名称都叫vmnic,第一片物理网卡为vmnic0,第二片vmnic1,依此类推,如上图片所示的俩片网卡则为vmnic0和vmnic1。在安装完ESXI后,默认会添加第一片网卡vmnic0。vSphere的高级功能,必须通过多片网卡来实现。
2. 虚拟交换机vSwitch由ESXI内核提供,为一个虚拟的交换机,用于连接不同的虚拟机及管理界面。vSwitch可由一块或多块vmnic组成,不同的vSwitch无法使用同一vmnic。默认会安装第一台虚拟交换机vSwitch0,用于主控台,虚拟机联机等功能。
3. 通信端口(组)port/portgroup,主要用于提供ServiceConsole,VmKernel,虚拟端口通信端口组功能
ESX的所有网络操作都是基于port/portgroup与vmnic,vSwitch之间。
4. NICTeam将不同网卡集成到同个信道上,用于增加速度,failover,负载均衡以及其它功能。
二、vSwitch配置
VMwarevSphere虚拟出一个或者多个虚拟交换机vSwitch,vSwitch提供多个虚拟端口提供给虚拟机来进行联网,同时vSwitch通过VMwarevSphere服务器上的物理网卡来与外部的物理网络进行连接。
在VMwarevSphereClient管理esx的配置(configuration)--网络属性(Properties)中可以看到虚拟交换机的状况,如下图esx服务器中只建立一个虚拟交换机vSwitch0,在vSwitch0下有一个VmNetwork,并且有一台虚拟机连接在这个VmNetwork下,另外还有一个ServiceConsole,是这台esx的管理IP地址。
查看vSwitch0的属性,可以看到这个vSwitch配置了120个虚拟端口。
通过编辑我们可以修改vSwitch0的端口数量,最大可以支持到4088个虚拟端口。
可以查看VMNetwork虚拟机端口组的属性,如下图所示
ServiceConsole端口必须配置IP地址,第一个Service默认名称为vswiff0,依此类推;
VMKernel通信端口同样必须配置IP地址,主要用于vMotion,连接存储设备的iSCSI或NFS以及FaultTolerancelog表项等功能。
虚拟机通信端口组(VirtualMachine)用于让ESXI的虚拟机与switch连接,可以是物理switch或vSwitch
1.如下图所示,之前安装ESX的IP地址设置,也可以在这里图形化界面设置。
2.在这里可以配置网卡的vMotion,VLANID,FT等信息
3.网卡流量限制
4.有多块网卡的情况下可以设置网络的负载均衡
5.添加或者删除虚拟交换机所连接的物理网卡
添加的虚拟交换机有3中,一种就是前面我们提到的为虚拟机提供端口的交换机;一种是VMkernel,用来连接iSCSI和NFS存储,或者用来做vMotion;还有一种是ServiceConsole服务控制台,用来配置IP管理esx主机。
看一下添加VMkernel的流程
1)连接类型选择VMkernel使用的vSwitch;
2)选择要加入vSwitch0的网卡,此处由于只有一个vSwitch,因此默认为vSwitch0;
3)输入名称及VLANID;
4)配置VMkernel的IP地址及网关;
5)确认添加VMkernel配置即可。
6.除了默认的vSwitch外我们还可自己添加vSwitch,但是注意,同一块物理网卡vmnic只能配置到一个vSwitch上面。选择新建虚拟交换机使用的网卡虚拟交换机的名称及VLanID确认配置即可,此处省略截图。完成添加之后可以看到esx服务器的网络中多了一个vswitch1的虚拟交换机。
除了标准的虚拟交换机(StandardSwitches)外,VMware还有分布式交换机(DistributedSwitches),分布式vSwitch可以横跨多个ESXHost。使用DistributedvSwitch后,多个ESXHost中的VM如同连接在同一vSwitch上一样,vm可以在任意ESXHost之间迁移。如下图所示,我们建立一个横跨俩个ESXHost的DistributedvSwitch。
总结:理解vSphere的网络结构是后续所有高级功能的关键,vSwitch标准交换机将同一ESXHOST上的不同VM连接在一起,而DistributedvSwitch则将不同ESXHOST上的不同VM连接在同一个虚拟交换机上,使得这些VM在不同ESXHOST迁移时,就如同一直在同一vSwitch端口上一样。