本节任务微课视频
在本任务中,我们将在理解 vSphere 虚拟网络基本概念的基础上创建虚拟机端口组,创建vSphere标准交换机,将虚拟机网络流量与管理网络流量分开。
管理流量用于对ESXi主机进行管理,想要管理ESXi主机,管理流量必须畅通。必须配置和运行一个管理网络,才能够通过网络管理ESXi主机,因此ESXi安装程序会自动创建一个用于管理的VMkernel端口Management Network。在图2.9.4中,ESXi主机管理流量与虚拟机的数据流量都通过虚拟交换机vSwitch0从ESXi主机的vmnic0网卡发送到外部物理网络中。
当虚拟机的流量过大时,可能会影响管理员管理ESXi主机。为了保证管理流量的畅通,管理流量最好与虚拟机产生的网络流量物理分离。
在VMware Workstation中查看VMware ESXi虚拟机的网络类型,VMware ESXi虚拟机的网络类型及虚拟网络编辑器如图2.9.1所示。在这里,VMware ESXi虚拟机的网络类型是NAT模式。在VMware Workstation中,NAT模式对应的虚拟网络为VMnet8,仅主机模式对应的虚拟网络为VMnet1,桥接模式对应的虚拟网络为VMnet0。在VMware Workstation的“虚拟网络编辑器”对话框中,可以看到这 3 个虚拟网络及每个虚拟网络的网络地址。在这里,VMnet8虚拟网络的网络地址为192.168.1.0。
网络类型为 NAT 模式的虚拟机,其网卡连接虚拟交换机 VMnet8,而该虚拟交换机是通过VMware Network Adapter VMnet8虚拟网卡连接本机的,VMnet8虚拟交换机如图2.9.2所示。
图2.9.1 VMware ESXi虚拟
图2.9.2 VMnet 8虚拟交换机
在本机的“控制面板”→“网络和Internet”→“网络连接”中查看VMware Network Adapter VMnet8虚拟网卡的IP地址,在这里,其IP地址为“192.168.1.1”,如图2.9.3所示。
由此可见,当在本机上使用 vSphere Client 管理 ESXi 虚拟机时,本机是通过 VMware Network Adapter VMnet8虚拟网卡连接VMware ESXi虚拟机的IP地址192.168.1.88。本机与VMware ESXi虚拟机之间是通过VMnet8虚拟交换机连接起来的。
图2.9.3 虚拟网卡的IP地址
在“192.168.1.88-vSphere Client”主界面中选择ESXi主机“192.168.1.88”→“配置”→“硬件”→“网络”,查看VMware ESXi主机的虚拟网络拓扑图,如图2.9.4所示。
图2.9.4 查看VMware ESXi主机的虚拟网络拓扑图
(1)“vmnic0 1000全双工”为ESXi主机的物理网卡,该网卡以NAT模式连接VMnet 8虚拟交换机,进而通过VMware Network Adapter VMnet8与本机相连。
(2)“VMkernel端口Management Network”为管理端口,管理员通过此端口对ESXi主机进行管理,其IP地址为192.168.1.88。“虚拟机端口组VM Network”用于连接ESXi主机中的虚拟机,这个端口组是在安装ESXi时自动创建的。虚拟机CentOS 6.5连接“虚拟机端口组VM Network”。
(3)“标准交换机:vSwitch0”为vSphere的虚拟交换机,该虚拟交换机也是在安装ESXi时自动创建的。在这里,ESXi主机只有一个物理网卡,来自Management Network的管理流量和来自VM Network的虚拟机流量都是通过vSwitch0虚拟交换机从ESXi主机的物理网卡vmnic0到达外部网络的。
VMware ESXi主机、虚拟机、虚拟机网卡、虚拟交换机、虚拟机端口组与物理网卡的连接对应关系如图2.9.5所示。
图2.9.5 VMware ESXi主机
目前,ESXi 主机只有一块物理网卡 vmnic0、一个虚拟交换机 vSwitch0,端口组 VM Network对应vSwitch0虚拟交换机。虚拟机CentOS 6.5的网卡连接VM Network端口组,通过vSwitch0虚拟交换机连接ESXi主机的物理网卡vmnic0,最终连接外部物理网络。因此从外部网络,也就是本机的VMnet 8虚拟网络是可以访问虚拟机的。
虚拟交换机用来实现ESXi主机、虚拟机和外部网络的通信,其功能类似于真实的二层交换机。虚拟交换机在二层网络运行,能够保存MAC地址表,基于MAC地址转发数据帧,虚拟交换机支持VLAN配置,支持IEEE802.1Q中继。但是虚拟交换机没有真实交换机所提供的高级特性,例如,不能远程登录(telnet)虚拟交换机,虚拟交换机没有命令行接口(CLI),也不支持生成树协议(STP)等。
vSphere虚拟交换机支持的连接类型包括虚拟机端口组、VMkernel端口和上行链路端口,vSphere虚拟交换机如图2.9.6所示。
图2.9.6 vSphere虚拟交换机
vSphere虚拟交换机分为两种:标准交换机和分布式交换机。
标准交换机(vSphere Standard Switch,vSS)是由ESXi主机虚拟出来的交换机。ESXi在安装之后会自动创建一个标准交换机vSwitch0。标准交换机只在一台ESXi主机内部工作,因此必须在每台ESXi主机上独立管理每个vSphere标准交换机,ESXi管理流量、虚拟机流量等数据通过标准交换机传送到外部网络。当ESXi主机的数量较少时,使用标准交换机较为合适。因为每次修改配置都需要在每台ESXi主机上复制,所以在大规模数据的环境中使用标准交换机会增加管理员的工作负担。
分布式交换机(vSphere Distributed Switch,vDS)是以vCenter Server为中心创建的虚拟交换机。分布式交换机可以跨越多台ESXi主机,即多台ESXi主机上存在同一台分布式交换机。当ESXi主机的数量较多时,使用分布式交换机可以大幅度提高管理员的工作效率。
除了 vSphere 的软件分布式交换机外,还可以选择更强大的第三方硬件级虚拟交换机,如CiscoNexus1000V、华为CloudEngine1800V等。
一般情况下,当数据中心部署的ESXi主机数量少于10台时,可以只使用标准交换机,不需要使用分布式交换机;当数据中心部署的ESXi主机数量多于10台少于50台时,建议使用分布式交换机;当数据中心部署的ESXi主机数量多于50台时,建议使用硬件级分布式交换机。
端口和端口组是虚拟交换机上的逻辑对象,用来给 ESXi 主机或虚拟机提供特定的服务。为ESXi主机提供服务的端口称为VMkernel端口,为虚拟机提供服务的端口组称为虚拟机端口组。一个虚拟交换机可以包含一个或多个VMkernel端口和虚拟机端口组,也可以在一台 ESXi 主机上创建多个虚拟交换机,每个虚拟交换机包含一个端口或端口组。端口和端口组如图2.9.7所示,Management、vMotion、iSCSI为VMkernel端口,Production、TestDev为虚拟机端口组,它们既可以处于同一台虚拟交换机,也可以分别处于多台虚拟交换机。
图2.9.7 端口和端口组
VMkernel 端口是一种特定的虚拟交换机端口类型,用来支持 ESXi 管理访问、vMotion虚拟机迁移、iSCSI存储访问、vSphereFT容错等特性,需要为VMkernel端口配置IP地址。VMkernel端口也叫作vmknic。
虚拟机端口组是在虚拟交换机上的具有相同配置的端口组。虚拟机端口组不需要配置IP地址,一个虚拟机端口组可以连接多个虚拟机。虚拟机端口组允许虚拟机之间的互相访问,还能够允许虚拟机访问外部网络,虚拟机端口组上还能配置 VLAN、安全、流量调整、网卡绑定等高级特性。一个虚拟交换机上可以包含多个虚拟机端口组,一台ESXi主机也可以创建多个虚拟交换机,每台虚拟交换机有各自的虚拟机端口组。虚拟机端口组如图2.9.8所示,ESXi主机创建了第2个虚拟交换机vSwitch1,该虚拟交换机包含虚拟机端口组VMNetwork,有两台虚拟机连接端口组VMNetwork,通过vmnic1物理网卡连接外部网络。
图2.9.8 虚拟端口组
需要注意的是,Mkernel端口是ESXi主机已使用的端口,需要配置IP地址,工作在第3层,严格来说应该叫作“接口”。虚拟机端口组是连接虚拟机的端口,不需要配置 IP 地址,工作在第2层。
虽然虚拟交换机可以为虚拟机提供通信链路,但是它必须通过上行链路与物理网络通信。虚拟交换机必须连接作为上行链路的 ESXi 主机的物理网络适配器(NIC),才能与物理网络中的其他设备通信。一个虚拟交换机可以绑定一个物理 NIC,也可以绑定多个物理 NIC,成为一个NIC组(NIC Team)。将多个物理NIC绑定到一个虚拟交换机上,可以实现冗余和负载均衡等优点。标准交换机组网如图 2.9.9 所示,第 3 个虚拟交换机绑定到了两个物理 NIC上,形成NIC Team。
图2.9.9 标准交换机组网
虚拟交换机也可以没有上行链路,如图2.9.9中的第2个虚拟交换机,这种虚拟交换机只支持内部通信。虚拟机之间的有些流量不需要发送到外部网络,这种虚拟交换机的虚拟机通信都发生在软件层面,其通信速度仅取决于ESXi主机的处理速度。
在图2.9.10中,Management Network是一个VMkernel端口,用来给ESXi主机提供管理访问。VM Network是一个虚拟机端口组,CentOS 6.5虚拟机连接这个端口组。Management Network端口和VM Network端口组都在标准交换机vSwitch0上。
图2.9.10 将vsphere网络专用
下面将在VMware Workstation中为ESXi主机添加一块仅主机模式的网卡,配置VMware虚拟网络如图2.9.11所示。在ESXi主机中创建新的虚拟机端口组,同时创建新的虚拟交换机。新虚拟交换机通过 ESXi 主机的物理网卡 vmnic1 连接外部物理网络,最后将虚拟机 CentOS的虚拟网络连接更改为新的虚拟机端口组。
图2.9.11 配置VMware虚拟网络
关闭ESXi主机,为ESXi主机添加一块仅主机模式的网卡,如图2.9.12所示。
图2.9.12 为ESXi主机添加一块仅
开启ESXi主机,使用vSphere Client连接ESXi主机。在“192.168.1.88-vSphere Client”主界面中选择ESXi主机“192.168.1.88”,切换到“配置”选项卡,单击“硬件”→“网络适配器”,可以看到ESXi主机识别出两块网卡vmnic0、vmnic1,如图2.9.13所示。
图2.9.13 在vSphere CIient中查看添
选择“配置”选项卡中的“硬件”→“网络”,单击右上方的“添加网络…”,如图2.9.14所示。
图2.9.14 添加网络
选择“连接类型”为“虚拟机”,如图2.9.15所示,单击“下一步”按钮。
图2.9.15 选择“连接类型”为“虚拟机”
选择“网络访问”为“创建vSphere标准交换机”,选择“vmnic1”复选框,如图2.9.16所示,单击“下一步”按钮。
图2.9.16 创建vSphere标准交换机
配置端口组的网络标签,在这里配置为默认的“VM Network 2”,如图2.9.17所示,单击“下一步”按钮。
图2.9.17 配置端口组的网络标签
完成添加网络向导,如图2.9.18所示。
图2.9.18 完成添加网络向导
此时可以看到ESXi主机创建了一个新的标准交换机vSwitch1,该虚拟交换机包含虚拟机端口组VM Network 2,上行链路端口为vmnic1,如图2.9.19所示。
图2.9.19 查看创建的“标准交换机vSwitch1”
打开“CentOS 6.5-虚拟机属性”对话框,在“网络适配器 1”处,“网络标签”选择“VM Network 2”,如图2.9.20所示。
图2.9.20 更改网络标签
在ESXi主机的“配置”→“网络”中可以看到虚拟机CentOS 6.5连接虚拟机端口组VM Network 2,如图2.9.21所示。
图2.9.21 虚拟机连接VM Network 2端口组
将虚拟机CentOS的IP地址配置为VMware Workstation的VMnet1虚拟网络所在地址段192.168.88.0/24中的IP地址。如果CentOS的IP地址配置为自动获取,则重新启动网络服务即可,如图2.9.22所示。
图2.9.22 重新配置CentOS的IP地址
从本机ping虚拟机CentOS的IP地址,这时可以ping通,如图2.9.23所示。
图2.9.23 测试虚拟机与主机的连通性
从本机Xshell到虚拟机CentOS的SSH连接也没有问题。在本机执行[netstat-an]命令,如图 2.9.24 所示第1行,本机与虚拟机的 SSH 连接信息为“TCP 192.168.88.1:55306 192.168.88.128:22 ESTABLISHED”,即本机与虚拟机 CentOS 是通过 VMnet1 虚拟网段192.168.88.0/24 连接的。而本机与 ESXi 主机的管理网络连接是通过 VMnet8 虚拟网段192.168.1.0/24连接的。ESXi主机的管理流量通过vmnic0网卡连接VMnet8网络,虚拟机的流量通过vmnic1网卡连接vmnet1网络,实现了管理流量与虚拟机流量的分离。
图2.9.24 在本机执行
至此,虚拟机产生的流量与管理ESXi的流量已经分开,此任务结束。