物联网示范工程建设项目云平台设计方案_第1页
物联网示范工程建设项目云平台设计方案_第2页
物联网示范工程建设项目云平台设计方案_第3页
物联网示范工程建设项目云平台设计方案_第4页
物联网示范工程建设项目云平台设计方案_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网示范工程建设项目物联网示范工程建设项目云平台方案

目录1. 系统作用与定位 32. 系统组成结构 33. 系统功能要求 54. 系统性能指标 65. 数据处理流程 76. 系统接口设计 86.1. cStor云存储系统提供的接口 86.2. cProc系统提供的接口 86.3. OpenStack资源虚拟化接口 97. 应用支撑系统 127.1. 资源虚拟化 127.1.1. OpenStack云平台服务简介 137.1.2. VMWare 157.2. 负载均衡LVS 167.2.1. 可伸缩网络服务的设计与实现 167.2.2. 可伸缩Web和媒体服务 167.2.3. LVS负载均衡 177.3. 云处理系统cProc 207.3.1. cProc框架介绍 207.3.2. cProc产品介绍 207.4. cStor云存储系统 227.4.1. cStor框架介绍 227.4.2. cStor产品介绍 267.4.3. cStor系统设计策略 287.4.4. cStor关键技术 347.5. 灾备系统 368. 设备选型及配置要求 379. 联系方式 38

系统作用与定位基于云平台海量数据存储技术,为物联网海量的数据提供高效、可靠不间断的存储与访问服务,提供数据支撑平台;采用云计算并行数据实时处理技术框架,实现对物联网数据的实时检索、统计、分析、挖掘、可视化、人工智能等处理,为上层提供有价值的数据服务;基于云计算先进的资源虚拟化技术,针对不同应用提供相应的虚拟计算机资源池,以满足各行业单位不同应用对物联网数据应用服务的不同需求,实现应用计算资源和数据服务的统一、高效、安全的管理。系统组成结构如下面的架构图所示,系统由云计算虚拟化平台、云处理平台、云存储平台和灾备中心四大部分组成。OpenStack用来做虚拟化资源管理,而采用LVS可伸缩性的管理分配给用户的资源,虚拟机采用VMware,而cProc并行云处理框架,为云平台提供强大可伸缩的数据实时处理能力。采用cStor云存储系统来保障整个云平台数据的完整、可靠,灾备中心实现异地容灾备份。资源虚拟化:虚拟化技术虚拟化技术的按需分配,快照功能,隔离功能,动态扩展能力等为云平台不同应用的资源统一管理分配提供极大的便利。 云资源管理:物联网智慧云服务平台,通过云资源统一管理,针对不同部门或应用的资源统一管理分配,对虚拟资源灵活调度。系统管理员为不同的部门(或应用)定制不同的虚拟机,根据各部门(或者应用)对计算资源的需求对分配给某些虚拟机的计算资源进行调整。 负载均衡:LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。 并行计算/数据处理:cProc云处理平台是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的并行计算。cProc通过把对数据集的大规模操作分发给网络上的每个节点实现数据并行处理。 cStor云存储系统:cStor云存储系统是整个物联网云平台的数据中心,它将物联网前端各种检测上报数据信息,集中存储到云存储系统提供的数据,并为数据计算和处理层提供访问服务。 灾备中心:由cStor云存储系统和灾备软件实现物联网平台数据中心的远程容灾备份。系统功能要求(1)优化总体拥有成本用户可以选择、设计、配置和运行最适合业务需要的基础设施和应用程序。以前,当IT项目移交给生产服务部门后,这两者的关系常常脱离,而在云计算环境下,它们又联系在一起了。(2)资源快速配置当业务活动增加或改变方向后,资源可以随之增减,以与业务活动的需要相符合。同时,资源配置时间从几星期压缩到了几小时。(3)弹性资源配置当用户和服务的范围发生变化,寻求新的解决方案时,有弹性的配置和服务管理关注最终用户和业务对功能的实际需求。(5)风险和环境的改善可以通过共享服务来充分利用云计算的绿色环保功能。(6)资源利用率的提高IT部门可避免IT服务的配置过度或不足,从而获得更智能的业务服务。(7)高度可靠高可靠的冗余备份机制,支持多重数据保护,根据数据可靠性需求可灵活设置备份,自动屏蔽故障,提供7x24小时不间断存储服务;(8)超高性能 支持高并发、带宽饱和利用,数据在多个节点上并行读写,服务器自动均衡负载,系统性能随节点数增加而线性增长,性能与节点规模成正比,没有性能瓶颈,千光网络单节点访问性能写不少于100MB/s,读不少于;(9)在线伸缩 不必停止服务,即可根据存储容量的需求,灵活增减存储、计算节点;系统性能指标项目技术指标数量1套,支撑1P裸容量,可以提供200个虚拟机器服务*体系架构采用多节点冗余架构设计,性能随节点数量的增加而线性增加,支持多节点自动负载均衡及故障转移。服务模式每个存储节点既存储数据,也对外提供存储访问服务。横向扩展支持在不停机情况下,通过向存储系统中增加存储节点的方式实现业务不中断情况下扩充容量和性能。*在线修复任意节点发生故障、可在不间断业务的情况下进行修复。存储系统对外服务接口存储系统服务采用IP网络,同时支持NFS、CIFS、FTP等,支持POSIX接口规范,存储系统可映射为本地磁盘或文件系统目录,方便与应用系统对接使用。支持主机系统客户端支持Linux(CentOS、RedHat、Ubuntu)、FreeBSD、Windows、苹果MacOSX等主流操作系统。高可用性要求系统全冗余,节点必须是高可用配置。当元数据节点出现故障时,要能自动切换到备用元数据节点。*存储控制节点(元数据节点)本次配置存储控制节点数不小于2个节点,系统支持的总节点数不小于100个。*当前CPU配置要求每个存储控制节点的CPU配置不少于2颗,每颗至少四核(≥2GHz)。*性能本次配置产品的实际整体性能不小于1200MB/s*单客户端性能单客户端大文件传输写性能不小于100MB/s,读性能不少于80MB/s*当前容量配置要求支持SSD、SAS、SATA磁盘。要求配置容量不低于(外网900TB,内网400TB),可用存储容量不低于(外网450TB,内网200TB)文件系统要求能够提供支持扩展到100PB容量的分布式文件系统。FTP服务整个云存储系统所有存储节点均同时对外界提供FTP服务,且所有节点虚拟成一个对外IP地址。要求具有容错能力,任何节点出现故障,FTP服务不中断。可用性当任意1个节点(包括元数据节点)发生故障,存储系统仍然保持数据100%完整,并且不会停机中断服务。硬件冗余性可尽量减少硬件冗余,同时却能确保系统高可靠运行,数据完整可靠。图形化存储管理软件支持SSH管理,提供基于Web浏览器的管理界面,管理界面简单易用。

具体功能如下:

支持对系统总体运行状态和空间利用情况的监控;

支持数据块级别坏块监控统计功能;

支持对磁盘损坏、空间利用情况的监控;

支持针对设备状态、CPU、内存等性能监控;

提供异常告警功能;

支持FTP帐号批量配置功能。块级监控与数据修复支持数据块级别坏块监控统计与文件修复功能。设备磁盘状态监控支持对磁盘损坏、空间利用情况的监控。云资源管理软件接口提供开放的服务访问和管理接口,支持POSIX接口访问,用户可当成海量磁盘使用,编程接口与操作本地文件系统完全相同,另外需根据需要提供相应API。综合控制管理接口软件自身所提供的全部资源管理类、性能监控类、故障监控类等信息可通过接口输出给业务运营支撑系统,具体数据包括不限于:设备配置参数、资源使用计量、性能监控数据、故障监控数据、资源控制指令等。统计分析管理接口软件自身所提供的管理报表、统计分析、图形展现等数据可通过接口输出给业务运营支撑系统。连接均衡要求系统支持与渲染服务器等客户端的连接均衡功能,提供轮循、按连接数等策略的自动连接均衡。快照功能要求支持数据快照功能。配额管理要求支持虚拟资源配置功能。远程支持具有远程管理和事件通知功能。支持网管远程监控。*服务原厂商质保服务,三年7×24×4,4小时用户现场响应服务数据处理流程总体上解决方案需要三大应用支撑系统支撑。cStor云存储系统用来提供海量数据的存储服务,cProc云处理系统用来对数据进行索引、分析统计、数据挖掘、可视化等处理并为上层提供高效实时访问服务,OpenStack系统用来对计算机资源进行虚拟化统一配置,进行有效的资源整合。数据首先通过cStor云存储系统提供的访问接口,将前端数据存入cStor云存储系统。由cProc云处理平台进行数据索引、分析统计、数据挖掘、人工智能等处理,为上层用户提供数据检索、可视化、辅助决策等智能应用服务,用户通过OpenStack系统虚拟出来的虚拟机访问云处理平台。系统接口设计cStor云存储系统提供的接口POSIX接口:使用cStor云存储系统的客户端挂接程序,将cStor云存储空间映射为本地的目录或磁盘,访问云存储空间和访问本地文件系统相同;NFS接口:映身为Linux本地目录或Windows虚拟磁盘;CIFS接口:映射为Linux本地目录或Windows网络共享目录;API接口:提供C、JAVA语言专用的文件操作接口;cProc系统提供的接口cProc云计算框架以NativeJavaAPI的形式,提供最为常规和高效的访问方式,适合并行批处理存储在表格里的海量数据。云计算提供的接口用于对表数据的各类操作,包括:添加、删除、查询、修改和统计数量等。 添加数据: 添加包括单条数据添加和批量添加: 单条数据添加接口,用户先把数据封装在Java对象中,再通过调用单条数据添加接口,将数据添加进指定的数据表中。 publicvoidadd(Objectobject); 批量添加接口,提供了批量添加大量数据的功能,这对于提升添加速度有很大的帮助。 publicvoidadd(List<Object>objects); 删除数据: 根据每条数据的唯一标识key,通过delete方法来删除数据。 publicvoiddelete(Stringkey);修改数据: 根据需要被修改数据的key,通过update方法来修改数据。 publicvoidupdate(Objectobject); 查询数据: 查询分为单条随机查询和批量查询。 单条查询是通过key在表中查询某一行的数据。提供了get方法来完成单条查询。 publicResultget(Stringkey); 批量查询是通过制定一段key的范围或者对表栏位制定过滤条件来查询。提供了query方法来完成批量查询。 publicResultScannerquery(Conditioncondition); 统计数量: 通过制定一段key的范围或者对表栏位制定过滤条件,来快速统计符合条件的数据数量。提供了count方法来完成数量统计。 publiclongcount(Conditioncondition);OpenStack资源虚拟化接口管理员接口:镜像管理:配置镜像基本信息、删除镜像(以web界面方式提供)虚拟机实例管理:终止、重启虚拟机,查看虚拟机日志(以web界面方式提供)系统服务:禁用、启用系统服务(以web界面方式提供)虚拟机物理资源配额管理:管理虚拟机实例分配的物理资源大小配额(以web界面方式提供)用户管理:管理系统使用的用户(以web界面方式提供)用户接口:虚拟机实例管理:管理该用户启动的实例(以web界面方式提供)镜像管理:管理用户可用的镜像,启动镜像实例(以web界面方式提供)快照管理:管理用户拥有的快照(以web界面方式提供)密钥管理:生成密钥文件(以web界面方式提供)外网ip管理:为虚拟机申请、绑定、释放外网ip地址(以web界面方式提供)程序接口:nova使用接口:nova-manageusercreateusername描述:创建用户例:nova-manageusercreatetest参数说明:username:用户名nova-manageroleaddusernamerolename描述:给用户添加角色例:nova-manageroleaddtestcloudadmin参数说明:username:用户名rolename:用户角色nova-manageprojectcreateprojectnameusername描述:创建项目例:nova-manageprojectcreatebooktest参数说明:projectname:项目名称username:用户名uec-publish-tarballimagefile描述:上传镜像例:uec-publish-tarballubuntu-11.04-server-uec-amd64.tar.gz参数说明:Imagefile:镜像文件路径euca-describe-images描述:列出已有镜像简要信息例:euca-describe-images参数说明:无euca-add-keypairkey>keyfile描述:添加密钥例:euca-add-keypairken>ken.pem参数说明:key:密钥keyfile:密钥文件euca-run-instances-kkey-tinstancetypeimagename描述:运行实例例:euca-run-instances-kken-tm1.tinyami-6683ba18参数说明:key:密钥imagename:镜像euca-describe-instances描述:列出已运行实例例:euca-describe-instances参数说明:无euca-terminate-instancesinstanceid描述:终止虚拟机实例例:euca-terminate-instancesi-00000004参数说明:instaceid:虚拟机实例的ideuca-authorizedefault-Pprotocol-pport-s/0描述:配置网络连接例:euca-authorizedefault-Ptcp-p22-s/0参数说明:protocol:协议类型port:端口euca-allocate-address描述:申请公共ip例:euca-allocate-address参数说明:无euca-associate-address-iinstanceidip描述:实例绑定公共ip例:euca-associate-address-ii-0000000128参数说明:instanceid:实例idip:已申请的公共ip虚拟机使用:ssh-ikeyfileuser@ip描述:ssh远程连接虚拟机实例例:ssh-iken.pemubuntu@28参数:keyfile:密钥文件user:系统用户名ip:虚拟机实例的公共ip地址可视化远程连接(可使用windows自带的远程连接)描述:图形化界面使用虚拟机实例;应用支撑系统资源虚拟化OpenStack是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。OpenStack很容易安装在现今大多数Linux®发布版上。OpenStack包括虚拟化和云资源管理。OpenStack提供如下高级特性:与EC2和S3的接口兼容性(SOAP接口和REST接口)。使用这些接口的几乎所有现有工具都将可以与基于OpenStack的云协作。支持运行在Xenhypervisor或KVM之上的VM的运行。商业版本还支持其他类型的VM,比如VMware。用来进行系统管理和用户结算的云管理工具。能够将多个分别具有各自私有的内部网络地址的集群配置到一个云内。下图为云计算的框架图,由云计算资源池、基础架构管理服务器及应用软件组成。云计算资源池:由一组可以实现自动供应和回收的预先定制的CPU和存储资源形成,具体包括服务器节点设备和存储设备。云平台的很多特性,需要在一个大的资源池中才能够体现,比如动态迁移、负载均衡和高可用性,所以用户建议,最少采用2台资源服务器(NC),1台磁盘阵列搭建OpenStack云平台的资源池。在市政务外网私有云项目上,用户建议采用多台计算资源服务器,具有多台存储节点的云存储构建私有云。云计算基础架构管理服务器(CLC&NC):为一台X86服务器,安装OpenStack云管理系统。第一期采用OpenStack商业版,因为目前市面上只有该产品比较成熟稳定,后期根据市场上其他云资源管理平台产品的优势,可以采用OpenStack社区版或者其他成熟的产品,因为对于企业来说,大型云平台都是多个小型云平台组合而成的,根据不同需求搭建不同功能的云平台,在减少资源浪费的同时,让小型云平台发挥出最大的功能才是最好的选择。OpenStack云平台服务简介利用云计算服务平台提供了面向管理员和使用者的服务门户。这些基础服务包括以下部分:用户管理系统中有两大类用户,分别为:云计算平台管理员,云计算平台使用者。云计算平台管理员能够对数据中心云平台上所有资源分配请求进行审批,增加或减少资源数目,变更项目时间,终止或删除项目。云计算平台使用者能够对资源分配提出申请,对资源的增加或减少提出申请,提出变更项目时间的申请,提出终止项目的申请。同时他们可以进行一些自服务操作,比如重启属于他们项目的服务器、重置系统口令等。软件管理维护可部署的操作系统镜像及软件包。这通常由云计算平台管理员来负责实现,某些应用软件或者商业软件的部署需要定制或者客户化实现。存储管理用于维护外接存储服务器及存储资源池。使用计量用于对每个客户使用的物理资源数量、时间和利用率进行统计。这通常由云计算平台管理员来负责实现。而云计算平台使用者则是获得报告,了解自己申请的资源的使用情况。部署管理部署管理提供对用户请求的自动化部署。部署按照特定时间,根据政务外网私有云使用者获得的申请来实际部署。部署的实际工作由云计算服务管理平台的供应引擎来自动实现。管理员需要做的是监督部署任务的执行情况。运行监控主要提供对当前申请使用的虚拟服务器的当前状态进行实时监控,了解基本的性能状况,并在自服务界面上呈现给相应用户。安全管理云计算平台提供了完善的手段保证每个项目的安全性和隔离性。用户对系统的访问有两个渠道:访问Web管理界面和访问项目虚拟机。对于Web界面的访问需要使用用户名和密码。对于虚拟机的访问通过以下手段进行控制:系统对外的接口上由一个VPN设备对用户进行认证。每个部门对应一个vLan。每个部门的虚拟机位于该vLan内部。vLan的隔离性由交换机及各主机上的虚拟化软件保证。虚拟机的隔离性由虚拟化引擎本身保证。此外,操作系统的用户认证也可以对用户信息进行保护。VMWareVMWare(VirtualMachineware)是一个“虚拟PC”软件公司。它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、Linux系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就像标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。VMware是提供一套虚拟机解决方案的软件公司,主要产品分为如下三个。VMware-ESX-Server这个版本并不需要操作系统的支持。它本身就是一个操作系统,用来管理硬件资源。所有的系统都安装在它的上面。带有远程web管理和客户端管理功能。VMware-GSX-Server这个版本就要安装在一个操作系统下了,这个操作系统叫做HOSTOS。这个HOSTOS可以是Windows2000Server以上的Windows系统或者是Linux(官方支持列表中只有RH,SUSE,Mandrake很少的几种),和VMware-ESX-Server一样带有远程web管理和客户端管理功能。VMware-WorkStation这个版本和VMware-GSX-Server版本的机构是一样的。也是要安装在一个操作系统下,对操作系统的要求也是Windows2000以上或者Linux。和Vmware-GSX-Server的区别就是没有web远程管理和客户端管理。VMware产品主要的功能有:1、不需要分区或重开机就能在同一台PC上使用两种以上的操作系统。2、完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料。3、不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制粘贴功能。4、有复原(Undo)功能。5、能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等。6、热迁移,高可用性。负载均衡LVS可伸缩网络服务的设计与实现人类社会正在进入以网络为中心的信息时代,人们需要更快捷、更可靠、功能更丰富的网络服务。万维网的流行促进互联网使用的指数级增长,现在很多站点收到前所未有的访问负载,经常担心系统如何被扩展来满足不断增长的性能需求,同时系统如何保持24x7的可用性。未来的应用将需要更高的吞吐率、更好的交互性、更高的安全性,这要求服务平台具有更强的处理能力和更高的可用性。所以,如何给出合理的框架和有效的设计方法,来建立高性能、高可伸缩、高可用的网络服务,这是摆在研究者和系统设计者面前极富挑战性的任务。本文研究和设计的可伸缩网络服务便是围绕这一任务展开的。可伸缩Web和媒体服务基于LVS可伸缩Web和媒体服务的体系结构,分布式文件系统提供统一的存储空间,这使得系统的维护工作比较方便,且系统运行比较高效。当所有服务器结点超载时,管理员可以很快地加入新的结点来处理请求,而无需将Web文档等复制到结点的本地硬盘上。Webmaster可以看到统一的文档存储空间,维护和更新页面比较方便,对分布式文件系统中页面的修改对所有的服务器都有效。大的媒体文件(如视频文件)分段存储在分布式文件系统的多个结点上,可以提高文件系统的性能和文件服务器间的负载均衡。IP负载调度器(即VS/DR方法,将在下一章详细叙述)可以分别将Web服务和媒体服务负载均衡地分发到各个服务器上,服务器将响应数据直接返回给客户,这样可以极大地提高系统的吞吐率。LVS负载均衡利用LVS作负载均衡,实现自动连接均衡,对用户提供统一的服务访问接口,实现系统整体负载平衡,系统规模对外透明且可灵活在线伸缩。利用LVS作负载均衡,在OpenStack提供的虚拟服务上构建LVS虚拟机webserver集群,同时在LVS的Director节点上进行web链接统计,并以此作为依据新增或减少OpenStack提供的虚拟机数量,从而实现动态伸缩webserver的规模。应用层利用LVS集群IP负载均衡技术和基于内容请求分发技术,构建高性能的、高可用的虚拟服务器。在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。LVS集群的体系结构如图所示,它有三个主要组成部分:负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址上的。它可以是用IP负载均衡技术的负载调度器,也可以是基于内容请求分发的负载调度器,还可以是两者的结合。服务器池(serverpool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。后端存储(backendstorage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。调度器采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。在IP负载均衡技术中,需要服务器池拥有相同的内容提供相同的服务。当客户请求到达时,调度器只根据负载情况从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会被转发到前面选出的服务器。在基于内容请求分发技术中,服务器可以提供不同的服务,当客户请求到达时,调度器可根据请求的内容和服务器的情况选择服务器执行请求。因为所有的操作都是在操作系统核心空间中将完成的,它的调度开销很小,所以它具有很高的吞吐率。服务器池的结点数目是可变的。当整个系统收到的负载超过目前所有结点的处理能力时,可以在服务器池中增加服务器来满足不断增长的请求负载。对大多数网络服务来说,结点与结点间不存在很强的相关性,所以整个系统的性能可以随着服务器池的结点数目增加而线性增长。后端存储用容错的分布式文件系统,如AFS、GFS、Coda和Intermezzo等。分布式文件系统为各服务器提供共享的存储区,它们访问分布式文件系统就像访问本地文件系统一样。同时,分布式文件系统提供良好的伸缩性和可用性。然而,当不同服务器上的应用程序同时访问分布式文件系统上同一资源时,应用程序的访问冲突需要消解才能使得资源处于一致状态。这需要一个分布式锁管理器(DistributedLockManager),它可能是分布式文件系统内部提供的,也可能是外部的。开发者在写应用程序时,可以使用分布式锁管理器来保证应用程序在不同结点上并发访问的一致性。Web站点会因为在一周或一个月的某些高峰时段被访问次数急剧增长而不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量;若依据最大需求建立web服务器,当在访问量空闲时段又会造成资源的大量浪费。这样就要求web服务能够动态伸缩。构建一个通用的、可动态扩展的云平台可以充分满足这一需求的同时,实现资源的充分利用。以下系统基于云的方式构建,在OpenStack提供的虚拟服务上构建LVS虚拟机webserver集群,同时使用云存储系统实现大容量、高可靠的数据存储和共享。系统框架如下:其中:LVS的Director、LoadBalancerBackup部署在OpenStack提供的虚拟机上;Web&MediaServer作为LVS的RealServer,也部署在OpenStack提供的虚拟机上,并动态伸缩;在LVS的Director、LoadBalancerBackup之前使用HeartBeat进行热备切换;在LVS的Director、RealServer之前实现负载均衡调度的同时,使用Ldirectord管理调度策略和对RealServer的健康检测,从而实现故障处理;在RealServer之间使用云存储实现大容量、高可靠的数据存储和共享。Web&MediaServer可使用apache、nginx、lighthttpd常用架构构建,同时在LVS的Director节点上进行web链接统计,并以此作为依据新增或减少OpenStack提供的虚拟机数量,从而实现动态伸缩webserver的规模,在满足用户需求的同时最大程度的利用资源。云处理系统cProccProc框架介绍cProc是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的并行计算。cProc通过把对数据集的大规模操作分发给网络上的每个节点实现数据处理,每个节点会周期性的把完成的工作和状态的更新报告回来。随着节点的增多,cProc的处理能力将成倍数增长。实时性:平台在高效率并行分布式软件的支撑下,可以实时完成数据计算和分析工作,如数据计算、数据查询、和统计分析等。数据计算不会出现数据堆积现象,各类分析和查询工作基本都在秒级完成,具有前所未有的高效性;高可靠性:基于对云计算可靠性深厚的研究积累,彻底解决了当前分布式计算平台易出现的单点故障问题。任何一个节点出现故障,系统将自动屏蔽,而且不会出现丢失数据的现象;可伸缩性:在不停机的情况下,增加节点,平台的处理能力自动增加;减少节点,平台的处理能力自动缩减。这样,可以做到与资源池的无缝对接,根据计算和存储任务动态地申请或释放资源,最大限度地提高资源利用率;高性价比:采用X86架构廉价计算机构建云计算平台,用软件容错替代硬件容错,大大节省成本。在目标性能和可靠性条件下,可比传统的小型机加商用数据库方案节省10倍左右的成本;全业务支持:采用NoSQL+关系数据库混合模式,绝大部分海量数据存放于分布式平台并进行分布式处理,少量实时性要求很高的数据存放于关系数据库,可支撑各种类型的业务。不仅支撑查询、统计、分析业务,还可支撑深度数据挖掘和商业智能分析业务。cProc产品介绍云处理系统cProc基于创新的数据立方(DataCube)结构,是一种处理海量数据的并行编程模型和计算框架,利用云资源管理平台提供的虚拟机资源对大规模数据集进行分布式并行计算和数据统计,从而满足平台数据查询和检索以及应用数据统计需求。云处理系统cProc由5个主要部分组成:虚拟资源层,数据存储层,数据处理层,监控协调层和应用层。图中,自底向上分为4个层面。最下层是虚拟资源层,该共享平台利用OpenStack所提供的计算资源、存储资源和网络资源,作为创新平台数据处理系统的基础设施和支撑平台。在这一层又分为物理层和虚拟层,即在物理集群之上搭建了一层Vmware虚拟集群。这样做有利于充分利用物理资源,因为在物理层物理机的性能可能参差不齐,直接将系统搭建在物理集群之上很可能造成负载的不均衡,如果根据物理机的性能来部署虚拟机,就可以通过调整配置使得各个虚拟机之间性能达到平衡,从而使部署在虚拟集群上的系统出现负载不平衡的几率达到最低。第二层是数据存储层,在这一层将根据数据的所占空间以及速度要求将数据分配到不同层次的存储空间中。最上层是一个作为缓存的MySQL集群,另外三层包括部署在机械磁盘上的Hadoop的HDFS分布式文件系统、部署在固态磁盘上的HDFS以及分布式内存存储系统MemCache。第三层是数据处理层,其中包括计算架构层和业务层。计算架构层中的云处理系统是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的并行计算。云处理系统通过把对数据集的大规模操作分发给网络上的每个节点实现数据处理,每个节点会周期性的把完成的工作和状态的更新报告回来。随着节点的增多,云处理系统的处理能力将成倍数增长。而Hadoop的MapReduce并行计算架构则适用于对大规模数据进行全局读写扫描分析和批处理计算。业务层由四个部分组成:数据合成、PSMM、DT数据入库处理模块和数据管理模块。数据入库处理模块负责数据的下载与入库,其中的FTP下载加速引擎用于使用多线程和断点续传技术加速数据文件的下载,数据压缩引擎用来对入库前的数据进行压缩减少数据容量从而加速入库速度。数据管理模块包括了单用户数据查询模块、数据查询统计模块。最上层是应用层,主要供用户查询、监视相关的API接口以及JDBC/ODBC、REST等API接口。图中右侧是监控协调层,其中由ZooKeeper集群负责监控整个集群同时做负载平衡以及保证存储系统和计算架构的可靠性。此外,WorldEyes是云处理系统项目的一个子项目,主要解决对系统中所有系统消耗与系统性能的动态监控。cStor云存储系统cStor框架介绍 cStor云存储系统是国内最早实现并保持领先的云存储系统,整套系统包括软件与硬件,是一个海量的云存储平台。与传统的大规模存储系统相比,它具有构建成本低、性能高效可靠、使用简单方便的特点。在需要存储大量数据(如视频数据、业务数据等)的应用场合,可以大幅提高存储系统性价比。与目前国际上知名的Google、Amazon等云存储相比,具有更高的性价比、更低的能耗、更加通用和更方便的使用模式。 cStorC1000存储机柜产品优势1、高度可靠 高可靠的冗余备份机制,支持多重数据保护,根据数据可靠性需求可灵活设置备份,自动屏蔽故障,提供7x24小时不间断存储服务;cStorC1100元数据服务器2、超高性能 支持高并发、带宽饱和利用,数据在多个节点上并行读写,服务器自动均衡负载,系统性能随节点数增加而线性增长,性能与节点规模成正比,没有性能瓶颈;cStorC1101存储服务器3、超大规模 可支撑的容量接近无限,理论容量为1024x1024x1024PB(1G个PB容量);4、绿色节能 自主研发的超低功耗云存储硬件节点,主板尺寸为20cm*20cm,功耗仅为10W左右(不含硬盘),比业界的200W低20倍;5、超高集成 由于解决了能耗的问题,散热不成为集成度的瓶颈,因而可以在1个标准的42U机架上集成多达80个存储节点,总容量高达1024TB;6、动态伸缩 不必停止服务,即可根据存储容量的需求,灵活增减存储节点;7、智能管理 一键式安装,智能化自适应管理,简单方便的监控界面,无需学习即可使用;8、简单通用 支持POSIX接口规范,支持Windows/Linux,用户当成海量磁盘使用,无需修改应用;中国软件评测中心评测结果:cStor产品介绍云存储系统是整个云平台的基础,它将物联网各类检测数据信息,集中存储到云存储服务器中,云处理系统可以对云存储系统中的数据进行智能分析、统计、提取有价值的信息,以多字段索引条目的形式对其划分成块进行存储,在需要访问相关有价值信息时,可以通过索引字段来快速访问以便提取感兴趣的信息。下图为云存储的系统架构,主要由五部分组成:1.块数据存储节点将文件按照固定大小进行分块,默认是64MB,每一块称为一个Chunk(数据块),每个Chunk都有一个对应的索引号(Index),数据块存储在块数据存储节点上,根据可靠性需求的不同,可设置备份块的数目,以实现在不同块数据存储节点上的冗余备份存储。2.元数据管理节点元数据管理节点对文件名称、文件属性、数据块信息等元数据进行存储和管理。3.卷管理服务器由一个元数据管理节点及多个块数据存储节点构成了一个卷。通过卷管理服务器将多个卷虚拟为一个无限大的云数据存储空间,该节点提供针对用户端的卷管理和分配。4.用户挂载客户端通过用户挂载客户端实现将卷映射到本地文件系统的目录,兼容POSIX接口,挂载后就和操作本地的文件系统一样。5.配置与监控中心提供针对各存储节点的管理配置与状态监控告警功能。云存储系统中,由云存储元数据管理服务器Master和存储节点服务器ChunkServer构成一个虚拟的云空间磁盘卷。Master在逻辑上只有一个,但支持双机镜像使用。Master保存系统的元数据,负责整个文件系统的管理,是云存储文件系统中的“大脑”。ChunkServer负责具体的存储工作。数据以文件的形式存储在ChunkServer上,ChunkServer的个数可以有多个,它的数目直接决定了云存储系统的规模。云存储系统将文件按照固定大小进行分块,每一块称为一个Chunk(数据块),每个Chunk都有一个对应的索引号(Index)。 客户端在访问云存储系统时,首先访问Master节点,获取将要与之进行交互的ChunkServer信息,然后直接访问这些ChunkServer完成数据存取。云存储系统的这种设计方法实现了控制流和数据流的分离。Client与Master之间只有控制流,没有数据流,极大降低了Master的负载,使之不成为系统性能的一个瓶颈。Client与ChunkServer之间直接传输数据流,同时由于文件被分成多个Chunk进行分布式存储,Client可以同时访问多个ChunkServer,从而使得整个系统的I/O高度并行,系统整体性能得到提高。cStor系统设计策略一、元数据存储设计策略为提供高速的客户端响应,元数据存储于元数据管理节点(Master)服务器的内存中,并于本机进行持久化备份;元数据管理节点为主备双机方式,提供高可靠不间断元数据管理服务,单机故障时可实现无缝快速切换;考虑大容量数据存储时文件数量多,元数据容量大的问题,系统将元数据进行分布式存储,采用多个元数据管理节点进行元数据管理;支持灵活的空间挂载,可根据业务划分灵活地将不同业务数据挂载到不同的分布式元数据管理节点和数据存储节点;二、数据节点存储策略文件数据在大于一定空间的情况被划分为多个数据块(chunk),数据块被分布存储到不同的数据节点服务器(DataNode)。每个块可被设置为备份一定的份数,块信息被元数据管理节点管理,数据备份时由数据节点进行串行复制到其它数据节点DataNode进行备份;(1)分布式存储策略cStor采用中心服务器模式来管理整个文件系统,可以大大简化设计,从而降低实现难度。中心管理服务器模式如下图:Master管理了分布式文件系统中的所有元数据。文件划分为Chunk进行存储,对于Master来说,每个ChunkServer只是一个存储空间。Client发起的所有操作都需要先通过Master才能执行。这样做有许多好处,增加新的ChunkServer是一件十分容易的事情,ChunkServer只需要注册到Master上即可,ChunkServer之间无任何关系。如果采用完全对等的、无中心的模式,那么如何将ChunkServer的更新信息通知到每一个ChunkServer,会是设计的一个难点,而这也将在一定程度上影响系统的扩展性。Master维护了一个统一的命名空间,同时掌握整个系统内ChunkServer的情况,据此可以实现整个系统范围内数据存储的负载均衡。由于只有一个中心服务器,元数据的一致性问题自然解决。当然,中心服务器模式也带来一些固有的缺点,比如极易成为整个系统的瓶颈等。cStor采用多种机制来避免Master成为系统性能和可靠性上的瓶颈,如尽量控制元数据的规模、对Master进行远程备份、控制信息和数据分流等。客户端对文件进行分块,然后可以选择不同的块存储到不同的存储服务器上,下一个块存储到负载比较小的存储服务器上,相对整个存储空间来说,实现了分布式存储。(2)分级存储策略 cStor存储系统采用了分级技术,把存储信息根据信息的重要性、访问频率等对信息进行了分级存储,将文件的元数据等访问频繁的重要信息时刻保持在线存储,开机后保存在内存中,可以随时读取和修改,以满足前端应用服务器或数据库对数据访问的速度要求。将其它备份数据、冗余容错的数据等访问量小的数据等采用廉价的SATA硬盘存储。对于访问量小的数据采用离线存储,一旦需要访问这些数据可以使用相应的唤醒策略来实现将离线转为在线,如通过网络唤醒等。(3)动态存储策略在大规模数据存储过程中,cStor采用这样策略,当客服端向管理服务器请求块存储数据时,管理服务器会通知负载相对比较小的存储服务器创建块和在相对此存储服务具用备份的意义存储服务器上创建块,所谓的备份存储服务器是指位于不同物理分布位置能够起到数据容灾的存储节点,然后客户端的数据块存储到相应的位置。有以上分析可知动态存储实现策略主要包涵以下两个方面:1)数据块存储位置选择。2)数据块副本存储位置选择。如下图:三、高可靠性策略对于元数据服务器可能出现的单节点问题可以用如下策略:双机正常工作数据流说明:系统文件数据发生变更时,MasterA【主用】发送日志变更信息给MasterB【备用】中的Metalogger;Metalogger将日志写入文件,并同时将日志发送给Master【备用】;Master【备用】收到日志后,进行日志恢复,并与已有数据合并。MasterA宕机数据流说明:MasterA宕机后,MasterB自动升级为主用;MasterB对外服务,系统文件数据发生变更时,Master将日志写入文件。MasterA恢复;数据流说明:MasterA恢复后,状态为备用;系统文件数据发生变更时,MasterB【主用】发送日志变更信息给MasterA【备用】中的Metalogger;Metalogger将日志写入文件,并同时将日志发送给MasterA【备用】;MasterA【备用】收到日志后,进行日志恢复,并与已有数据合并。解决了管理服务器的单节点问题后,在大规模数据统一调度过程中要害保证存储节点的完整性。在客户端对文件进行以64M分块,考虑到一个集群通常都有好几百台机器、几千块硬盘,磁盘损坏导致数据在读写过程中损坏或者丢失是非常常见的,我们可以通过别的块副本来解决数据损坏问题,但是跨越存储服务器比较副本来检查数据是否损坏很不实际,因此,每个存储服务器必须独立维护校验和来校验自己的副本的完整性。我们把每个块都分成64KB大小的块。每个块都对应一个32位的校验和。和其它元数据一样,校验和与其它的用户数据是分开的,并且保存在内存和硬盘上,同时也记录操作日志。四、客户端访问策略挂载客户端通过卷管理服务器获取卷空间;挂载客户端与相应的卷空间元数据节点Master建立通信连接和元数据操作,获得数据块节点存储信息;挂载客户端与相应的数据节点DataNode进行数据读写。数据节点DataNode根据合适的备份策略向相应的其它数据节点发送块数据进行备份。五、负载分担调度策略 cStor系统采用可扩展的系统结构,结合相应算法,利用多台存储服务器分担存储负荷和位置服务器定位存储信息,进行分布式存储,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展,从而实现了分布是存储。在cStor存储系统中,客户端主要进行的是文件的写、读等操作。写时,元数据服务器根据负载均衡算法选择存储服务器集群中当前性能最优的存储服务器节点。如果仅限于此,当遇到高并发读同一文件时,则存储该份文件的存储服务器必然会超载甚至崩溃。解决方案是采用根据文件访问流行度的副本生成策略,将文件根据访问频率复制N个(具体N值取决于副本生成策略)副本存储到其它存储服务器节点上。在此基础上进行读,元数据服务器根据负载均衡算法在多台具有文件副本的存储服务器节点中选择最优节点。六、自适应容错策略 在客户端对文件进行以64M分块,考虑到一个集群通常都有好几百台机器、几千块硬盘,磁盘损坏导致数据在读写过程中损坏或者丢失是非常常见的,我们可以通过别的块副本来解决数据损坏问题,但是跨越存储服务器比较副本来检查数据是否损坏很不实际,因此,每个存储服务器必须独立维护校验和来校验自己的副本的完整性。我们把每个块都分成64KB大小的块。每个块都对应一个32位的校验和。和其它元数据一样,校验和与其它的用户数据是分开的,并且保存在内存和硬盘上,同时也记录操作日志。对于读操作来说,在把数据返回给客户端或者其它的块服务器之前,块服务器会校验读取操作涉及的范围内的块的校验和。因此存储服务器不会把错误数据传递到其它的机器上。如果发生某个块的校验和不正确,存储服务器返回给请求者一个错误信息,并且通知管理服务器这个错误。作为回应,请求者应当从其它副本读取数据,管理服务器也会从其它副本克隆数据进行恢复,当一个新的副本就绪后,管理服务器通知副本错误的存储服务器删掉错误的副本。如果写操作覆盖已经存在的一个范围内的块,我们必须读取和校验被覆盖的第一个和最后一个块,然后再执行写操作;操作完成之后再重新计算和写入新的校验和,如果我们不校验第一个和最后一个被写的块,那么新的校验和可能会隐藏没有被覆盖区域内的数据错误。 在块服务器空闲的时候,它会扫描和校验每个不活动的块的内容。这使得我们能够发现很少被读取的块是否完整。一旦发现有块的数据损坏,管理服务器可以创建一个新的、正确的副本,然后把损坏的副本删除掉。这个机制也避免了非活动的、已损坏的块欺骗管理节点,使管理服务器节点认为它们已经有了足够多的副本。七、性能与容量动态伸缩策略 在设计大规模数据存储系统时,尽可能减少对管理服务器的访问,客户端和存储节点直接交互数据,就要做到数据流和控制流分离,存储服务器采用块级存储,所有客户端访问的存储服务器最大可能分散到整个存储集群,这样就分担了网络带宽和实现多I/O节点访问,实现网络带宽最大利用率和克服I/O瓶颈。如一次写入数据量很大,或着数据跨越了多个块,客户端代码会把数据分为多个写操作。随着存储服务器的增加,多客户端的读写性能越高,存储服务器的减少,系统的I/O会较少,系统性能就会下降。所以,采用分布式设计间接的实现了性能伸缩。 为了解决单集群无法满足存储要求,我们采用卷管理的设计是想,采用卷管理服务器管理元数据服务器,大大扩展了系统的容量。cStor关键技术一、元数据分布式存储技术考虑热点数据的分布信息,通过将海量的元数据有效地分散存储在多个元数据服务器上来降低存储负载。采用分级聚集机制来存储数据,来保证查询结果的有效性和准确性。分析元数据多维属性信息的语义特征,将相关文件组织在相同或相近的组内,多个组构成语义R-tree结构,可实现多维数据的复合查询。相关查询、添加/删除和更新操作可以在有限的小区域内完成,降低操作的执行代价。 二、低成本高可靠性技术针对数据存储节点主要是数据的读写访问的特性,而没有其它计算,因此设计的低功耗数据存储节点,一个主板最大能够支持16块硬盘;从而实现硬件成本和能耗的大大降低。针对数据块可设定备份因子数目,在不同的数据存储节点上的备份,从而实现数据的超安存;可针对不同目录,不同级别的数据进行不同的备份因子设置,如对可靠性级别较高的数据可将相应的备份因子设置高一些,从而达到最大的可靠性要求。三、高速并发访问技术采用并发写入和读出分布式数据块,确保网络带宽饱和利用,确保读写访问速率。可提供不同用户级别的带宽服务质量保证QoS,以确保高优先级应用的数据读写速率;四、高速IO技术目前针对传统的硬盘,在万兆网卡的条件下,单用户的吞吐率理论上达到1GB/s,通过针对SSD(SolidStateDisk)固态硬盘读写IO驱动优化技术,从而实现访问存储空间时达到更高的存储读写吞吐率。与目前的传统硬盘相较,具有低耗电、无噪音、产生热量低、耐震、稳定性高、耐低温等优点,缺点是目前价格稍高。传统典型的硬盘驱动器只能在5到55℃范围内工作。而大多数固态硬盘可在-10~70℃工作,一些工业级的固态硬盘还可在-40~85℃,甚至更大的温度范围下工作。五、数据安全控制技术访问控制:支持用户级别的数据访问认证,存储空间级别认证和目录级认证,确保数据的安全访问控制;数据完整性:通过上述高可靠性技术确保数据完整、可靠;加密安全:数据实现块级别存储,同时可自由结合安全加密软件、云查杀病毒软件等对数据进行最大的安全保护。六、超安存技术cStor拥有独特的超安存技术。超安存技术是一种解决数据存储的可靠性的关键技术。该技术对数据按照一定的算法进行编码,形成若干个分片,当其中部分分片损坏后,通过译码算法仍然能够恢复原始数据。它包括两个关键技术:第一是编解码算法自身;第二是编解码算法实现的优化。从算法的特性讲,超安存技术相对于完全复制的冗余方式,在相同的冗余度下,使用该算法后数据的可靠性更高;在同样的数据可靠性下,使用该算法将比完全复制方式的冗余度更低。高顽性存储技术的技术原理是:将需要存储的原始数据进行超安存编码,使得N块数据经编码后变为N+M块新数据并分别存储于不同的节点上。任意一块编码后的数据都不直接反映原始数据内容。在取用数据时,只要从N+M个数据块中任意取回N块,都可经过反编码恢复原始数据,从而使得分布式存储系统在损失任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论