受疫情影响,今年“云”这个词越来越成为一种流行,央视频推出的“云监工”“云充电”“云守望”......我们仿佛进入了一个“云端世界”。但是真要问云技术到底是什么、怎样实现的、应用到了哪里,很多小伙伴可能就要“懵了”。
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储技术的原理与架构解析
相对传统存储而言,云存储改变了数据垂直存储在某一台物理设备的存放模式,通过宽带网络(比如万兆以太网或Infiniband技术)集合大量的存储设备,通过存储虚拟化、分布式文件系统、底层对象化等技术将位于各单一存储设备上的物理存储资源进行整合,构成逻辑上统一的存储资源池对外提供服务,从而在存储容量上得以从单设备PB级横向扩展至数十、数百PB,由于云存储系统中的各节点能够并行提供读写访问服务,系统整体性能随着业务节点的增加而获得同步提升。同时,通过冗余编码技术、远程复制技术,进一步为系统提供节点级甚至数据中心级的故障保护能力。容量和性能的按需扩展、极高的系统可用性,是云存储系统最核心的技术特征。
通常,从云存储的技术实现层次上看,从底层向上,可以分为存储层、管理调度层、访问接口层、应用服务层等四个层次。
其中存储层是云存储的基础,一台云存储节点设备通常能安装24个以上的硬盘,通常通过IP接口将大量的存储设备互连在一起形成存储设备资源池,在一个云存储系统中,底层物理存储设备数量庞大,而且设备形态理论上也允许异构(这样也可以接入传统的IPSAN或FCSAN),在物理存储设备之上是一个统一的存储设备管理层,实现对物理存储设备的逻辑虚拟化管理、状态监控和维护等功能。
管理调度层是云存储最核心的部分,这一层的主要功能是在存储层提供的存储资源上部署分布式文件系统或者建立和组织存储资源对象,并将用户数据进行分片处理,按照设定的保护策略将分片后的数据以多副本或者冗余纠删码的方式分散存储到具体的存储资源上去。同时,在本层还会在节点间进行读写负载均衡调度以及节点或存储资源失效后的业务调度与数据重建恢复等任务,以便始终提供高性能、高可用的访问服务。不过,在具体实现时,该层的功能也可能上移,位于访问接口层和应用服务层之间,甚至直接嵌入到应用服务层中,和业务应用紧密结合,形成业务专用云存储。
访问接口层是业务应用和云存储平台之间的一个桥梁,提供应用服务所需要调用的函数接口,通常云存储系统会提供一套专用的API或客户端软件,业务应用软件直接调用API或者使用云存储系统客户端软件对云存储系统进行读写访问,往往会获得更优的访问效率,但由于一个云存储系统往往需要支持多种不同的业务系统,而很多业务系统只能采用特定的访问接口,例如块接口或者POSIX接口,因此一个优秀的云存储系统,应该同时提供多种访问接口,例如ISCSI、NFS、CIFS、FTP、REST等,以便在业务适配方面具有更好灵活性。
业务应用层通过云存储系统提供的各种访问接口,对用户提供丰富的业务类型,例如高清视频监控、视频图片智能分析、大数据查找等。部分云存储系统也会在这一层的应用业务平台上实现管理调度层的功能,将业务数据的冗余编码、分散存储、负载均衡、故障保护等功能和各种业务的实现紧密结合,形成具有丰富业务特色的应用云存储系统,而在存储节点的选择方面,则可以采用标准的IPSAN、FCSAN或者NAS设备,例如宇视科技的视频监控云存储CDS(CloudDirectStorage)解决方案就是这种应用云存储的典型代表。
CDS解决方案继承了宇视科技视频ISCSI块直存高性能的优点,采用宇视最先进的裸数据存储技术,可极大程度发挥存储设备读写性能,实现云存储中的秒级检索和回放,通过采用标准的IPSAN设备,通过CDV存储虚拟化组件,并通过CDM云存储管理服务器集中统一管理底层的存储资源,构成全局统一的虚拟存储空间,当前端应用设备要进行读写时,首先向CDM请求可以访问的存储空间,并将数据离散存储到各底层标准的存储节点上去,当某一存储节点发生故障时,CDM会自动重新分配一个新的空间给前端设备进行访问,从而实现业务不停顿的读写。CDS系统支持海量的云存储节点管理能力,可管理高达2048个存储节点,支持动态扩容和缩容,提供不间断的视频和图片存储服务。同时也能提供视频实况、视频点播回放、报警管理、布防撤防、地图应用等多种视频业务。
应用云存储和业务深度结合,针对业务特点选择适合的存储模式,往往能提供非常优异的业务访问性能,但通常各厂家实现方式各有不同,难以互通或者供第三方开发新的数据处理业务,因此,应用云存储系统比较适合业务种类较少,业务模型相对固定的应用场合。而在智慧城市的建设中,一个云存不仅会存储海量的数据,而且需要对这些数据进行分析和利用,这往往需要集合多个专业厂商来进行各自擅长领域的业务开发,因此,系统的开放性、接口的标准化,则成为云存储系统建设的重要需求,云存储的核心功能应直接在存储之上实现,再通过访问接口层为业务平台提供多种通用的访问接口,如ISCSI块存储访问接口、POSIX文件访问接口、REST对象访问接口等,而业务应用开发则无需再考虑数据冗余、分散存储、负载均衡等存储专属特性,而集中在业务应用本身的功能特性方面,例如视频监控系统中的车型识别、卡口计数、图像浓缩等,这种云存储系统与具体的应用耦合程度较低,具有更好的通用性,可以认为是一种通用云存储。
在现在比较流行的云存储架构中,根据对元数据的管理模型,可以将通用云存储系统分为三种类型,即集中式元数据、分布式元数据和无元数据三种类型的系统。
集中式元数据云存储系统是一种典型的非对称式系统,在系统中,通常具有一个中央元数据管理服务器,负责元数据的存储和处理查询与修改请求,例如,在HDFS系统中,该元数据管理服务器即为名字节点Namenode,同时,存在大量的数据存储节点提供客户I/O数据的并行存储与访问。这种架构中,客户端每次对数据流的I/O操作,都需要先向元数据管理服务器进行元数据查询,客户端在获得需要读写的数据块物理位置等信息后,对于数据的I/O操作则直接在客户端和数据存储节点之间进行。相对传统存储系统,集中元数据云存储系统将控制流和数据流进行了分离,系统在扩展性和处理性能方面获得了较大的提升,同时,由于元数据集中在一台服务器上进行管理,整个系统架构比较简单,降低了系统设计的复杂性,目前业界采用这种架构的系统主要有GFS、HDFS、Lustre等。
虽然集中元数据云存储系统架构简单,但会存在两个主要的问题:
性能瓶颈问题。元数据的基本特性要求任何时候对用户数据的访问,都需要同步地修改元数据,由于每次I/O访问都需要首先访问元数据服务器,随着系统规模不断扩大,需要管理的存储节点、文件数量、I/O操作数量等都会急剧增加,而对元数据进行管理的物理服务器性能有限,从而形成性能瓶颈,这种性能瓶颈在大量小文件访问时会更为突出。为解决这一问题,人们通常会采用更高性能的CPU,更大的内存,并且采用SSD来加速对元数据的访问,虽然能够在一定程度上提升元数据访问性能,但成本极其高昂,且提升效果有限。
元数据服务器单点故障问题。在集中元数据云存储系统中,整个系统的性能和可靠性完全依赖于元数据服务器,一旦元数据服务器故障,系统将无法提供任何服务,因此,元数据服务器就是整个系统中的潜在单点故障点。为解决这一问题,通常对元数据服务器采用备机形成HA解决方案来提供更高的系统可用性,主用服务器和备用服务器之间的元数据必须随时同步,否则一旦主用服务器故障,则可能导致数据不一致问题,但元数据同步操作会进一步加重了元数据服务器的性能负担,导致整个系统的访问性能受到拖累,而且也无法彻底解决脑裂问题。
为了解决集中元数据系统中的性能瓶颈和单点故障问题,一种改进后的分布式元数据云存储系统得以出现,这种系统采用多台元数据服务器形成集群工作的方式提供元数据访问服务,集群中的每一台设备都可以提供元数据访问,从而提高整体访问性能,并且解决了元数据服务器单点故障问题。分布式云存储系统需要在所有元数据存储节点之间进行元数据同步操作,这大大增加了系统设计的复杂性,在同步期间往往需要进行各种加锁,而加锁机制的存在导致部分任务难以并行运行,从而拖慢了整个系统的性能,此外,如果元数据没有及时得到同步,或者遭到意外破坏,则会出现同一文件或者对象的元数据不一致,进一步导致上层应用在通过不同物理服务器访问文件或对象数据时出现数据不一致或者读写错误的问题,这种风险随着云存储系统规模的扩大而大幅增加,同样,为了保证元数据同步的速度,需要采用高性能、大内存并且配备SSD的服务器,硬件成本非常昂贵。
第三种云存储系统则彻底抛弃元数据,而是采用算法来对文件或对象进行定位,并将该算法集成在每一个存储节点上,客户端从任何一个存储节点进行数据访问都会获得同样的结果,云存储系统中的每一个存储节点都可以独立、并行地对外提供服务,从而真正实现性能随节点数增加而线性扩展,由于无需在节点间进行元数据的同步操作,极大地提高了系统的稳定性和可靠性,在硬件成本方面,也相对低廉,可以用较低的建设成本获得较高的读写性能。
云计算技术的主要服务形式和典型应用
云计算还处于萌芽阶段,有庞杂的各类厂商在开发不同的云计算服务。云计算的表现形式多种多样,简单的云计算在人们日常网络应用中随处可见,比如腾讯QQ空间提供的在线制作Flash图片,Google的搜索服务,GoogleDoc,GoogleApps等。目前,云计算的主要服务形式有:SaaS(SoftwareasaService),PaaS(PlatformasaService),IaaS(InfrastructureasaService)。
(1)软件即服务(SaaS)
SaaS服务提供商将应用软件统一部署在自己的服务器上,用户根据需求通过互联网向厂商订购应用软件服务,服务提供商根据客户所定软件的数量、时间的长短等因素收费,并且通过浏览器向客户提供软件的模式。这种服务模式的优势是,由服务提供商维护和管理软件、提供软件运行的硬件设施,用户只需拥有能够接入互联网的终端,即可随时随地使用软件。这种模式下,客户不再像传统模式那样花费大量资金在硬件、软件、维护人员,只需要支出一定的租赁服务费用,通过互联网就可以享受到相应的硬件、软件和维护服务,这是网络应用最具效益的营运模式。对于小型企业来说,SaaS是采用先进技术的最好途径。
以企业管理软件来说,SaaS模式的云计算ERP可以让客户根据并发用户数量、所用功能多少、数据存储容量、使用时间长短等因素不同组合按需支付服务费用,既不用支付软件许可费用,也不需要支付采购服务器等硬件设备费用,也不需要支付购买操作系统、数据库等平台软件费用,也不用承担软件项目定制、开发、实施费用,也不需要承担IT维护部门开支费用,实际上云计算ERP正是继承了开源ERP免许可费用只收服务费用的最重要特征,是突出了服务的ERP产品。
目前,Salesforce.com是提供这类服务最有名的公司,GoogleDoc,GoogleApps和ZohoOffice也属于这类服务。
(2)平台即服务(PaaS)
把开发环境作为一种服务来提供。这是一种分布式平台服务,厂商提供开发环境、服务器平台、硬件资源等服务给客户,用户在其平台基础上定制开发自己的应用程序并通过其服务器和互联网传递给其他客户。PaaS能够给企业或个人提供研发的中间件平台,提供应用程序开发、数据库、应用服务器、试验、托管及应用服务。
GoogleAppEngine,Salesforce的force.com平台,八百客的800APP是PaaS的代表产品。以GoogleAppEngine为例,它是一个由python应用服务器群、BigTable数据库及GFS组成的平台,为开发者提供一体化主机服务器及可自动升级的在线应用服务。用户编写应用程序并在Google的基础架构上运行就可以为互联网用户提供服务,Google提供应用运行及维护所需要的平台资源。
(3)基础设施服务(IaaS)
IaaS即把厂商的由多台服务器组成的“云端”基础设施,作为计量服务提供给客户。它将内存、I/O设备、存储和计算能力整合成一个虚拟的资源池为整个业界提供所需要的存储资源和虚拟化服务器等服务。这是一种托管型硬件方式,用户付费使用厂商的硬件设施。例如AmazonWeb服务(AWS),IBM的BlueCloud等均是将基础设施作为服务出租。
IaaS的优点是用户只需低成本硬件,按需租用相应计算能力和存储能力,大大降低了用户在硬件上的开销。
目前,以Google云应用最具代表性,例如GoogleDocs、GoogleApps、Googlesites,云计算应用平台GoogleAppEngine。
GoogleDocs是最早推出的云计算应用,是软件即服务思想的典型应用。它是类似于微软的Office的在线办公软件。它可以处理和搜索文档、表格、幻灯片,并可以通过网络和他人分享并设置共享权限。Google文件是基于网络的文字处理和电子表格程序,可提高协作效率,多名用户可同时在线更改文件,并可以实时看到其他成员所作的编辑。用户只需一台接入互联网的计算机和可以使用Google文件的标准浏览器即可在线创建和管理、实时协作、权限管理、共享、搜索能力、修订历史记录功能,以及随时随地访问的特性,大大提高了文件操作的共享和协同能力。
GoogleAPPs是Google企业应用套件,使用户能够处理日渐庞大的信息量,随时随地保持联系,并可与其他同事、客户和合作伙伴进行沟通、共享和协作。它集成了Cmail、GoogleTalk、Google日历、GoogleDocs、以及最新推出的云应用GoogleSites、API扩展以及一些管理功能,包含了通信、协作与发布、管理服务三方面的应用,并且拥有着云计算的特性,能够更好的实现随时随地协同共享。另外,它还具有低成本的优势和托管的便捷,用户无需自己维护和管理搭建的协同共享平台。
云技术发展的驱动力
推出更开放“云+端”战略:IBM认为目前云计算的驱动力中有33%是来自移动与嵌入式领域,未来比例还将进一步加大。为此,IBM提出了非常明确的“云+端”战略,IBM除了在后端强化云的能力,更加大力度对前端进行整合,包括移动、嵌入式以及众多的前端需求。与行业相比,IBM的“云+端”战略更加开放,在扩展性、兼容性、安全性以及分析能力等方面优势明显。
加强“云”分析实力:在IBMSmartCloudEnterprise企业云计算平台上运行的IBMInfoSphereBigInsights能够使客户机构内部的任何用户均可访问大数据分析,帮助企业提高行业洞察,提升业务决策能力。云端的大数据分析使企业不用安装、运行或维护硬件和软件,也可以捕捉和分析任何数据。
提升“云”部署能力:IBMSmartCloud产品正在帮助全球企业提高云环境及传统环境的可视化、可控化和自动化程度,使企业安全管理和部署云服务,优化业务流程、提升效率,享受虚拟化带来的更高价值。
利用“云”协作增进企业协作:IBMLotusLive解决方案为企业搭建了一个“云端”的办公平台,使企业员工能够更加高效的与来自世界各地的客户、合作伙伴和供应商开展沟通与协作,让企业成功跨入办公协作的云计算时代。
不仅如此,IBM在不断开发、升级旗下现有产品的同时,也在通过积极的收购策略,扩展云计算产品线,以求通过最全面的云产品线为企业带来最优秀的云服务。
简单来说,云技术就是利用高速互联网的传输能力,将用户所有的数据都放在网络云这个大型数据处理中心里,用户只需有一个上网的终端就可以。这样,云网络中的数据规模越来越大,通过数据分析,网络资源利用率大大提高,很多过去听起来像“天方夜谭”的功能,都在一一实现。
Linux基金会开源软件学园 Copyright © 2019-2024 linuxfoundation.cn, ICP license, no. 京ICP备17074266号-2