2.3.2 VMware网络定时器

    要了解服务器虚拟化,首先要懂得虚拟机管理程序的网络基础,它属于图2-2中所示的“互连端点A”部分。本章选择VMware ESX服务器作为I型虚拟机管理程序平台的代表,ESX服务器主机通过一个软件虚拟交换机,连接到本地VM以及网络(光纤模块)中。

    ESX服务器网络组件

    VMware虚拟化环境中的网络接口卡(Network Interface Card,NIC),是一个比物理硬件单元含义更广的术语。确切地说,vmnic是指主机服务器硬件中的物理网络适配器,而vNIC代表虚拟NIC,它是由VMware的硬件抽象层(Hardware Abstraction Layer,HAL)提供给VM的虚拟硬件设备。Vmnic用于通往物理DC光纤模块的上行链路中,在用户OS看来,vNIC和物理NIC一样。VMware能够模仿几种常见的NIC(vlance和Intel e1000),因而用户OS可以对这些vNIC使用标准的设备驱动。图2-5展示了ESX主机的各类接口,在物理主机(ESX服务器)上有4个vmnic以及4个VM,每个VM都单独配置了一个vNIC,vmnic及vNIC均通过虚拟交换机进行连接。

    2.3.2 VMware网络定时器 - 图1

    图 2-5 ESX服务器接口

    主机上运行的VMware ESX带有一个虚拟管理端口vswif,也称为服务控制接口,ESX服务器使用该接口与VMware vCenter服务器进行通信,管理与VMware vSphere客户直接交互的主机,也可以使用安全外壳(Secure Shell,SSH)登录到主机的命令行接口(Command-Line Interface,CLI)。VMware ESXi主机因为没有服务控制OS,所以不会使用vswif接口。

    说明:服务控制OS是一个更新的Red Hat企业linux OS版本,默认安装并运行在每个ESX服务器上。

    每个主机都拥有一个或多个虚拟端口,称为虚拟机器核心NIC(Virtual Machine Kernel NIC,vmknic),VMware ESX分别使用这些端口为Internet SCSI(iSCSI)、网络文件系统(network file system,NFS)访问、VMware VMotion提供服务。Vmknics还可以用于VMware ESXi系统中,与VMware vCenter服务器进行通信。

    说明:与传统(完备)ESX相比,ESXi属于“瘦”虚拟机管理程序,因为它没有服务控制功能。由于ESXi相对轻便,安装和启动都比ESX要快得多,因此,可以将ESXi嵌入到物理服务器的flash芯片,或者主板等中间。

    VMware提供了两种类型的软件虚拟交换机:vNetwork标准交换机(vNetwork Standard Switch,vSS,也称为vSwitch)以及VMware vNetwork分布式交换机(vNetwork Distributed Switch,vDS)。每个主机都会单独配备一个vSS。另一方面,vDS在一组物理主机之间提供了一致的虚拟交换机,这将有助于减少网络维护工作,同时借助网络VMware VMotion就能够实现VM在任意主机间的迁移,而不会对网络协议带来影响或对基本连通性产生破坏。

    每一个vNIC都通过端口组连接到标准的vSS或者vDS,每个端口组都属于某个特定的vSS或者vDS,系统也将定义一个VLAN或一组VLAN供vNIC使用。此外,端口组能够指明其他网络属性,比如速率限制以及端口安全等。在随后创建VM的阶段中,编辑VM属性时,可以将VM分配给端口组。

    Cisco Nexus 1000也属于vDS,本章将把它作为分布式虚拟交换机平台的样例,更多有关Nexus 1000的详细内容,请参考2.3.3节的相关内容。

    vNIC MAC地址及VM迁移

    ESX3.x版本的VM能够支持4个vNIC,ESX4.x版本的VM最多能够支持10个nNIC。大多数情况下,vNIC介质访问控制(Media Access Control,MAC)地址由ESX服务器自动生成,不过,管理员也可以静态地定义MAC地址以方便基于DHCP的服务器寻址环境,与静态指定的MAC地址关联的固定IP地址通常都会分配给同一VM。

    如果VM之间产生了MAC冲突,ESX服务器主机能够检测到冲突并解决冲突。00:50:56:00:00:00到00:50:56:3F:FF:FF的地址范围是留给静态分配的VM MAC地址,管理员为VM分配的静态MAC地址不能超过该范围。

    每个VM都拥有一个带有.vmx后缀的VM参数文件,包含了自动生成的MAC地址信息。文件中还包含了地址生成算法以及定位信息,所以如果移走该文件,VM的MAC地址也可能会发生变化。

    使用Vmotion功能特性,ESX服务器可以在ESX服务器集群中将VM从一个物理的ESX服务器迁移到另一个服务器之上。VMotion迁移不会对MAC地址产生影响,如果一个VM使用VMotion从一个ESX服务器迁移到其他服务器上,该VM的MAC地址不会发生改变,因为VMware虚拟机器文件系统(Virtual Machine File System,VMFS)的卷位于SAN上,无论是源ESX主机还是目标ESX主机都能访问到这一信息。

    vNetwork标准交换机的局限

    VMware将vSS视为虚拟机管理程序的一部分,ESX3.5(作为vSwitch)、ESX4.0以及vSphere 4(作为vSS)都支持该功能。VM通过vNIC连接到vSS,如果两个VM分别带有一个vNIC并连接到同一个vSS,相互之间希望通信,vSS将直接承担起一个L2交换功能,不需要将网络传输流转发到物理或外部DC光纤模块完成。因为嵌入式vSS的主要优势就在于其简单,所以每个虚拟机管理程序都带有一个或更多的vSS的独立实例。不过,vSS的局限性则超过了它的优势:

    ·配置缺乏可扩展性:因为每个嵌入式vSS都代表了配置(对每个ESX服务器都具备局部重要性)中一个独立点,所以当在DC中需要部署多个ESX服务器时,将遇到配置可扩展问题。

    ·贫乏的操作可控性:大多数情况下,网络管理员访问不到vSS,因此尽管vSS也是网络的一部分,但并不如其他DC基础设施一样易于管理,因而在由vSS(也同样被看成不受控的网络设备)创建的非受控网络上对VM进行维护和安全管理也逐渐成为服务器(或VM)管理员所面临的挑战,特别是当系统中VM数目不断增加时更是如此。vSS会在DC基础设施关键部位——服务器集群中引起严重的操作不一致性。

    说明:当物理服务器散乱伴随着VM产生时,同样也会带来另一种散乱——VM散乱。因此简化VM配置的管理以及维护对服务器虚拟化非常重要。

    分布式虚拟交换机

    嵌入式vSS的局限性可采用分布式虚拟交换机(Distributed Virtual Switch,DVS)来克服,DVS能够同时支持多达64个ESX主机交换,而不需要像vSS一样对每个主机进行单独配置。DVS从根本上将嵌入式虚拟交换机的控制及数据平面分离,它支持由集中管理系统(控制平面)对多个、相互独立的vSS(数据平面)进行管理,有效地使服务器管理员从主机级别网络配置中抽身而出,转到ESX集群级别的网络连通性管理上。

    VMware上实现的DVS也称为vNetwork分布式交换机(VNetwork Distributed Switch,vDS),可以通过VMware vCenter服务器完成vDS配置。Cisco使用Nexus 1000V系列交换机对DVS上的框架进行调整,ESX/i 4.0以及vSphere 4及以上版本均支持DVS。

    总而言之,我们更推荐使用Nexus 1000V系列DVS,因为与vDS相比,前者功能更丰富,健壮性也更好。Nexus 1000V交换机是本章探讨DVS平台的样例,更多有关Nexus 1000V系列交换机的详细内容,请参考2.3.3节的相关内容。