IaaS云平台资源池网络管理子系统的设计与实现*
任易1,2,李炜1,2
(1 北京邮电大学网络与交换技术国家重点实验室,北京 100876; 2 东信北邮信息技术有限公司,北京 100191)
摘 要随着科技的进步和产业自动化水平的提高,计算能力作为一种资源越来越受到社会的重视和认可。云计算作为一项蓬勃发展的技术,在很大程度上解决了人们日益增长的对计算能力的需求。如今越来越多的企事业单位开始建立私有的IaaS云平台以满足其组织内部的IT需求。面对复杂多样的组网需求,如何建立一个安全而可靠网络已成为一个重要课题。本文旨在设计与实现一种通用的IaaS云平台资源池的网络管理系统,以满足私有云建设中对网络资源的纳管需求。
关键词IaaS;私有云;资源池;网络管理
随着科技的进步和产业自动化水平的提高,计算能力逐渐成为一种具有竞争力的资源,越来越得到社会的重视和认可。然而,以往由单一分离的计算机组成的计算系统已经难以满足人们日益增长的对计算能力的需求。随着网络带宽的不断增长,通过网络访问远程计算服务(包括数据处理、存储和信息服务等)的条件越来越成熟,于是就有了今天我们称作云计算的技术。
云计算根据其提供服务的不同层面可以分为IaaS,PaaS和SaaS。其中IaaS指的是用户通过网络可以从完善的计算机基础设施获得服务。IaaS将硬件设备等基础设施封装成服务供用户使用,通过网络向用户提供计算机(物理机和虚拟机)、存储空间、网络连接、负载均衡和防火墙等基本计算资源。用户在此基础上部署和运行各种软件,包括操作系统和应用程序。IaaS的最大优势在于它允许用户动态申请或释放节点,按使用量计费。运行IaaS的服务器规模可达到几万台之多,用户因而可以认为能够申请的资源几乎是无限的。同时,IaaS是由公众共享的,因而具有更高的资源使用效率。
本文旨在设计与实现一种通用的IaaS云平台资源池系统的网络管理系统。该系统需要能够虚拟化资源池内的网络基础设施,满足IaaS私有云平台所需的网络资源服务要求,包括公网IP服务、带宽服务、虚拟防火墙服务、负载均衡服务等。资源池将由多个数据中心组成,因此既需要考虑数据中心内部组网,又要考虑跨中心组网的需求。最终目标是建设一个网络安全性高,稳定性强,便于使用且具有良好扩展性的IaaS私有云网络。
IaaS私有云由私有云管理平台和一个或多个资源池系统组成。私有云管理平台与资源池系统之间通过资源池管理接口连接。用户和管理人员可以分别通过云管理平台中的用户自服务门户和管理门户使用和管理私有云。资源池自身也提供管理门户,用来实现对资源池内部资源的基础性管理工作。私有云平台整体架构如图1所示。
资源池系统是一个由资源池管理平台,各种资源相关系统或设备以及连接上述平台和设备的网络所组成的实体集群。资源池管理平台接受并执行来自私有云管理平台的指令,完成对各种云计算IT资源进行管理、部署和调度等任务。它是包括计算、存储及网络等各种资源相关系统或设备组成的实体集群。
资源服务是包含于私有云服务中,可用于服务用户的各类资源。资源可以分为计算资源、网络资源和存储资源3种基本类型,在软件层面分别通过计算子系统、网络子系统和存储子系统实施纳管。本文讨论的网络资源又可细分为公网IP资源、带宽资源、虚拟防火墙和虚拟负载均衡资源等,在网络管理子系统中分别由对应的模块进行抽象、封装和管理。资源池将网络基础设施作为服务对外提供,通过硬件虚拟化、安全隔离、集中管理和弹性资源调度等技术,将原本静态分配的网络基础设施抽象为可管理、易于调度、按需分配的网络资源,并封装成各类网络服务提供给用户或上层管理系统。
2.1 设计原则
在网络数据模型的设计过程中,需要考虑的因素很多而且复杂。这里介绍一些主要遵循的设计原则。
(1)安全性:主要是指资源池各数据中心之间互相不受影响,数据中心内部不同用户的业务之间实现逻辑上的分离,如需外网接入时需要加入隔离区和适当的防火墙限制等。
(2)可靠性:需要考虑到实际组网中异常状况的发生和对稳定性的需求,需要支持多节点冗余,远程容灾备份等。
(3)易使用:设计架构合理,模型与实际物理网络对应关系明确,逻辑清晰,便于管理员和用户使用。
(4)可扩展:资源池和云平台的建设者可以根据自己的需求扩展网络,包括网络整体规模的扩建,内部子网的细分,底层计算虚拟化框架的异构等。
图1 私有云平台整体架构
2.2 设计方案
根据以上设计原则,通过实地调研和测试多种类型的物理组网结构,最终设计和实现的网络数据模型如图2所示。
(1)Region:是物理区域的抽象,一个地理上相对隔离的机房可以作为一个Region。在实际部署时,为了既能满足容灾备份的需要,又保证服务质量的要求,物理区域之间的距离一般在30~150 km之间。
(2)Pod:即数据中心,是一个物理区域内相对独立的网络、存储和计算资源的总称。Pod之间一般情况下没有业务的交互,但也允许通过IP专网互通,以满足特殊需求,如容灾备份或多个数据中心的统一管理和调度。为便于统一化、规范化管理,一个Pod只包含一个虚拟化架构,如Vmware vSphere、Hyper-V和Xen等。如果一个物理区域内需要建立多个虚拟化架构,可以通过建立多个Pod的方式实现。
(3)Zone:即网络区域,是数据中心内相互隔离的区域,这里的隔离指的是在数据链路层或网络层做得逻辑隔离。划分网络区域的意义在于满足用户业务对网络的差异化需求,比如网络性能高低、网络业务类别差异以及安全性差异等。具体的网络区域划分可根据实际业务需求和组网架构定制。这里提供一种比较通用的划分方案仅供参考。
外部接入隔离区: 主要放置外部用户可以直接访问的服务器,如Portal服务器、远程维护接入服务器等,是部署可通过公网访问应用的区域。外部接入区从安全的角度来看,位于内部网络和外部网络之间,均通过防火墙隔离。用户如想从数据中心外部访问内部资源,需要先通过公共网络进入外部接入区,再以该区域为跳板,通过NAT地址转换来访问对应的内部资源。
核心生产区:是最主要的内部服务区域,用来部署应用系统的核心应用,一般用户的日常业务均在此部署。该区域通常是规模最大,安全防护等级最高的组网区域。
高性能服务区:该区域中的计算资源采用高性能的服务器,交换设备为单独配置的高性能接入交换机,专门用来部署对计算速率和网络带宽要求较高的业务。
接入维护区:该区域用来满足用户远程运维或现场代维需求,部署资源池及其上层接入管理平台。区域内只包含网络设备,其它所需设备(如计算设备、存储设备等)根据用户特定需求自行携带并接入网络。
测试区:用于部署各类测试系统,满足用户对应用的开发和测试需求。该区域提供测试必须的底层网络、计算和存储资源,用户可根据实际需求在其上部署软件测试平台或测评中心等上层专业系统。
图2 网络数据模型
(4)NetworkAsset:即网络设备,主要包括交换机、路由器、防火墙和负载均衡器等。其中,交换机和路由器提供VLAN和IP的划分和管理功能;防火墙提供公网IP带宽控制和虚拟防火墙安全策略;负载均衡器则用来提供负载均衡服务。为了满足多节点冗余的组网方式,网络设备设计成抽象概念,它与多个网络设备节点关联,设备节点对应实际的物理节点。当网络设备下的某个设备节点出现故障,其它节点可以接替其工作。网络设备在资源池中一般不被直接使用,而是虚拟化为“池”后通过接口对外提供能力。
IpPool、VlanPool、LbPool和FwPool分别是IP、VLAN、负载均衡和防火墙服务池化后的对象。向上与网络区域相关联,向下对应具体的网络设备。这些池化资源对象可以提供VLAN申请、IP绑定、公网IP申请、带宽申请、负载均衡和虚拟防火墙等服务,在整个资源池网络虚拟化中起至关重要的作用。当需要在网络区域内调配网络资源时,只需调用相应的池化资源对象接口,这些对象会控制与其相关联的网络设备完成具体操作。
以上数据模型对应资源池基础网络架构,在工程实施中,需要由专业的网络工程师进行硬件(主要是交换机、路由器、防火墙、负载均衡器等)和软件部署,并由网络管理员进行配置和管理。下面将要介绍的是与用户相关的业务网络模型设计。
(5)Network:由用户通过业务系统建立,当用户建立Network时需要指定其所在的网络区域、共享状态和工作模式。一个业务下可建立多个Network,并对其进行资源计费、流量统计等统一控制。Network可以设置为共享状态并共享给其它业务使用。用户、业务和网络之间的关系如图3所示。
Network的工作模式有FLAT和VLAN两种。
FLAT模式适用于对性能要求不高的简单网络,当Network在该模式下工作时,与网络区域内的其它Network共享一个广播域,会受到广播风暴的干扰而影响性能。但该网络模式架构简单,对网络设备要求较低。
当用户对业务网络性能和安全性要求较高时,宜选择VLAN工作模式。VLAN划分之后可以享受独立的广播域并与外界安全隔离,不同VLAN之间如需交互可以做VLAN互通配置(需要网络层设备支持)。VLAN根据划分方式的不同可以分为基于端口的VLAN,基于MAC地址的VLAN,基于IP的VLAN和基于策略的VLAN,其中基于端口的VLAN的划分是最简单、有效的VLAN划分方法,建议在实际组网时优先考虑。
(6)Subnet:Network是一个抽象的概念,只负责逻辑网络的划分。而Subnet用来承载具体的网络IP和计算资源。当用户需要建立计算集群时,需要在Network下申请指定大小的Subnet,IpPool则会根据需求为其分配相应的IP地址段。之后,用户就可以通过计算资源的接口申请虚拟机并绑定至当前Subnet中的IP地址上。
资源池网络管理子系统内的基础设施通过底层驱动、池化、接口封装等处理步骤最终以服务的形式开放给用户使用和管理。用户在操作过程中只需关注所要申请的资源而无需感知具体网络设备的存在。目前网络管理子系统提供的服务可以分为以下几种类型。
3.1 申请内网IP服务
用户在构建Subnet搭建集群时不仅需要指明其所属的Network,还需要为其申请相应的IP资源,用以在内网中绑定集群的计算节点、负载均衡器、防火墙等设备。这个过程在申请Subnet的请求中自动进行,用户只需在私有云管理平台中指定Subnet的规模(一般以计算节点数量为标准),资源池网络管理子系统就会通过IpPool为其申请适当大小的IP地址段。一般来说,为了防止IP地址碎片的产生,IpPool采用首次适配算法并且将IP地址段定为2的整数次幂大小。所申请的内网IP地址段随Subnet共同记录在资源池系统中并一起返回给申请用户。
图3 用户、业务和网络关系图
3.2 绑定公网IP地址服务
用户可以申请公网IP地址来绑定其业务内的计算资源,从而实现通过外网控制和部署计算集群的功能。首先,用户在私有云管理平台上选择所需绑定的公网IP地址和计算资源。接着,私有云管理平台检查公网IP地址是否已经处于绑定状态,若处于绑定状态,则告知用户公网IP地址处于绑定状态无法再次绑定;私有云管理平台检查公网IP地址和计算资源是否属于同一资源池系统的同一安全域内,若不属于同一资源池系统的同一安全域内,则告知用户错误信息。通过以上验证之后,私有云管理平台向公网IP地址所在的资源池系统发起公网IP地址绑定请求,资源池系统将公网IP地址绑定到计算资源并将公网IP地址绑定响应返回给私有云管理平台,私有云管理平台告知用户公网IP地址绑定结果。
3.3 公网带宽服务
用户可以按不同速率大小配置租赁公网带宽,计算资源的带宽业务未开通或取消时,资源池系统在交换机和防火墙上设置公网流量的限速为最低限速,以保证计算资源在公网内可以访问。当用户申请公网IP后,才可以申请带宽租赁业务,申请的带宽与公网IP关联。当公网IP取消时,与之关联的带宽也一并取消。计算资源的带宽更改实际为退订旧带宽业务和订购新带宽业务的组合。
带宽服务开通时,用户通过私有云管理指定使用带宽的公网IP地址,由私有云平台生成资源订单并向资源池系统发起公网带宽申请请求。资源池系统在防火墙上根据公网IP地址做公网流量限速,当任意计算资源绑定该公网IP地址后,将获得与该IP地址相关的公网带宽。最后,资源池系统将带宽申请响应返回给私有云管理平台,私有云管理平台保存用户带宽资源信息并告知用户带宽分配结果。
3.4 虚拟防火墙服务
虚拟防火墙通过对物理防火墙进行虚拟化实现,每个虚拟防火墙均可以看成是一台完全独立的防火墙设备,彼此之间互不干扰,并拥有独立的系统资源、接口、路由表、会话表、安全配置策略、用户管理等功能。用户可以通过私有云管理平台为自己的业务系统申请虚拟防火墙。用户首先在管理界面选择计算资源所属的业务系统,接着对虚拟防火墙的具体参数(如防火墙资源需求,管理的计算资源IP列表,防火墙服务描述信息等)进行配置,由私有云平台生成资源订单并向资源池系统发起虚拟防火墙申请请求。在资源池系统创建虚拟防火墙期间,私有云管理平台定期向资源池系统发起状态查询请求,资源池系统向私有云管理平台返回虚拟防火墙状态查询响应。当私有云管理平台查询到虚拟防火墙状态由创建中转为就绪时,私有云管理平台保存申请成功的虚拟防火墙信息并告知用户虚拟防火墙分配结果,从而完成虚拟防火墙申请流程。
虚拟防火墙申请成功后,用户可在业务系统服务门户中对虚拟防火墙进行配置和修改,并查看其监控信息。
3.5 负载均衡服务
用户可以为自己业务系统内的一组计算资源设置负载均衡服务。通过私有云管理平台发起申请负载均衡资源请求,用户首先在管理界面选择计算资源所属的业务系统,接着对负载均衡的具体参数(如负载均衡策略、流量协议、负载均衡服务描述信息等)进行配置,由私有云平台生成资源订单并向资源池系统发起负载均衡申请请求。资源池系统根据请求参数在负载均衡设备上配置负载均衡策略和计算资源服务器的IP列表,并将负载均衡资源编号和负载均衡的入口IP等信息返回给私
有云平台。私有云管理平台保存用户负载均衡资源信息并告知用户负载均衡分配结果,从而完成负载均衡申请流程。
一个性能良好,可靠性高的资源池网络框架,是建设IaaS私有云平台必不可少的基础。实现一个架构合理,可用性强,扩展性高的网络管理子系统已经成为各企事业单位网络建设的迫切所需。本文介绍的设计方案很好地满足了这方面的需求,适用于多物理地区、多数据中心的扩展需求,也支持多种计算和存储虚拟化架构,可供不同规模、不同需求的单位根据实际情况选择具体实现。本文成果已在中国移动浙江资源池项目建设中实践,目前已经取得了良好的进展。
参考文献
[1]刘鹏. 云计算(第2版)[M]. 北京:电子工业出版社, 2011.
[2]罗嗣彬. IaaS中资源池接口模块的设计与实现[D]. 北京:北京邮电大学, 2013.
[3]李小康. IaaS私有云资源池管理平台[D]. 北京:北京邮电大学, 2013.
[4]谢希仁. 计算机网络[M]. 北京: 电子工业出版社, 2008: 2642-267.
[5]李小康. IaaS云资源池中VLAN划分及IP池管理[J]. 电信工程技术与标准化, 2013.
Design and implementation of resource pool network management subsystem for IaaS cloud platform
REN Yi1, 2, LI Wei1, 2
(1 State Key Lab of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd. Beijing 100191, China)
Abstract With the rapid improvement of technology and automation, computing power, as a kind of resource, is getting more and more attention and recognition. Cloud computing, which is a burgeoning technology, has solved people’s increasing demand for computing ability to a great extent. At present, more and more enterprises and organizations begin to build their own IaaS private cloud platform in order to meet their inner IT requirements. Faced with complicated network demands, how to build a safe and reliable network system become an important topic. This paper will introduce a design and implementation of resource pool network management system for IaaS cloud platform, which can provide a general way to supervise network resources in private clouds.
Keywords IaaS; private cloud; resource pool; network management
* 基金项目:国家973计划项目(编号:2013CB329102);国家自然科学基金资助项目(No. 61471064,61372120, 61271019, 61101119, 61121001);长江学者和创新团队发展计划资助(编号:IRT1049);教育部科学技术研究重点(重大)项目资助(编号:MCM20130310);北京高等学校青年英才计划项目(编号:YETP0473)。
收稿日期:2014-12-26
文章编号1008-5599(2015)02-0053-06
文献标识码A
中图分类号TN915