免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3808 | 回复: 0

云计算环境下的数据存储 [复制链接]

论坛徽章:
0
发表于 2011-02-28 13:18 |显示全部楼层
云计算环境下的数据存储





云计算是一种基于服务的架构体系,有两种基本服模式:云计算和云存储。基于云计算服务的应用程序,无论是金融服务还是网络角色扮演游戏,几乎在所有情况下都需要高性能的云存储来满足数据处理的需求[1]。网络时代是一个信息时代,随着Web2.0技术的成熟,大量的信息以井喷的姿势出现在互联网上,如何应对这种信息爆炸式的增长速度,如何对这些信息进行有效存储和管理,云存储是否能够应对这种情况,如何才能保证云存储的高性能,如何才能保证云存储的灵活性,这些是本文探讨的问题。
  1 云计算环境下的云存储实现
  1.1 选择云存储的理由
  我们可以列出相比现有存储技术,选择使用云存储的理由。
  首先,相比传统存储,云存储的购买模式更加灵活。普通企业构建一个数据中心(购买服务器,数据维护,能源消耗[2]等),所需要的一次性投资巨大,而使用云存储,企业可以根据经济状况,灵活决定选择租用公共云存储或者自己实现私有云存储。云存储服务商都有专业的存储解决方案,针对存储效能进行了最大的优化,存储成本在虚拟化平台上实现颗粒性统计,尽力在使用成本和用户可以接受的价格之间寻找平衡点,以规模经济来获取效益。因此相对于用户构建的数据中心,普通的中小企业在平均业务数据量不大的情况下,租用合适的公共云存储,可以很好的解决中小企业资金预算问题。
  其次,云存储可以很好的应付突发的大访问量。企业在构建数据中心时,一般会考虑到数据中心的处理性能,为企业用户提供良好的服务,但如果遇到突发性的大访问量,企业自己的数据中心往往无法应付,比如大型赛事的购票系统,餐饮行业的订餐系统,试运营阶段的网络联机游戏等,都会遇到这种突发性大访问量,这种情况下如果使用了云存储服务,利用云存储的服务器集群和虚拟化技术,临时调用计算和存储资源,分配给服务器和存储子模块,可以很好的为企业解决类似问题。
  再次,可以提供存储服务的同步升级和数据的有效管理。企业构建自己的数据中心,需要购买相应的网络存储控制器设备和存储管理软件,这些设备和软件的升级管理往往需要在不影响用户使用的情况下进行。同时数据的备份、归档也需要有效的管理,防止突发性破坏事件影响用户使用。这些活动都具有一定的风险,需要经验丰富的数据管理人员进行维护。而使用云存储服务,则可以一定程度转嫁这些风险。客户在与云存储服务提供商签订云存储服务时,都会就系统升级,数据备份、归档等达成协议,由云存储服务提供商负责承担,同时有响应的风险承诺,让企业确信这些数据管理活动能够将风险降至最低。
  正是由于云存储具有传统企业数据中心所不具有的这些优势,越来越多的企业正在逐步将数据中(续致信网上一页内容)心向云端转移,那么如何构建一个云端的数据存储架构。
  1.2 云计算环境下数据存储架构
  1.2.1 服务器架构技术
  构建云存储首先要构建云存储的服务器架构,服务器架构属于云计算的IAAS部分,还没有形成一个统一标准,可以通过多种架构技术来实现。常用的构架技术如附网存储NAS和存储区域网SAN。
  NAS是一种分布式架构的文件存储系统,属于松散结合型集群,通常可以满足以云存储为主导的环境需求。在NAS文件系统集群中,每个节点是一个独立的实体,很多卷被分配到节点中,而集群中的其他节点是无法访问这些卷的。在这里,最小的单位是文件,归属于节点。当一份文件被保存在集群中的时候,它的数据就会被完整地保存在集群中某个特定节点中。虽然这个文件的多个副本会被重新定位到其他节点来提供冗余性,但只有该节点才能提供这个文件的单实例。NAS具有较低的成本,集群系统也易于扩展,基于文件级别的节点易于提供安全控制机制,但在客户端请求过多时,NAS服务器会成为系统瓶颈,一般使用NAS集群的云服务可以满足企业二级存储需求,云存储市场已经开始较多采用NAS这种松散结合型存储集群,NAS存储架构如图1所示。
  SAN是一种集群架构的块存储系统,属于紧密结合型集群。随着文件被保存到集群中,它们被分成了很多个数据块,而且这些数据块对于集群中的其他任何节点来说都是可访问的。当有文件请求的时候,每个节点会访问这个文件的不同数据块以处理应用或者用户的请求,利用P2P技术,SAN在用户请求越多时,响应请求的可用节点越多,性能就越高。SAN存储架构是一种集群式架构,非常适合云服务提供商构造自己的云服务器,可扩展性良好,数据传输效率也很高,配合也适当的P2P、重复数据删除技术,能满足企业一级存储需求,但是使用SAN架构的硬件成本较高,基于 SAN架构的云存储服务价格一般较高,可通过适当的性能降低来控制成本,SAN存储架构如图2所示。
  除了以上两种服务器架构,还有其它的架构技术,如OBS,集成文件系统等,都是在SAN的基础上进行扩展,在追求更好性能的同时对成本进行适当控制。
  1.2.2 服务器间数据传送
  针对以上两种服务器架构,有三种常用数据传送方式。
  NFS/CIF是NAS架构的数据传送协议[3-4],使用NFS或者CIF数据传送接口,可以实现异构平台之间的数据共享。前者在Windows客户端上加载NFS客户端软件,使Windows客户端融入以UNIX为主导的网络,后者在UNIX服务器上加载CIFS服务器端软件,使得UNIX服务器就像本地Windows服务器一样工作。NFS/CIF使NAS架构服务器之间连成一个整体,共同提供云存储服务,在集群环境和分布式网络环境下都有很好的表现,但是本身数据传送效率一般。
  iSCSI是SAN架构的数据传送协议,使得单个客户端的应用程序能够像使用本地资源一样的使用服务器上的资源,其操作后的结果对其他客户端是不可见的。iSCSI拥有高速元数据缓存器,具有较高的存储性能。但是iSCSI只适合集群架构的SAN框架,如果将SAN以分布式云存储方式实现,在将iSCSI的系统内部块级存储访问推广到Internet上时,会遇到高数据流量、低延迟等性能、数据安全性以及系统级高容错要求所产生的通信交互规则等技术难点。
  FC是高速光纤通道,所构建的云存储系统具有快速、高效、可靠的数据传递效率,主要应用在性能要求较高的金融、电信等领域。FC设备成本高,同时不支持直接在因特网上运行,在进行网络互联时,具有较为复杂的应用异构性,并且高速光纤具有物理覆盖的局限性,因此在构建云存储系统时,FC一般仅适用于高效、高端云系统。
  1.3 平台层云存储关键技术
  选择合适的服务器架构和数据传送方式,构成了云存储的硬件基础,而如何在这个硬件环境下搭建合适的软件平台,则是充分发挥云存储性能的保证。
  1.3.1 虚拟化技术
  虚拟化技术是数据中心虚拟化的核心技术,在云存储系统中也是起着重要作用。通过虚拟化技术,如IBM的Enterprise Workload Manager[5],可以将单台服务器上的硬件资源进行划分,如处理器资源,内存资源和存储空间,都可以单独划分,然后根据客户需要,将划分的硬件资源通过虚拟化软件技术(如Xen、Hype-y等),进行组合,组合出满足客户要求的虚拟系统,并且该虚拟系统可以根据使用情况,利用虚拟平台的池化技术进行动态变更,以满足系统变化。云存储效用计算就是基于虚拟化技术的,效用计算使云计算服务提供商可以根据虚拟出来的单个存储单元的使用时间进行收费。通过虚拟化技术,可以满足云存储多租户,可预测,自动调节等架构需求。
  1.3.2 存储管理系统
  构建在虚拟平台上的存储管理系统,同样在云存储系统中担负着重要角色。一款基于云存储的优秀存储管理系统,可以为云存储的性能带来极大的提升。如设备发现功能,允许服务提供商为云系统动态增加新的服务器,提升云的整体配置;故障管理功能,自动故障检测功能,如果用户租用的虚拟系统对应的服务器发生故障,自动为用户开启新的存储空间,并从冗余备份服务器中恢复资料;集群管理功能,实现负载的监视、均衡和转移,自动调整用户应用在服务器中的转移,控制云系统集群服务器的使用情况,给用户提供最优服务;分级存储功能,根据对数据存储的不同需求和节省成本的考虑,利用成本和使用效率不同的存储介质,提供在线、近线和离线存储功能,在保证存储可用性的同时,自动选择最经济的存储方案,为用户数据的归档、备份、镜像和恢复提供保证;安全管理功能,保证资源的访问控制和存取控制等。一款优秀的存储管理系统,是底层存储架构能充分发挥其性能的重要保证。
  1.3.3 云存储服务API
  云存储服务API能够使独立软件供应利用云存储功能开发产品。通过提供云存储API,独立软件供应商对数据保存的方式和位置有更高的控制权,节省部署流程所需的时间。如EMC开发的Archive Services Platform API,Amazon的Restful API[6],都可以为应用提供除了简单云存储之外的更强大功能,通过使用SOAP或者Restful网络服务,提供包括搜索、找回和保存等功能。这样的API可以向软件供应商的应用中增加新功能而不需要进行额外的部署,这对独立软件供应商来说是一个强有力的支持。软件供应商可以通过增加新功能、节约部署投资和减少实际部署时间来加速进入市场的进程。云存储API为SAAS层应用服务,为了能够使用户在不同的云系统之间进行数据的自由迁移,越来越多的云服务提供商都在考虑将自己的云存储API开源,希望在API接口上形成统一标准。
  1.4 云存储系统构成
  云存储构建于云计算环境,因此其分层结构应该与云计算分层结构一致。如图3所示,IAAS层由服务器集群技术构成,PAAS层由虚拟软件,存储管理软件和云服务API接口构成,SAAS层由云服务和云应用构成。通过贯穿于云计算环境下的各层要素,共同构成云存储系统,如图3所示。
  2 构建企业云存储
  2.1 商业化的云存储系统
  基于云存储理论的商业化存储产品已经在数据存储领域涌现。
  Amazon是最早推出云存储服务的公司,开发了自己的一系列存储技术。布了简单存储服务(simple storage service,简称S3),用户使用SOAP协议存放和获取自己的数据对象;出了简单队列服务(simple queue service,简称SQS),这项服务能够使得托管虚拟主机之间发送的消息,支持分布式程序之间的数据传递,无须考虑消息丢失的问题;提供了EBS(elastic block storage)服务,为用户提供块级别的存储接口。Amazon通过自己的探索,在云存储概念明确之前,已经开始提供良好的云存储服务。
  Google是最早提供开源云存储API接口的公司,定义了一套大规模数据库管理系统BigTable,并提供了MapReduce分布式编程环境,除了用于Google自己开发的云服务以外,也用于云存储应用开发商开发自己的云存储服务和云应用服务。Google开发的GFS(Google File System,一种基于SAN架构的集群文件系统),在性能、伸缩、可用性和可靠性都有较好的表现。
  IBM的蓝云结合了GFS集群文件系统和基于块设备方式的存储区域网络SAN。由SAN提供块设备接口,并在这些块设备接口上选择了GFS分布式文件系统。SAN的一个标准的文件系统如果被多服务器同时使用的话,数据容量很快就能让整个系统崩溃。为了能够对同时修改该系统的其它文件系统进行协调,蓝云使用了GFS,可以针对全球的Linux文件系统进行协调。
  各种商业化云存储系统在不断出现,随着云存储标准的逐渐完善,这些系统将不断朝着更优的服务,更好的兼容性,更低的成本方向发展。
  2.2 云存储构建企业数据中心
  企业的数据中心经历了从传统数据中心到虚拟化数据中心的变革。随着云计算和云存储概念和技术的不断成熟,企业数据中心正经历着向云数据中心转变的新的变革。小型企业通过将数据中心向云存储端转移,可以很好的控制数据中心成本;而大型企业除了租用公共云存储服务以外,也开始着手建立自己的私云存储数据中心。
  对于数据中心要求较高的大型企业,往往对数据安全有较高的要求,租用公共云存储服务,将企业生存的命脉数据存放于云服务提供商的云端数据中心,仍然会存在一定的风险,因此可以采取构建私云存储来解决这个问题。如果企业私云存储自己提供存储灾备和冗余备份系统,那么它在IT资源合理化重组上仍然具有本地厚重配置,高成本,缺乏弹性之类的典型特征。因此,企业可以将生产数据等企业核心数据作为第一级存储,采用FC-SAN等高速存储架构构建私云存储,同时将租用的,价格低廉的,采用NAS低速架构的云存储服务作为第二、三级存储,为企业提供文件数据存储和冗灾备份功能的存储服务,通过这种混合云的体系架构,达到存储的优化配置。
  3 小结
  云计算是网络时代发展的又一个高潮,随之伴生的云存储在其中起着推波助澜的重要作用。如何构筑高效云存储,如何控制云存储系统成本,如何利用有效云存储系统,这些问题随着云存储技术的广泛应用将会逐渐得到解决,我们密切关注着这一进程。云存储问题的有效解决将为云计算应用的普及打好坚实基础。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP