下一代数据中心交换网络:云计算虚拟化交换网络2

日期: 2011-12-01 作者:李海平 来源:TechTarget中国

  简单来讲,计算资源虚拟交换网络就是在物理主机内部,虚拟机管理平台为了实现同一物理机或不同物理之间虚拟机通信而实现的软件交换机。为了便于大家理解虚拟交换网络原理,下面以VMware虚拟交换网络概念为例介绍:

虚拟交换机概念一览表

英文名称

中文名称

描述

vNetwork Standard Switch

标准交换机

VMware ESXESXi内置软件交换机,用于实现同一物理机内不同VMware虚拟机通信,是基本网络数据转发平面。

vNetwork Distributed Switch

分布式交换机

虚拟交换增强版本,连接位于不同物理机不同VMware虚拟机通信,可以认为是可扩展、开放的虚拟网络控制平面。

Service Console Port

控制台管理接口

VMware ESX平台才有,可单独配置IP地址,用于访问ESX服务器管理服务,接口名是vswif,更高级网络控制平面。

VMkernel Port

VMware内核特别功能接口

可单独配置IP地址内核接口,实现虚拟管理平台特定功能例如vMotionFault ToleranceLoggingiSCSINFS等。

Virtual Machine Port Group

虚拟机端口组

允许配置同一端口组的虚拟机操作系统互相访问,若把vmnicsVMware上联物理网卡)加入了端口组,则组内的虚拟机可与物理主机外的其他网络主机通信。相当在软件交换机内做了网络分组VLAN

Virtual Network Interface Card

虚拟网络接口卡

虚拟机客户操作系统内部的网卡接口名,别名又称vnic,工作负载应用通过它与外界交互。

 
图5 虚拟化交换网络示意图(VMware软件交换)

  虚拟化交换网络接口分两大类,一类是位于虚拟化支撑操作系统内部,另一类是位于虚拟客户机操作系统内部。虚拟化支撑操作系统内部网络接口有IP存储网络接口(NFS或iSCSI,需要约2G带宽,存取虚拟机映像或用户数据),资源调度和虚拟机飘移网络接口(如vMotion,一般最大消耗是3.6Gbps带宽,传递飘移信息),保证虚拟机高可用网络接口和容错日志接口(Fault Tolerant Logging,消耗约4Gbps带宽,同步高可用信息)。虚拟化客户机操作系统需求则比较简单,只要客户操作系统内部虚拟接口。从图5,我们看到,每个虚拟化支撑平台内核本身就需要5个通信接口,而每个虚拟化客户机至少配置一个虚拟化接口,每个接口都需要独立IP和MAC地址。为了简化虚拟化软件交换机复杂性、构建更加开放的IT虚拟化生态环境,VMware提供了VNetwork控制平面接口,第三方软件厂家可以自己开发独立虚拟化控制平面交换机,或网络硬件厂家开发出虚拟化管理平台插件,与VMware虚拟化管理平台整合集成,自动化调度网络设备硬件配置随虚拟机飘移而变化。比如Cisco公司Nexus 1000V就是第三方软件交换机解决方案,Force10等还提供了基于VMware虚拟化交换机符合VNetware规范的控制平台插件,与VMware飘移策略集成,虚拟化计算节点智能感知,实现虚拟机调度是网络自动化调度,这里就不费篇幅赘述了,有兴趣读者可以在网上查找资料。

  计算资源内部虚拟交换网络挑战

  随着虚拟化和云计算的深入发展,人们发现藏在虚拟操作系统内的虚拟化交换机越来越成为头痛的问题。根据IDC统计(图6),到2013年底虚拟机部署数量将是物理机的2.5倍,达到8千2百万台,虚拟机节省了大量的物理购买成本,但在管理复杂度上面造成运营成本增加也非常显著。虚拟交换机既要与现有虚拟管理平台兼容,又要应对高度动态变化端设备,维护虚拟逻辑抽象链接,集成与交换硬件设备功能,从移动性、机动性、维护性和集成性分类如下:

  • 跟踪设备移动状态。网络端节点实体(比如虚拟机)的网络状态需要简单确定,不同主机之间可相互迁移节点状体。这些状态包括传统“软状态”,比如数据链路层学习表、三层路由转发状态、路由策略状态、访问控制列表、服务质量策略、配置监控及结构化自动化系统等。简单来讲,就是每个虚拟机移动时,其所带虚拟接口策略如何主动随之漂移。

  • 响应网络动态变化。虚拟化环境最大特点是网络高度状态变化。跟踪虚拟机加入和离开,虚拟机往前或往后即时移动,逻辑网络环境快速变化,开放式控制平面控制流量和全局网络自动发现管理。而且由于虚拟机动态变化,防火墙和入侵检测系统无法有效随之变化而保护它们,无法做到及时被动有效反应。更极端情况是,虚拟机机动性变化常常跨越了不同的组织边界,尤其在公共云环境。

  • 维护虚拟化逻辑标记。分布式虚拟交换机通常通过增加或管理虚拟机网络数据,来维护虚拟网络或逻辑区域上下文,这是容易理解的简单方式,问题是正确和高效管理这些虚拟化标记非常困难。增加网络标记,就增加新一层网络信息,从另一方面间又增加了网络复杂度。为简化管理和提高效率,常常需要优化虚拟机标记存储方式,包括保存虚拟化地址或重新映射、配置、修改和迁移标志。

  • 集成操作系统和硬件。把虚拟数据转发路径设计成“卸载”模式,数据包处理由硬件芯片完成,以独立软件或硬件芯片方式实现灵活控制,增加虚拟化网络性能。独立软件开发商还可以使用接口增强虚拟边界网络功能,减少硬件交付到应用交付的负面影响,从而简化、加速和减轻可扩展云的网络管理。


  图6 逻辑主机与物理主机增长趋势图

  开放虚拟化软件交换机(Open vSwitch)体系架构简介

  随着虚拟化应用普及,需要部署更多虚拟化软交换交换机,而费用昂贵的闭源虚拟交换机让用户不堪重负,于是一群开源社区奉献者开发出了多层虚拟化软件交换机Open vSwitch,它遵循Apache 2.0开源代码版权协议,可用于生产环境,支持跨物理服务器分布式管理、扩展编程、大规模网络自动化和标准化接口,实现了和大多数商业闭源交换机功能类似的软件交换机。 

       
         
 图7 Open vSwitch内部通信图 

              
 图8 Open vSwitch功能结构图

  Open vSwitch基本部件分为三个部分,其一是ovs-vswtichd守护进程,慢速转发平面,位于用户空间,完成基本转发逻辑包括地址学习、镜像配置、802.1Q VLAN、LACP协议、外部物理端口绑定基于源MAC和TCP负载均衡或主备方式,可以通过OpenFlow远程配置和管理,sFlow、NetFlow或SPAN端口镜像方式保证网络可视性,配置后数据交由ovsdb-server进程存储和管理;其二是核心数据转发平面openvswitch_mod.ko模块,它位于内核空间,完成数据包查询、修改、转发,隧道封装,维护底层转发表,是快速数据转发平面;其三是控制平面OpenFlow,不同物理机的软件交换机通过OpenFlow控制集群组成分布式虚拟化交换机,还实现不同租户虚拟机隔离实现。每个数据转发保持一个OpenFlow链接,没有在转发平面出现的数据流在第一次通过软件交换机时,都被转发到OpenFlow控制平台处理,OpenFlow根据2-4层信息特征匹配,定义转发、丢弃、修改或排队策略,然后第二次数据转发时就直接由核心转发模块处理,加快了后续数据处理过程。根据有关测试报告,Open vSwtich与Linux Bridge表现性能相差无几。

  Open vSwitch不但可以独立软件方式在虚拟机管理器内部运行,比如Xen、 XenServer、KVM、Proxmox VE和VirtualBox等虚拟机支撑平台,还可以可部署在硬件上,作为交换芯片控制堆栈。Citrix公司已把Open vSwitch作为XEN Cloud Platform平台缺省内置交换机,Open vSwitch版本1.1.0pre2支持如下功能:

  • 支持NetFlow、sFlow(R)、SPAN和RSPAN,监视虚拟机之间通信
  • 支持标准802.1Q VLAN Trunk
  • 保证最大、最小细分服务质量保证QoS
  • 可按虚拟机接口分配流量,定制策略
  • 支持绑定网卡、基于源MAC地址负载均衡
  • 支持OpenFlow控制平面协议
  • 支持本地Python绑定的远程配置协议
  • 支持以太网GRE隧道连接
  • 兼容Linux桥接代码
  • 支持可选内核或用户空间转发引擎
  • 流缓冲引擎实现多表转发管道

  增强虚拟化软件交换机性能

  因为虚拟化软件交换机基于服务器内部处理,消耗大量CPU资源和IO资源,为了提高转发性能,各个组织如CPU厂家Intel、AMD和PCI工业协会一直积极推进提高虚拟化性能。第一种性能提高方式是虚拟主机IO页面地址直接访问功能,Intel VT-x功能是允许虚拟机直接访问由VMM(Virtual Machine Monitor)配置的物理内存空间,直接路径I/O存取,加速DMA数据存取。Intel VT-d与VT-d功能类似,使用DMA描述符号标识虚拟机I/O地址空间,它们共同点是都需要做虚拟机I/O地址转换到物理I/O地址工作,与物理I/O资源需要一一对应关系,无法做到一对多,只能实现虚拟化对应物理资源性能提高,无法I/O资源共享;第二种性能提高方式是卸载软件网络功能到物理网卡,VMDq (Virtual Machine Direct Queue) 就是基于网卡硬件加速的技术,提高虚拟化环境下网络I/O性能。VMDq网卡实现了二层交换机部分功能,分拣和分类数据包,轮询传输,传统模式下由软件交换机实现,据说可以提高2倍性能,但是还需要VMM复制网络数据包;第三种性能提高方式是SR-IOV实现IO设备资源共享,SR-IOV网卡内嵌具有完整功能、支持广播的二层交换机,是基本网络转发平面,由CPU的VMM管理,可实现更加数据分拣、分类与安全等控制平面,还有一些简单QoS控制平面功能。资源共享方式是PCI Mgr (SR PCIM)给每个虚拟机分配一个单独虚拟功能号VF(Virtual Function),最大支持256个子设备号256个虚拟机。性能提高方式是虚拟化软件交换机完成初始资源(CPU、内存和IO虚拟)分配管理,保留基本网络控制平面。建立数据转发连接后,虚拟机虚拟网卡之间通过VF直接转发数据,无需经过主机虚拟化软件交换机,从而加速了虚拟化交换性能。其他性能提高方式还有Intel VT-c/VMDc功能(Virtual Machine Direct Connectivity)实现同一物理口不同虚拟机和虚拟功能之间直接通信模式,可以动态指定不同虚拟机虚拟网卡专用带宽,限于篇幅,这里就不多述了。

 

图9 SR-IOV系统结构图

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

李海平
李海平

暂无

相关推荐

  • 下一代数据中心交换网络:云计算虚拟化交换网络

    下一代数据中心交换网络:云计算虚拟化交换网络。在云计算漫漫之旅上,虚拟化将是我们建设架构即服务云不得不跨越的一道坎,而大规模部署虚拟化更是给传统数据中心管理模式、服务器、存储和网络架构规划管理带来巨大的挑战。

  • 下一代数据中心交换网络:云计算虚拟化交换网络4

    同一物理节点部署了多台虚拟节点,虚拟机可用性就会受制于物理节点可用性,为了减少来自物理节点可用性影响,就必须让虚拟机在不同物理机之间保持高可用性。不但如此,资源调度以虚拟机飘移方式实现。

  • 下一代数据中心交换网络:云计算虚拟化交换网络3

    熟悉IT发展历史的人都知道,IT技术发展趋势总是这样,进入者在软件上突破和实现,不断应用于客户和取得市场反馈,然后随着性能提升要求和硬件技术发展,移植到高速、简洁的ASIC上,虚拟化交换网络领域也不外乎遵循这样变化轨迹。

  • 下一代数据中心交换网络:云计算虚拟化交换网络1

    在云计算漫漫之旅上,虚拟化将是我们建设架构即服务云不得不跨越的一道坎,而大规模部署虚拟化更是给传统数据中心管理模式、服务器、存储和网络架构规划管理带来巨大的挑战。