基于MAC层的虚拟平台QoS实现

2012-04-29 18:06张曙
电脑知识与技术 2012年34期
关键词:虚拟机虚拟化服务质量

张曙

摘要:云计算服务的普及,越来越多的数据中心(DataCenter)开始提供云计算服务,并以VirtualMachine基础的虚拟化解决方案为大宗,目前的VM平台皆有快速部署与管理的能力,但VM平台在网络频宽上的管理还有其努力改善的空间。该论文的主旨在讨论如何在不改变云数据中心的虚拟化网络架构与不增加管理复杂度的前提下,利用在MAC层上的QoS机制,延伸至VM平台环境实现QoS,达到网络频宽资源有效的管理,满足各种云计算服务的需求。

关键词:服务质量;虚拟化;虚拟机;数据中心

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)34-8238-03

随着云计算服务的应用增加,越来越多的数据中心(DataCenter)开始提供云计算服务,不但如此现有的IT相关的服务也迈向云化发展,使用者只要连结因特网即能随时随地的使用这些服务资源。云化的结果使得计算资源更能动态地分享与预留,且更具弹性与更有效率的运作。

由于云计算服务的需求增加,数据中心提供以VirtualMachines,VM基础的虚拟化解决方案,正快速的普及当中,甚至有些数据中心的建置,以虚拟化的架构规划设计基础设施,以满足云计算服务需求为主,云数据中心(CloudDataCenter)即为此需求下的产物。目前数据中心提供以VM为基础的云计算服务与完整的云服务解决方案给企业与组织已渐渐成为趋势。随着VM技术越来越进步数据中心虚拟化的程度越来越高,范围也越来越广,目前的VM皆可以快速的进行部署与管理,但VM在网络频宽上的管理则还有其努力改善的地方。数据中心中大量部署VM解决方案的同时,这使得数据中心网络架构得重新思考,以应付服务器虚拟化后,网络资源实时动态的分配调整的问题。

网络频宽使用的管理为其重要,尤其在有付费的VM平台上,要如何做依据SLA(ServiceLevelAgreement,)来分配频宽资源,并根据服务的需求保证资料流的效能达到要求的标准。QoS(QualityofService)的保证对于容量有限的网络来说会是一个重要的议题。特别是对于streamingmultimediaapplications如VoIP、IPTV等等,因为这些应用需要固定频宽且对网络延迟问题敏感。

数据中心的虚拟化项目中,也包含了网络架构的虚拟化,例如利用网络第二层(MACLayer)技术架构,来实现数据中心网络架构的虚拟化,VirtualSwitch即为一个实例,这使得整个数据中心的计算网络资源能更加的动态分配,虚拟化后会使网络架构复杂化,如何在云数据中心的网络中,在不增加网络架构与管理上的复杂度与不改变现有虚拟化网络架构的前提下,利用网络MAC层的QoS机制来达成VM平台的网络,提供网络资源QoS则是该文要讨论的重点。

文章第一段说明云数据中心的虚拟化下VM平台所会面临到的网络管理问题与简介该文讨论的主旨;第二段解释相关的研究内容,包含虚拟平台的类型,与EdgeVirtualBridging的两个分支协议IEEE802.1Qbh与IEEE802.1Qbg,这两协议实际在业界的产品描述;第三段说明SubnetBandwidthManager的运作流程,与如何透过RSVP为基础的网络频宽管理;第四段说明MAC层的QoS机制并且如何延伸至VM为基础的网络架构中,最后则结论总结。

1相关研究

1.1Hypervisor

Hypervisor是一种虚拟平台,为许多硬件虚拟技术中的其中一种。主要的功能是提供多个操作系统同时运作在一台伺服主机上的技术。

Hypervisor也称为Virtualmachinemanager,VMM。运行在Hypervisor上的操作系统称作为Guest,执行Hypervisor的这台主机则称为HostServer。这些Guest可以是任何一种Hypervisor有支持的操作系统,透过Hypervisor共享HostServer的主机硬件资源,也包含该文的主要讨论目标网络资源。

Hypervisor有两种类型,第一种类型为BareMetalHypervisor与第二种类型为Hosted

Hypervisor。第一种类型直接执行在硬件上,实际的例子为VMwareESX/ESXi、MicrosoftHyper-V、CitrixXenServer、RedHatKVM、OracleVirtualIron等。第二种类型则在硬件与之间还有一层操作系统,换句话说Hypervisor运作在一个操作系统中,实际的例子为VMwareWorkstation/Fusion、MicrosoftVirtualPC/Server、SunVirtualBox、ParallelsDesktop等。

1.2EdgeVirtualBridging

EdgeVirtualBridging,EVB是IEEE的一个标准,在Hypervisor中虚拟交换器环境与网络实体层基础设施之间的互动标准。EVB的实现目前有两大不同的分支,分别为IEEE802.1Qbh与IEEE802.1Qbg。

IEEE802.1Qbh,又称为VN-Tag已经被IEEE预定为802.1Qbh的桥接器的连接端口扩充标准,定义上对于协议、程序和被管理的对象能提供连接端口扩充。要降低多桥接器网络管理的成本(例如在数据中心的网络环境中),主要方法是减少被管理的桥接器及设备之间,交换帧流通的时间。整体上减少整体拥有成本是藉由降低初期资本支出及管理、运营成本等原因来达成。

数据中心的管理在今天来讲是非常复杂,降低复杂度可以藉由聚合整个复杂的桥接功能移到少数几台桥接器上,从管理的观点上来说就是减少桥接器层的级数。EVB计划里定义中提到需具有桥接器连接端口能返回原来连接端口及多通道等能力。

并在计划中有提到连接端口扩展器能提供远程复制服务的能力,而且连接端口扩充器(PortExtender)除了使用EVB能力之外,并且有远程处复制交换帧的服务。目的在聚合整个复杂的桥接功能转到少数几台桥接器上。藉由连接端口扩充器设备来减少网络桥接器层级数,降低资本支出,管理点数及设备之间交换帧流通的时间,最后达成减少整体拥有成本。

另一个EVB的分支,IEEE802.1Qbg22,为EVB(EthernetVirtualBridging)中的VEPA(VirtualEthernetPortAggregator)也已经被IEEE预定为802.1Qbg的标准,定义上对于协议、程序和被管理的对象能提供发现、组态、控制,在直接连接S-VLAN的组件至远程客服桥接器连接端口之服务、及提供同时存在的多重能力服务,也就是在同一台机器一个出口或多个出口上提供发现、组态、及控制内部接在桥接器上连接端口之连接端口聚合服务,虚拟机器之间能彼此交换,即使同一个出口服务也可以返回原来的连接端口。另外连接端口聚合服务对于所有桥接器连接端口上需求和操作,除了返回原来连接端口的服务(ReflectiveRelayService)之外或者连接至另一客户端的嵌入式桥接器C-VLAN组件上之服务均不会引起桥接器循环(loop)的现象。主要目的是允许多重虚拟机器除了拥有一共同桥接器的连接端口的交换之外,并对于虚拟机器方面,在桥接器上可提供调整组态、管理等服务。

综合上述来讲,VEPA依照结构,基本上分StandardMode及Multichannel两类型,在StandardMode基本上除了在虚拟服务器上能让交换帧不必再透过虚拟交换器(vSwitch),而直接转发一般的交换器上,但是在交换器连接端口需要有ReflectiveRelay功能扩充。

无论桌上型及服务器的虚拟机器都是共同接在嵌入式桥接器之同一连接端口的网络上,但是嵌入式桥接器及邻近桥接器是属于不同的管理网域。网管者也许期望邻近桥接器的能力能扩及虚拟机器的连接端口上。介于彼此虚拟机器之间的服务,在桥接器的连接端口除了能返回原来连接端口之外,也能扩及至邻近桥接器的服务及相关的服务(例如安全、QoS、监督及统计等)。在配对的S-VLAN组件具有相当有限的功能,允许介于邻近桥接器、多重虚拟机器之间的多重虚拟联机,因此多重虚拟机器可以提供多通道能力服务。

1.3AccessLayerNetworkVirtualization

EVB的实际网络设备,以IEEE802.1Qbh为基础,由Cisco和VMware合作开发了一个分布式虚拟交换器(DVS)架构,用软件方式直接安装在分布式Hypervisor内,处理以太网络第二层的操作不需再进入原有VMware的虚拟交换器(vSwitch),透过CiscoNexus1000VSeries,直接经由虚拟服务器(VMs)内虚拟网卡(vNIC)与交换器之间,这种逻辑

联机被称为VN-LINK。VN-LINK可以下列两种方式来实现,第一种是分布式虚拟交换器可以使用软件方式来达成,也就是软件安装在Hypervisor内。第二种,用硬件方式来支持网络接口虚拟(NIV)达成。

以IEEE802.1Qbg为基础的VEPA(VirtualEthernetPortAggregation)设计,在JuniperNetwork的JuniperEXSeries以太网络交换器上,从虚拟服务器送来的交换帧在交换器内提供返回原来连接端口(ReflectiveRelay),换句话说交换器的同一个连接端口据接收与发送同一交换帧的服务(ReflectiveRelayService),以交换器接收聚合虚拟服务器的交换帧之技术为代表。虚拟服务器交换帧直接传至另外一台虚拟服务器的技术被称为VEB(VirtualEthernetBridging),虽然虚拟服务器可以直接用VEB来处理,但是由硬件的交换器来处理,更容易处理网络安全、监督、统计,QoS及ACL等方面,因此在虚拟服务器需要安装VEPA,藉此组合虚拟交换帧直接进入一般的交换器中交换,而不再进入vSwitch内。当JuniperEXSeries以太网络交换器,接在有VEPA的虚拟服务器时,在交换器的连接端口上需要设定ReflectiveRelay的功能,以便虚拟交换帧才能返回原来的连接端口。

2SubnetBandwidthManager

在IETFRFC2814定义了SubnetBandwidthManager(SBM)。SBM可用在以太网络交换器环境上进行LAN的AdmissionControl(AC),处理网络资源保留的管控,即为一个在802为基础的网络上的协议用,用来处理ResourceReservationProtocol,RSVP为主的AdmissionControl。在有SBM管理的网络区段中,会有一个SBM装置被选为DesignatedSubnetBandwidthManager,DSBM,透过DSBM进行网络资源保留的动作,当DSBM送出一个RSVPPATH信息,假设有一个接口属于管理的区段,这个信息会被送到DSBM。假设这个网络区段不在管理的范围内,这个RSVPPath信息会直接送到RSVPsessiondestination。

一个基本的以DSBM为基础的AC处理流程大致为:(a)DSBM会建立路径信息给RSVP信息用,利用接到的信息中取得节点的信息。(b)DSBM会转送信息到目的地址。(c)DSBM取得RSVPRESV信息,然后处理信息内容后决定下一个动作处理。假设所要求的频宽资源可以保证的话RESV信息会被送往之前的节点。如果所要求的频宽无法给予保证,DSBM会退回RESV_ERR信息给资源要求的节点。

假设有个从外部非管理的网络区段主机A对内部管理的网络区段主机B有L2频宽资源预留请求发生,支持RSVP协议标准的L3设备,例如:主机或是路由器会传送或转送RSVPPATH信息给所在管理网络区段的DSBM,而不是传送到RSVPsession目的地址去。信息处理后DSBM会转送这个信息到目的地址去。DSBM会替一个session或是所经过的节点(内外部网络主机之间所经过的节点),建立与维护的路径状态信息。现在当有个内部主机B上的应用需要预留频宽,主机须能处理标准的RSVP信息规则并且传送一个RSVPRESV的信息到先前节点,DSBM处理RSVPRESV信息依据可以提用的频宽,假使无法提供保证所要求的频宽DSBM会回复RSVPRESV_ERR信息给内部的主机B,反之DSBM会传送RESV信息给相关的节点,并提供节点状态信息更新。如此便完成一个基本的资源预留的动作。

SBM允许RSVP启用的路由器与L2/L3的设备支持局域网络中RSVP的数据流提供资源预留的能力。如果考虑云应用服务在VM平台上的网络资源管理,利用SBM延伸至VM平台,云数据中心的VM资源管理上即具备有网络QoS的能力。

3QoSontheMAClevel

IEEE802.1p是IEEE802.1Q的延伸标准,两项标准一起搭配运用,IEEE802.1Q在原来EthernetMAC帧增加了VLAN的字段,字段有两个部分一个为12-bit的VLANID与3-bit的prioritization,IEEE802.1Q在3-bit的prioritization上并无定义这个部分,而是在IEEE802.1p上有明确定义,IEEE802.1Q帧表头字段TCI(TagControlIdentifier)中的PCP(PriorityCodePoint)有三个bit大小的字段,用来定义的优先等级,IEEE一共建议了8个等级分类,实际上运用此优先等级还是得由网络管理者进行对应的设定。最高优先等级的值是7,通常这种等级优先的封包可能是网络重要的封包,给予较高的优先权,例如RIP或是OSPF的封包等等,最低优先等级的值则为0。

在资源需求固定的服务保证上,考虑VM的服务应用需求,依照不同的属性分群组建立服务规则。假设现在于VM平台上有三种频宽保证的服务类型,将这三种服务类型10Mb、50Mb、100Mb分别为G1、G2、G3三个群组,如表1所列。这三种群组从最低频宽需求至最高频宽需求分别有不同的收费标准,将这三种VM群组根据费用高低套用至不同的优先等级,如表2所列,即可依照不同需求给予不同的网络频宽资源保证或是资源预留。

如遇到临时动态的网络资源需求变更时,也可以支持,例如:VM群组上的服务临时变更为更高的保证,即可动态调高G2群组的优先等级如表2中所示。

MAC层的QoS或是CoS(ClassofService),在目前第二层的设备都有支持,透第二层交换器VLAN(IEEE802.1Q)功能,配合IEEE802.1p,简单的将网络流量给分类然后传送到目的端,然后启用SBM的功能支持,即可做到QoS亦可以进行频宽资源预留的能力。

以EVB为基础的VM平台网络架构,利用支持IEEE802.1p跟IEEE802.1Q的第二层设备,并启用RSVP协议,修改SBM的协议增加IEEE802.1Qbh/IEEE802.1Qbg的VM平台信息参考,IEEE802.1Qbh或是IEEE802.1Qbg在帧的格式上都是直接与IEEE802.1Q兼容的,即可轻易地扩充SBM对两协议的支持,如此便可直接延伸对VM环境的支持,解决QoS与频宽预留问题。

4结论

数据中心网络基础设施虚拟化,带来的好处是使资源使用上更有弹性以及更有效的减低进而降低数据中心运维成本,同时也使得数据中心网络架构与管理上复杂化,但要如何做到不增加复杂度,不变更VM网络堆栈设计而提供QoS能力,即为该文所讨论的重点。利用IEEE802.1p与IEEE802.1Q的组合与SBM协议,延伸MAC层上的QoS机制,至VM平台环境实现QoS,达到频宽资源有效的管理,满足各种云计算服务的需求。

参考文献:

[1]LiuShu-lei,LiuYun-xiang,ZhangFan.AdynamicwebservicesselectionalgorithmwithQoSglobaloptimalinwebserv-icescomposition[J].JournalofSoftware,2007(3).

[2]胡建强,邹鹏,王怀民.Web服务描述语言QWSDL和服务匹配模型研究[J].计算机学报,2005(4).

[3]杨胜文,史美林.一种支持QoS约束的Web服务发现模型[J].计算机学报,2005(4).

[4]孙素云.基于UDDI扩展的Web服务QoS模型[J].计算机工程,2008(14).

[5]郭得,任彦,陈洪辉.一种QoS有保障的Web服务分布式发现模型[J].软件学报,2006(11).

[6]詹涛,周兴社,杨刚,等.一种可信的服务组合QoS保障机制[J].小型微型计算机系统,2011,32(3).

猜你喜欢
虚拟机虚拟化服务质量
论如何提升博物馆人性化公共服务质量
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
浅谈计算机系统虚拟化网络设置方案
任务驱动教学法在《网络应用服务管理》教学中的应用
虚拟机局域网组建技术应用初探
存储虚拟化还有优势吗?
倾听患者心声 提高服务质量
坚持履职尽责 提升服务质量