面向互联网应用的云操作系统的架构设计
- 时间:2019-04-03
- 作者:深圳APP开发
- 来源:
- 阅读量:
云计算是一次新的IT革命。目前,普遍认为云计算服务可以分基础设施即服务(Infrastructure as a service,IaaS)、平台即服务和软件即服务3类。IaaS面向企业用户,提供包括服务器、存储、网络和管理工具在内的虚拟数据中心,可以帮助企业削减IT建设成本和运维成本。在数据中心的物理基础设施上,IaaS通过虚拟化技术整合出了虚拟资源池。对提供基础设施提供商来说,云计算平台主要是由各种机器组成的数据中心、一组部署管理的软件以及通过部署生成的虚拟机组成。与现有的企业数据中心相比,云计算平台具有很多优势,如灵活的IT基础架构、资源的按需分配和资源的快速供给等,这些特点使得云计算特别适合于互联网环境下为用户提供短期的、灵活的服务。
随着云计算应用技术的发展,数据中心面临着新的挑战和发展机遇。传统的数据中心,无论是企业私有数据中心,还是以提供租赁服务为主的运营商互联网数据中心(Internet data center,IDC),都面临飞速增长的空间拥挤、能耗巨大和管理复杂等问题。在云计算环境下,采用以虚拟化为核心技术的新一代虚拟数据中心在高密度的硬件资源环境下,占用更少的机架、电源和空调等物理资源,可以更快速、灵活、有效地部署更多的应用,促进数据中心“绿化”建设。更为潜在的作用是,云计算数据中心机房可以显着降低人员及管理成本,在经过低成本的改造过程后机房运维可以实现无人值守、实时监控、自动系统安装和硬件故障报警等综合性的云服务系统。
中小企业是推动中国云计算发展的主要驱动因素之一。对正处于成长期的中小企业而言,投资建设IT基础架构的投资回报率较低,并且很难与业务的快速成长匹配。云计算具有部署灵活、随需随用、按需定制和性价比高等特点,能为这些中小企业提供合适的解决方案。
随着互联网基础设施的快速发展,互联网应用已经渗透到社会生活的各个方面。互联网应用具有高吞吐率、高并行性和较强的交互性等特点,在服务上具有非确定性,表现为“尽力而为”,较少涉及到复杂的运算。互联网应用的特征为开发云操作系统提供了最基本的依据。互联网应用的迅猛发展对云操作系统提出了新的挑战和需求。目前,面向大型互联网的云计算的关键技术主要还是掌握在外国大型公司的手中。探究大型互联网环境中大规模计算资源、网络资源、存储资源和软件资源等的灵活调度及按需部署仍然是一个较为前沿的研究课题。
云计算对运营商是发展契机,一方面它能够优化IT资源、降低企业内部的运营成本,另一方面也是运营IT业务的切入点。为解决目前实际运维中出现的管理成本高、第三方提供的云平台的许可费过高且不满足动态多变的互联网应用需求等问题,必须设计和开发云操作系统INACloud。 INACloud要尽可能兼容既有资源,并能与现有业务平台对接,其主要目标服务群体是中小企业,并要求具有方便的定制能力,表现为以下两方面:
(1)自动化资源部署。“云”的核心功能是自动为用户提供IT服务,用户、管理员和其他人员能通过界面对云计算平台进行管理和监控。完全自动化的部署流程不仅符合安全要求,而且能自动满足用户的需求,通过提高现有资源的利用率和复用率节省成本。
(2)端到端服务请求管理。该流程管理可以提供对服务请求的全周期管理,包括订单处理、系统开通和服务计费等。
1.开源云计算操作系统选型
“全新”设计一个云操作系统,从成本效益来看是不可取的。既要满足自己的需要,又要避免陷入成本陷阱,因此,更可行的途径是选择一个合适的开源云操作系统作为基础,进行本土化定制和二次开发。
除Amazon,Google提供的云计算操作系统外,云计算操作系统还包括Eucalyptus,OpenNebula,OpenStack,OpenQRM,XenServer,CloudStack,ConVirt等。每种云计算操作系统都具有一定的特点,其中大部分云计算操作系统采用开源模式,但社区规模较小,活跃程度也不高。除了Eucalyptus系统积极地鼓励社区用户参与项目的开发与测试之外,其他云计算操作系统选择开放源代码只是一种营销策略,并且价格大多较贵。另外,部分操作系统每年需要更新一次服务器许可证,仅管理和维护许可证就是个复杂问题。
国内开发云计算操作系统较晚,目前仍处于起步阶段,所以大多直接引入国外的云操作系统或通过引进国外商业产品的技术核心及平台进行架构。浪潮、中兴、阿里巴巴和华为等公司相继推出了各自的云计算系统或云计算平台,如浪潮的“云海OS、中兴的“CoCloud云操作系统”和阿里巴巴的“阿里云OS”等。这些云操作系统还处于探索阶段,尚未广泛使用,并且系统的性能、价格和安全性等还有待市场检验。考虑到知识产权、建设成本和管理成本等因素,研究并自主开发开放的、兼容的、满足实际运营需求的云操作系统十分必要。
结合目前业界最先进的虚拟化技术、开源IaaS平台管理技术,利用自身云计算运营的经验,进行研发、改造生成满足运营需求、技术领先的云计算管理平台。经过初步筛选,本工作重点考察OpenStack和CloudStack开源云计算平台,并分别搭建测试环境。
C1oudStack平台的前身是Cloud.com的平台,作为全球最成功的公共云平台之一,已经帮助至少85个大规模生产性云平台实现了10亿美元以上的运营收入。它支持VMWARE ESX,Xen,KVM,Hyper-V和Bare Metal裸金属服务器,并提供了大量的云计算管理工具,如VM自助式供应、动态工作负载管理和多租户管理等。
出于后续运营及技术等方面的考虑,本工作决定采用以CloudStack为主,参考OpenStack的方式进行后续云计算操作系统的研发。
2.INACloud的架构设计
(1) Zone。一个Zone包含多个pod和二级存储,是最大的组织单元,传统上对应一个数据中心(在数据中心可以有多个zone),优点是提供物理上的独立性和冗余性。
(2) Pod。一个硬件阵列,包含一个2层交换机、若干个集群。Pod类似于机架,同一Pod中的主机在同一子网中。Pod对于最终用户是不可见的。
(3) Cluster。一个CIuster包括若干个主机和主存储。集群提供一种组织节点的方式,可以是XenServerserver池、一组KVM server或者是事先在vCenter中事先配置好的VMvare集群。一个集群中的计算节点有同样的硬件、hypervisor和子网,能够访问共享的主存储。虚拟机能够在不中断的情况下于一个集群内迁移。
(4) Host。单个的计算节点,以虚拟机的形式提供真正的云服务。
(5)主存储。与一个集群相连,负责保存虚拟机运行时所需的磁盘卷。
(6)二级存储。与一个Zone相连,存储模板、ISO镜像和磁盘快照等。
2.1 组件结构
CloudStack采用“框架+插件”的系统构架,通过不同的插件来提供对不同虚拟化技术的支持,同时,这种系统构架也为定制CloudStack提供了可能性。如图2所示,INACloud在CloudStack上增加了调度服务、计费服务和监控服务等。