当前位置:首页 » 服务存储 » 网络云存储开发
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

网络云存储开发

发布时间: 2022-06-12 03:47:49

1. 云端磁盘:网络巨头如何存储数据(上)

当你和成千上万的其他人同时提交搜索时,这个快照也正在不断地随着这些变化被更新着。与此同时,数据是由数以千计的独立服务器进程处理的,每个都各司其职,从计算出给你提供的相关联广告,到决定搜索结果的排列顺序。 支持谷歌搜索引擎的存储系统必须能够承受每天由运行于数以千计的服务器上的成千上万的独立进程所发出的数百万计的读写请求,几乎不能停机来备份或维护,还必须不断扩容以容纳由谷歌网页抓取机器人添加的日益扩大的众多页面。总体下来,谷歌每天要处理超过20PB。 这可不是谷歌可以从一个现成的存储架构就能完成的。而且对于运行超大规模的数据中心的其他网络和云计算巨头来说也是如此,比如亚马逊和Facebook。虽然大多数数据中心已经通过在一个存储区网络添加更多硬盘容量来解决扩充存储的问题,更多的存储服务器,通常是更多的数据库服务器,因为云环境的性能限制,这些方法却失效了。在云环境下,任何时候都可能有成千上万的活跃用户的数据,而且数据的读写在任何时刻都能达到数千TB。 这不仅仅是一个关于磁盘读写速度的简单问题。以这些卷上的数据流来讲,主要的问题是存储网络的吞吐量;即使有最好的交换机和存储服务器,传统的SAN架构也能成为数据处理的性能瓶颈。 接下来就是老生常谈的扩大存储的成本问题。超大规模网络公司增加容量的频率(举个例子,亚马逊现在每天为其数据中心增加的容量相当于整个公司在2001年全年的容量,根据亚马逊副总裁杰姆斯·汉密尔顿的说法),用大多数数据中心的同样做法来摆平所需的存储,依照所需的管理,硬件和软件成本,花费将是巨大的。这种花费在关系数据库被添加到混合数据库时甚至更高,这取决于一个组织对它们的分割和复制如何处理。 对于这种不断扩展和持久存储的需求,驱使互联网巨头——谷歌,亚马逊,Facebook,微软等等——采取一种不同的存储解决方案:基于对象存储的分布式文件系统。这些系统至少都部分受到其他分布式集群文件系统的启发,如Red Hat的全局文件系统和IBM的通用并行文件系统。 这些云巨头的分布式文件系统的架构把元数据(关于内容的数据)从它存储的数据中分开。这能通过多个副本对数据进行大量并行读写操作,并且抛掉了像“文件锁定”这样的概念。 这些分布式文件系统的影响远远超出了它们为超大规模数据中心而创建的范畴——它们会直接影响那些使用公共云服务的公司(比如亚马逊的EC2,谷歌的AppEngine和微软的Azure)如何开发和部署程序。公司,大学和政府机构寻找一种快速存储和提供大量数据访问的方法正日益变成受云巨头们启发的数据存储系统的新阶段。因此有必要了解一下它们的发展史和过程中所做的工程折衷方案。谷歌文件系统 谷歌是最早面对存储容量问题的主流网络公司中的一家。在2003年,谷歌工程师们找到了问题的答案,就是建立一个可为谷歌数据中心战略定制的分布式文件系统——谷歌文件系统(GFS)。 谷歌文件系统几乎是所有公司云服务的基础。它能够处理数据存储,包括公司的BigTable数据库和为谷歌的AppEngine“平台即服务”的数 据储存,并且为谷歌搜索引擎和其他程序提供数据。谷歌创建谷歌文件系统的设计决定推动了大量云架构下的软件工程技术,反之亦然。谷歌往往把程序数据储存在 大量的文件里,并把文件作为“生产者-消费者队列”使用,数以百计的机器收集的数据可能被写入同一个文件。这个文件可能会由另一个合并或分析数据的应用程 序处理——或许甚至是在数据正被写入的时候。 “这当中的某些服务器一定会出错——因此谷歌文件系统被设计为能够容忍这种错误,不会丢失(太多)数据”。 谷歌为自己保留了大量技术细节,原因很明显。但是由谷歌研究员Sanjay Ghemawat,首席工程师Howard Gobioff和高级工程师Shun-Tak Leung在2003首次发表的报告中提到,谷歌文件系统在设计上是带有一些非常具体的优先考虑的:谷歌想把大量便宜的服务器和硬盘驱动器变成一个可以储 存数百TB数据的能够在出错时自行管理可靠的数据存储。并且它需要被设计成按谷歌的方式收集和读取数据,允许多个应用程序同时把大批量数据添加到系统上, 且能以高速访问。 就像是一个RAID 5存储阵列通过多磁盘放置数据进行出错保护,谷歌文件系统把文件分成固定大小的块,复制到整个服务器集群。因为它们是用着廉价硬盘的电脑,其中一些服务器肯定会出错——因此谷歌文件系统被设计为能够容忍这种错误,不会丢失(太多)数据。 但是RAID和GFS的相同点就到此为止了,因为那些服务器可以分布于网络——既可以在第一个单独的物理数据中心也可以分散于不同的数据中心,取决 于数据的用途。GFS设计主要用于批量处理大量数据。重点是高速读取数据,而不是到文件中某个部分的访问速度,也不是数据写入到文件系统的速度。GFS提 供如此高输出是以牺牲更高密度的读写和更快速度的数据写入为代价的。正如Ghemawat和公司在文件中所说,“在文件中任意位置的小的写入是支持的,但 不一定非要高效。” 这种分布式的性质,随着GFS处理数据量的庞大——数百万的文件,当中很多都超过100MB而且通常都会变成GB——需要一些取舍,以便让GFS和 你通常安装在一台服务器上的文件系统有很大的不同。因为成百上千的独立进程可能同时对一个文件进行写入和读取,GFS需要支持“原子性”数据——在不影响 其他程序的情况下回滚出错的写入。而且它需要以非常低的同步开销保持数据的完整性以避免拖垮性能。 GFS由三层组成:GFS客户端,处理程序数据请求;管理服务器,用内存中的索引追踪数据文件名和所在区块的位置;还有数据存储服务器本身。最初, 为简单起见,GFS为每个集群使用一个单独的管理服务器,因此系统被设计成让管理服务器尽可能避开数据访问。谷歌已经发开出了一个分布式管理服务器系统, 可以控制数百台管理服务器,每一台都能处理大约1亿个文件。 当GFS客户端收到一个特定数据文件的请求,它需要从管理服务器请求数据的位置。管理服务器提供其中一个副本的位置,之后客户端就可以直接与存储服务器进行沟通,用来读写剩下的其他部分。管理服务器就不再参与其中了,除非有错误发生。 为确保数据是高度可用的,GFS舍弃了其他一些东西——比如各副本间的一致性。GFS确实坚持数据的原子性——如果写入失败,它将返回一个错误,然 后将写入回滚到元数据,并产生一个旧数据的副本。但是管理服务器在数据写入上的介入缺失意味着当数据写入到系统时,它不能立刻让副本遍布整个GFS集群。 在处理对数据同时访问和网络限制的必要性之外,该系统遵循谷歌所谓的“宽松一致性模型”。 这意味着GFS对于在必要时从旧的副本提供陈旧的数据完全不在乎——只要数据最终得以更新。管理服务器的追踪变化,或“突变”,当变化发生时,区块中的数据会用版本号来指示。由于一些副本被留下了(或变“旧了”),GFS管理服务器会确保这些区块在更新前不会送至客户端。 但这并不一定发生在已经连接到那些区块的部分。元数据的变更在管理服务器处理这些变更,并将它们反映在元数据前是不可见的。元数据也需要在多个位置 生成副本,以防管理服务器出错——那样的话整个文件系统就丢失了。而且如果在写入过程中管理服务器有错误发生,变更同样会消失。由于谷歌处理数据的方式, 这并不是一个大问题:程序使用的大部分的数据很少变化,而且当变化发生时,数据通常是扩充的而不是原地修改的。 当GFS在为2003年运行的谷歌应用设计出来时,离谷歌开始遭遇扩展性问题并不远。甚至是在公司收购YouTube之前,GFS开始碰壁——很大 原因是谷歌新添加的应用在64M文件大小下工作的不是很好。为了绕过它,谷歌转向了Bigtable,一种基于表格的数据存储,那依稀类似于数据库,位于 GFS之上。Bigtable大多是一次写入,因此变更被作为对表的扩展进行存储的——谷歌将其用于如对Google Docs进行版本控制的类似应用上。 如果你不是在谷歌工作,那上述内容太过于学术性了(虽然它可以帮助AppEngine,谷歌云存储和谷歌其他服务的用户更好地了解台面下是怎么事 儿)。虽然谷歌云存储通过一个网络接口提供了一个公开方式来储存和访问位于GFS上的文件,但是操控GFS的真正接口和工具并不是公开的。但报告称GFS 引领了更广泛使用的分布式文件系统的发展,如:Hadoop分布式文件系统。Hadoop分布式文件系统(HDFS) Hadoop是用Java开发的,作为Apache基金会的一个开源项目,它在网络公司和其他有“大数据”问题的公司间已经有了如下的口碑,它被称 之为“二十一世界的瑞士军刀”。所有这些宣传意味着,你很可能会发现你迟早要以某种形式用Hadoop处理问题而不是用其他的分布式文件系统——特别是当 微软开始将其列入Windows Server的扩展中的时候。 Hadoop是由开发者Doug Cutting在他儿子给一只玩具大象起名后用它命名的,“灵感”来自于GFS和谷歌的MapRece分布式计算环境。在2004年,Cutting 和其他工作于Apache Nutch搜索引擎项目的人试图寻求一种可以将抓取器和索引带向“网络规模”的方式,Cutting阅读了谷歌关于GFS和MapRece的论文并开 始动手开发自己的项目。虽然对于Hadoop的大多数热情来自于它由MapRece启发的分布式处理管理衍生出的分布式数据处理能力,但使用 Hadoop分布式文件系统还是因为它能对大量数据进行处理。 Hadoop是在Apache许可证下开发的,有许多商业和自由发行版可用。我用的版本来自Cloudera公司(Doug Cutting现在的东家)——Cloudera发行版包括了Apache Hadoop(CDH),Cloudera企业平台的开源版本,和Cloudera服务和配置特别版,它可免费支持50个节点。 HortonWorks,该公司与微软合作帮助后者把Hadoop移植到Azure和Windows Server,有其自己的基于Hadoop和HortonWorks数据平台,是一个受限的“技术预览版”。同样还有Apache Core的Debian包,和许多其他开源的或商业的基于Hadoop的某种形式的产品。 HDFS可被用于支持在大量廉价硬件和大数据下广泛的应用。但由于其架构,它不完全适合于通用数据存储,并且放弃了一定的灵活性。HDFS必须废除 某些经常与文件系统有关的事情,以确保它能更好地处理在分布着数百甚至数千台物理机器上的大量数据——如对数据交互访问这种事情。 虽然Hadoop运行于Java上,但是除了它的Java API之外还有许多种方式和HDFS进行交互。有一种C语言版本的API,通过Hadoop的命令行界面,文件可以通过HTTP请求浏览。还有 MountableHDFS,一个基于FUSE的扩展,允许HDFS被大多数操作系统作为一个文件系统挂载。开发者们正在制作一个WebDAV接口,让系 统可以进行基于网络的数据写入。 HDFS严格遵循了由谷歌的GFS奠定的架构路线,延续了它的三层,单管理服务器模型。每个Hadoop集群有一个叫做“名字节点”的管理服务器, 它来追踪关于位置和每个64M存储“块”副本的状态的元数据。数据通过集群中的“数据节点”复制——从属系统处理数据的读写。默认情况下每个块都会被复制 三次,而且复制的次数还可以通过改变集群设置来增加。 像GFS一样,HDFS让管理服务器尽可能快地避开读写循环,避免产生性能瓶颈。当从HDFS上访问数据的请求产生时,名字节点发回与这个请求最近 的数据节点上的块的位置信息。名字节点还可以通过一个“心跳”协议追踪每个数据节点的健康度并停止向不响应的数据节点发送请求,把它们标记为“死的”。 在切换后,名字节点就不处理任何更进一步的交互。对数据节点上数据的编辑被报告回名字节点并记录在日志里,之后用变动的数据副本对其他数据节点进行 复制。同GFS一样,这导致了一致性上相应的懒散形式,而且虽然名字节点将为最近修改的数据块发送新的请求,正在进行的工作仍然会碰到它们被分配到的数据 节点上的陈旧数据。 那不应该是经常发生的,然而,因为HDFS数据应该被“写入一次”——变动通常是扩充数据,而不是改动现有数据,为了更简单的一致性。而且由于Hadoop应用的性质,数据往往会大批量地写入HDFS。 当一个客户端发送要写入HDFS的数据时,它首先被客户端程序安置在一个临时的本地文件中,直到写入的数据达到了数据块的大小——默认64MB。之 后客户端联系名字节点并获得一个数据节点和要写入数据的块位置。这一过程对每个块的数据重复进行,一次一个块。这减少了产生网络阻塞的数量,但也减慢了写 入过程。但是HDFS是用于读取的,而不是写入。 HDFS可以减少网络写入流量的另一个办法是在于它处理复制的方式。通过激活一个叫做“机架感知”的HDFS特性来管理分布的副本,管理员可以为每 个节点指定一个机架序号,通过网络配置脚本中的一个变量指定它的物理位置。默认情况下,所有的节点都在同一个“机架”中。但是当机架感知被配置以 后,HDFS把每个块上的一个副本放置于同一个数据中心机架的另一个节点上,另一个则在不同的机架上,来减少网络中数据写入量——基于如下理由,就是一整 个机架出错的几率比一个单一节点出错的几率要小。理论上,它整体改善了HDFS的写入性能而没有牺牲掉可靠性。 与GFS早期版本一样,对于一个要成为高度可用的分布式系统,HDFS的名字节点创建一个单一的故障点。如果名字节点中的元数据丢失了,整个 HDFS环境就变成不可读了——就像一个缺少了文件分配表的硬盘。HDFS支持使用“备份节点”,它能与内存中的名字节点的元数据保持版本同步,并储存前 一系统状态的快照,以便能够在需要时回滚。快照也可以被分开储存在叫做“检查节点”的地方。

2. 如何搭建私有云存储

虚拟化技术在企业私有云IT基础架构中仍然占据重要地位,同时,为了进一步提升应用效率,越来越多的生产环境也正在逐步变革,从以虚拟机为中心的架构向以容器和微服务为中心的云原生架构过渡,在这个过程中,存储如何有效支撑各种云主机应用与微服务应用,对于企业的私有云数据中心提出了新的挑战。

企业面临的问题

存储设施七国八制,硬件锁定缺少弹性

多种云平台对于存储的要求各不相同,块/文件/对象存储对应不同类型的应用,对外提供不同的服务接口,一种存储设备无法满足多种类型的云平台存储需求,而且传统存储在扩展性方面不能满足云时代大规模云平台对存储在线弹性扩容的需求,在可维护性方面则面临硬件架构绑定、运维复杂、难以维保等问题,而且这些问题会随着存储设备种类和数量的增多进一步放大。

业务调度变更频繁,资源不能共享

随着开发测试虚拟机以及容器、微服务平台在企业私有云平台的上线,大型企业的应用快速迭代、频繁发布对存储系统的支撑提出了严峻挑战,不同业务的数据保存在不同厂商的存储设备中,数据流动性差,不仅导致存储空间及性能资源浪费严重,数据灾备方案也很难统一化。

开源产品难以维护,不能实现企业级产品化

基于开源虚拟化技术的云平台如OpenStack为众多客户提供了快速构建私有云基础设施的能力,但是存储部分却不一样,开源的存储系统如Ceph虽然可以小规模部署试用, 但在大规模商用时会遇到很多问题:与硬件和企业级应用生态融合程度不高,严重依赖人工开发运维,在性能和服务质量方面不能满足核心业务的需求

杉岩私有云存储解决方案

杉岩私有云存储解决方案充分发挥了杉岩统一存储平台(USP)的云适配、开放等优势,支持各种复杂的应用负载,可灵活支撑私有云的虚拟化平台,如VMware、Citrix、OpenStack等虚拟化和云平台,以及通过Kubernetes软件一致性认证的所有容器云平台,如:Rancher、Openshift、Kubernetes等。

通过杉岩统一存储平台,用户可快速构建能够兼容所有主流虚拟化平台与容器微服务平台的统一存储资源池,面对各种虚拟机和微服务需求,池化的存储平台为大规模云环境提供了可靠的存储基础架构支撑,帮助用户从纷繁复杂的基础架构运维工作中解放出来,更关注于私有云上运行的业务本身。

客户价值

资源整合,链接企业信息孤岛

单资源池提供块、文件、对象多种存储服务,支持虚拟化平台和数据库应用;强大的存储资源生命周期管理能力,跨云平台在线迁移数据,实现数据共享和提高资源利用率;存储卷QoS等级和性能优先级在线调整,可根据企业资源和业务需求合理配置资源。

开放兼容,适配多种私有云平台

通过VMware VAAI和Citrix Ready认证,针对主流虚拟化平台优化I/O性能,大幅提升虚拟机访问的性能。通过OpenStack Cinder认证,可提供块和对象存储基础架构支撑支持容器平台CSI接口认证,为Kubernetes生态的容器应用提供块和文件存储服务。

智能管理,解决规模化运维难题

向导式安装部署和自助扩容配置,极大提升易用性和可维护性,管理自动化降低运维成本;针对大规模集群优化的可靠性管理,检测和修复硬盘软错误的专利技术,节约用户硬件投资。存储视角的管理功能,可视化展示主机、容器与存储的映射关系和性能监控协助管理员快速定位和解决问题。

3. 如何建立云存储

建立云存储的步骤如下:
1、申请配置计算资源池、存储资源池、网络资源池等。
2、开通网络资源池包括两对防火墙、一对核心交换机、一对负载均衡设备。两对防火墙主要实现地址映射和访问控制;一对核心交换机实现各类服务器的接入;一对负载均衡设备实现负载均衡。
3、配置服务器无需操作系统,使用raid5存储备份方案,分配同网段IP地址,根据实际运行情况,设定每台虚拟机使用各自系统、内存和硬盘。主要看你平台的规模,才能确定维护的人数。

4. 什么是云存储技术

云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。

云存储的两个层面

云存储的两个层面是作为云计算支撑的存储计算,主要涉及分布式存储(如分布式文件系统、IPSAN、数据同步、复制)、数据存储(如重复数据删除、数据压缩、数据编码)和数据保护(如RAID、CDP、快照、备份与容灾)等技术领域,如图8-30所示,这在第6章中已有所介绍。和云安全技术一样,云存储技术也需要利用现有的所有存储技术针对云计算三层架构的各个环节采用适当的存储技术,才能取得最佳效果,例如,对应不同需求,有时应该使用数据库技术但有时却应该使用LDAP技术,有些性能要求高的系统不能使用SAN或NAS,需直接使用基于RPC或Socket技术的并发文件系统,有些应用使用SAN成本太高等,这里不再做深入介绍。如图8-31所示是一个采用NetApp FAS、思科 UCS和 VMWare vShpere 4技术打造的存储系统,对上述两种云存储技术和应用都有促进作用。云存储架构

分为两类:一种是通过服务来架构;另一种是通过软件或硬件设备来架构。

传统的系统利用紧耦合对称架构,这种架构的设计旨在解决HPC(高性能计算、超级运算)问题,现在其正在向外扩展成为云存储从而满足快速呈现的市场需求。下一代架构已经采用了松弛耦合非对称架构,集中元数据和控制操作,这种架构并不非常适合高性能HPC,但是这种设计旨在解决云部署的大容量存储需求。各种架构的摘要信息如下:

紧耦合对称(TCS)架构

构建TCS系统是为了解决单一文件性能所面临的挑战,这种挑战限制了传统NAS系统的发展。HPC系统所具有的优势迅速压倒了存储,因为它们需要的单一文件I/O操作要比单一设备的I/O操作多得多。业内对此的回应是创建利用TCS架构的产品,很多节点同时伴随着分布式锁管理(锁定文件不同部分的写操作)和缓存一致性功能。这种解决方案对于单文件吞吐量问题很有效,几个不同行业的很多HPC客户已经采用了这种解决方案。这种解决方案很先进,需要一定程度的技术经验才能安装和使用。

松弛耦合非对称(LCA)架构

LCA系统采用不同的方法来向外扩展。它不是通过执行某个策略来使每个节点知道每个行动所执行的操作,而是利用一个数据路径之外的中央元数据控制服务器。集中控制提供了很多好处,允许进行新层次的扩展:

● 存储节点可以将重点放在提供读写服务的要求上,而不需要来自网络节点的确认信息。

● 节点可以利用不同的商品硬件CPU和存储配置,而且仍然在云存储中发挥作用。

● 用户可以通过利用硬件性能或虚拟化实例来调整云存储。

● 消除节点之间共享的大量状态开销也可以消除用户计算机互联的需要,如光纤通道或infiniband,从而进一步降低成本。

● 异构硬件的混合和匹配使用户能够在需要的时候在当前经济规模的基础上扩大存储,同时还能提供永久的数据可用性。

● 拥有集中元数据意味着,存储节点可以旋转地进行深层次应用程序归档,而且在控制节点上,元数据经常都是可用的。

5. 云存储全面发展 市场应用如何实现应用

网络磁盘是个在线存储服务,使用者可通过WEB访问方式来上传和下载文件,实现个人重要数据的存储和络化备份。高级的网络磁盘可以提供web页面和客户端软件等两种访问方式,本人在2002就用过Xdisk这个网络磁盘软件系统,它可以通过客户端软件在本地创建一个名盘符为X的虚拟磁盘,实现重要文件的存储和管理,使用的方式与使用本地磁盘相同。网络磁盘的容量空间一般取决与服务商的服务策略,或取决于使用者想服务商支付的费用多少。 2、在线文档编辑 经过近几年的快速发展,Google所能提供的服务早已经从当初单一的搜索引擎,扩展到了GoogleCalendar、GoogleDocs、GoogleScholar、GooglePicasa等多种在线应用服务。 Google一般都把这些在线的应用服务称之为云计算。相比较传统的文档编辑软件,GoogleDocs的出现将会使我们的使用方式和使用习惯发生巨大转变,今后我们将不再需要在个人PC上安装office等软件,只需要打开GoogleDocs网页,通过GoogleDocs就可以进行文档编辑和修改(使用云计算系统),并将编辑完成的文档保存在GoogleDocs服务所提供的个人存储空间中(使用云存储系统)。无论我们走到哪儿,都可以再次登录GoogleDocs,打开保存在云存储系统中的文档。通过云存储系统的权限管理功能,还有能轻松实现文档的共享、传送、以及版权管理。 3、在线的网络游戏 近年来,网络游戏越来越收到年轻人的喜爱,传奇、魔兽、武林三国等各种不同主题和风格的游戏层出不穷,网络游戏公司也使出浑身解数来吸引玩家。 但很多玩家都会发现一个很重要的问题:那就是由于带宽和单台服务器的性能限制,要满足成千上万个玩家上线,网络游戏公司就需要在全国不同地区建设很多个游戏服务器,而这些游戏服务器上上玩家相互之间是完全隔离的,不同服务器上的玩家根本不可能在游戏中见面,更不用说一起组队来完成游戏任务。 以后,我们可以通过云计算和云存储系统来构建一个庞大的、超能的游戏服务器群,这个服务器群系统对于游戏玩家来讲,就如同是一台服务器,所有玩家在一起进行竞争。云计算和云存储的应用,可以代替现有的多服务器架构,使所有玩家都能集中在一个游戏服务器组的管理之下。 所有玩家聚集在一起,这将会使游戏变得更加精彩,竞争变得更加激烈。同事,云计算和云存储系统的使用,可在最大限度上提升游戏服务器的性能,实现更多的功能;各玩家除了不再需要下载、安装大容量的游戏程序外,更免除了需要定期进行游戏升级等问题。 二、企业级云存储实例 除了个人级云存储应用外,企业级云存储应用也即将会面世,而且以后可能会成为云存储应用的主力军。从目前不同行业的存储应用现状来看,以下几类系统将有可能很快进入云存储时代。 1、企业空间租赁服务 信息化的不断发展使得各企业、单位的信息数据量呈几何曲线性增长。数据量的增长不仅仅意味着更多的硬件设备投入,还意味着更多的机房环境设备投入,以及运行维护成本和人力成本的增加。 即使是现在仍然有很多单位、特别是中小企业没有资金购买独立的、私有的存储设备,更没有存储技术工程师可以有效地完成存储设备的管理和维护。通过高性能、大容量云存储系统,数据业务运营商和IDC数据中心可以为无法单独购买大容量存储设备的企事业单位提供方便快捷的空间租赁服务,满足企事业单位不断增加的业务数据存储和管理服务,同时,大量专业技术人员的日常管理和维护可以保障云存储系统运行安全,确保数据不会丢失。 2、企业级远程数据备份和容灾 随着企业数据量的不断增加,数据的安全性要求也在不断增加。企业中的数据不仅要有足够的容量空间去存储,还需要实现数据的安全备份和远程容灾。不仅要保证本地数据的安全性,还要保证当本地发生重大的灾难时,可通过远程备份或远程容灾系统进行快速恢复。 通过高性能、大容量云存储系统和远程数据备份软件,数据业务运营商和IDC数据中心可以为所有需要远程数据备份和容灾的企事业单位提供空间租赁和备份业务租赁服务,普通的企事业单位、中小企业可租用IDC数据中心提供的空间服务和远程数据备份服务功能,可以建立自己的远程备份和容灾系统。 3、视频监控系统 近两年来,电信和网通在全国各地建设了很多不同规模的“全球眼”、“宽视界”网络视频监控系统。“全球眼”或“宽视界”系统的终极目标是建设一个类似话音网络和数据服务网络一样的,遍布全国的视频监控系统,为所有用户提供远程(城区内的或异地的)的实时视频监控和视频回放功能,并通过服务来收取费用。 但由于目前城市内部和城市之间网络条件限制,视频监控系统存储设备规模的限制,“全球眼”或“宽视界”一般都能在一个城市内部,甚至一个城市的某一个区县内部来建设。假设我们有一个遍布全国的云存储系统,并在这个云存储系统中内嵌视频监控平台管理软件,建设“全球眼”或“宽视界”系统将会变成一件非常简单的事情。 系统的建设者只需要考虑摄像头和编码器等前端设备,为每一个编码器、IP摄像头分配一个带宽足够的接入网链路,通过接入网与云存储系统连接,实时的视频图像就可以很方便地保存到云存储中,并通过视频监控平台管理软件实现图像的管理和调用。用户不仅可以通过电视墙或PC来监看图像信号,还可以通过手机来远程观看实时图像。 三、云存储的备份、归档、分布和协同 1、备份 像Mozy和Carbonite等厂商的备份实例已经开始从消费模式或者生产消费模式更多地渗透到中小企业市场。 在备份方面,最常见的方法就是使用混合配置方法,也就是将你最常用的数据组保存在本地,然后复制到云存储中。Axcient和DS3都提供了这种功能性。 2、归档 归档最终将在商业云存储市场占据大部分市场份额。归档是云存储的一个理想使用实例——将陈旧数据从你自己的设备迁移到其他人的设备中。这个迁移过程是安全的,可进行端对端的加密,很多提供商甚至不会保留密钥,这样他们就不能看到你的数据。混合模式在这方面也倍受欢迎。 这种模式让归档变得非常简单,只需要将数据复制到一个类似NFS或者CIFS挂接点上。Nirvanix、Bycast和IronMoundtain都提供了这种产品或者服务。在归档方面,用户需要采用这些产品的API组。例如,我想对归档中某些特定的元数据打上标签。理想地说,我应该在启动归档之前设定归档时间和冗余性。 3、分布和协同 目前来说,分布或者协同的使用实例更多是由服务提供商提供的。这两种模式通常使用来自多长提供商的一种云基础架构产品,例如上面提到的Nirvanix或者Bycast,还有Mezeo、Parscale、EMCAtmos和Cleversafe。其他像Permabit或者Nexsan等传统归档和可扩展存储厂商也提供了这种专门的云产品。 由此看来,服务提供商将利用并运行这些基础架构。我们将开始看到这个领域厂商之间的分离。Box.net采用了一种类似于Facebook的协同模式,Sooner通过其备份功能将你的数据自动保存到云存储中,然后让你基于使用需求共享或者处理这些内容。Dropbox和SpiderOak也开发出了很强大的多平台备份和同步代理,可以在不影响用户操作的前提下同步和实现共享。 在共享方面存在着一种加强checkin/checkout文件状态的需求。我需要持续了解谁正在对哪些文件进行操作。现在云存储和云服务市场呈现一派繁荣景象,有成百上千种产品,在这篇文章中我没有提到具体的一款产品并不意味着这些产品不可靠,只是因为我并不了解这些产品或者我忘记了。

6. 适合网站开发的云存储

你可以使用Windows Azure,高安全、高可靠,而且可以按需实时扩展

7. 云存储的核心技术:虚拟化存储,究竟虚拟是怎样实现的

虚拟化改变了计算机使用存储的方式。就像物理机器抽象成虚拟机(VM:Virtual Machine)一样,物理存储设备也被抽象成虚拟磁盘(Virtual Disk)。今天我们就来聊聊虚拟化存储(Storage Virtualization)技术,究竟虚拟磁盘是怎样实现的?
虚拟磁盘的实现
我们知道,服务器扩展存储的手段主要有直连存储(DAS)、存储区域网络(SAN)和网络附加存储(NAS)这三种类型。那么哪种存储类型可以用来实现虚拟磁盘呢?
在虚拟化环境中,类似VMWare这样的虚拟机管理程序hypervisor,要同时给很多VM分配存储空间。这个过程中,我们需要先把物理存储资源重新划分成虚拟磁盘,然后再分配给VM。
显然我们不能用DAS方式把物理磁盘直连到VM上,如果这样,需要的物理磁盘就太多了。SAN是以逻辑单元(LUN:Logic Unit)的形式提供存储资源,但是虚拟环境中VM的数量是很大的,而且伦的数量不足以支持这么多虚拟磁盘。
更重要的是,虚拟磁盘是为大量VM共享的,由于VM需要随时创建、删除或迁移,所以需要在迁移VM时共享存储空间,只有原始数据不会丢失。DAS还是SAN,都不适合共享存储。

考虑到资源分配以及共享的问题,虚拟机管理程序以NAS的方式实现虚拟磁盘。VMware通常使用VMFS(虚拟机文件系统)或NFS协议实现虚拟磁盘,VMFS文件系统是专门针对虚拟机环境协议。

每一个虚拟机的数据实际上是一堆文件,及最重要的文件的虚拟磁盘文件(VMDK文件),也有交换分区文件(VSWP文件,等价交换),非易失性存储器(NVRAM的文件相当于BIOS),等等。每个VM对虚拟磁盘的IO操作实际上是对虚拟磁盘文件的读写操作。
设计、施工、和虚拟服务器环境和优化,允许多个虚拟机访问集成的集群存储池,从而大大提高了资源的利用率。使用和实现资源共享,管理员可以直接从更高的效率和存储利用率中获益。
那么我们如何在云计算中使用虚拟磁盘呢?
实例存储
最主要的一种使用虚拟磁盘的方式就是实例存储,每个VM都是虚拟机的一个实例,虚拟机管理程序在每个实例中提供一个仿真硬件环境,它包括CPU、内存和磁盘。这样,虚拟磁盘就是虚拟机实例的一部分,就像物质世界。删除VM后,虚拟磁盘也将被删除。
在这个实例存储模型中,虚拟磁盘与虚拟机之间的存储关系,事实上,它是DAS存储。但是虚拟磁盘的底层实现,我们说,它是以NAS的方式实现的。虚拟机管理程序的作用是存储VM层的存储模型,这是从实施协议分离(VMFS或NFS)的虚拟机的低层。

VMFS协议实现了存储资源的虚拟化,再分配各VMs
卷存储
实例存储有它的限制,开发人员通常希望分离实例数据,例如OS和安装的一些服务器应用程序和用户数据,这样重建VM的时候可以保留用户的数据。
这个需求衍生出另外一种存储模型:卷存储。卷是存储的主要单元,相当于虚拟磁盘分区。它不是虚拟机实例的一部分,它可以被认为是虚拟机的外部存储设备。
该卷可以从一个VM卸载,然后附加到另一个VM。通过这种方式,我们实现了实例数据与用户数据的分离。OpenStack的煤渣是一个体积存储的实现。
除了实例存储和卷存储之外,最后我们还提到另一种特殊的虚拟存储:对象存储。
对象存储
很多云应用需要在不同的VM之间共享数据,它常常需要跨越多个数据中心,而对象存储可以解决这个问题。在前一篇文章中的云计算IaaS管理平台的基本功能是什么?》中曾经提到过对象存储。
在对象存储模型中,数据存储在存储段(bucket)中,桶也可以被称为“水桶”,因为它字面意思。我们可以用硬盘来类推,对象像一个文件,而存储段就像一个文件夹(或目录)。可以通过统一资源标识符(URI:统一资源标识符)找到对象和存储段。
对象存储的核心设计思想实际上是虚拟化,它是文件的物理存储位置,如卷、目录、磁盘等,虚拟化是木桶,它将文件虚拟化为对象。对于应用层,简化了对数据访问的访问,屏蔽了底层存储技术的异构性和复杂性。

对象存储模型
NAS与对象存储各有所长
当然你也许会问,NAS存储技术也是一个可以解决数据共享的问题吗?由于对象存储的大小和成本优势,许多云环境使用对象存储而不是NAS。
因为对象存储将跨多个节点传播,最新数据并不总是可用的 因此,对象存储的数据一致性不强。如果有强一致性的要求,然后你可以使用NAS。目前,在云计算环境中,NAS和对象存储是共存的。
和NAS一样,对象存储也是软件体系结构,而不是硬件体系结构。应用程序通过REST API直接访问对象存储。公共对象存储包括:Amazon S3和OpenStack的Swift。
结语
在实际的云平台应用中,我们需要根据自己的实际情况来合理运用不同的虚拟化存储技术。
对于非结构化的静态数据文件,如音视频、图片等,我们一般使用对象存储。
对于系统镜像以及应用程序,我们需要使用云主机实例存储或者卷存储。
对于应用产生的动态数据,我们一般还需要利用云数据库来对数据进行管理。

8. 云存储架构分哪些层次,各自实现了什么功能

(1)存储层
云存储系统对外提供多种不同的存储服务,各种服务的数据统一存放在云存储系统中,形成一个海量数据池。从大多数网络服务后台数据组织方式来看,传统基于单服务器的数据组织难以满足广域网多用户条件下的吞吐性能和存储容量需求;基于P2P架构的数据组织需要庞大的节点数量和复杂编码算法保证数据可靠性。相比而言,基于多存储服务器的数据组织方法能够更好满足在线存储服务的应用需求,在用户规模较大时,构建分布式数据中心能够为不同地理区域的用户提供更好的服务质量。
云存储的存储层将不同类型的存储设备互连起来,实现海量数据的统一管理,同时实现对存储设备的集中管理、状态监控以及容量的动态扩展,实质是一种面向服务的分布式存储系统。
(2)基础管理层
云存储系统架构中的基础管理层为上层提供不同服务间公共管理的统一视图。通过设计统一的用户管理、安全管理、副本管理及策略管理等公共数据管理功能,将底层存储与上层应用无缝衔接起来,实现多存储设备之间的协同工作,以更好的性能对外提供多种服务。
(3)应用接口层
应用接口层是云存储平台中可以灵活扩展的、直接面向用户的部分。根据用户需求,可以开发出不同的应用接口,提供相应的服务。比如数据存储服务、空间租赁服务、公共资源服务、多用户数据共享服务、数据备份服务等。
(4)访问层
通过访问层,任何一个授权用户都可以在任何地方,使用一台联网的终端设备,按照标准的公用应用接口来登录云存储平台,享受云存储服务。
2云存储技术的优势
作为新兴的存储技术,与传统的购买存储设备和部署存储软件相比,云存储方式存在以下优点:
(1)成本低、见效快
传统的购买存储设备或软件定制方式下,企业根据信息化管理的需求,一次性投入大量资金购置硬件设备、搭建平台。软件开发则经过漫长的可行性分析、需求调研、软件设计、编码、测试这一过程。往往在软件开发完成以后,业务需求发生变化,不得不对软件进行返工,不仅影响质量,提高成本,更是延误了企业信息化进程,同时造成了企业之间的低水平重复投资以及企业内部周期性、高成本的技术升级。在云存储方式下,企业除了配置必要的终端设备接收存储服务外,不需要投入额外的资金来搭建平台。企业只需按用户数分期租用服务,规避了一次性投资的风险,降低了使用成本,而且对于选定的服务,可以立即投入使用,既方便又快捷。
(2)易于管理
传统方式下,企业需要配备专业的IT人员进行系统的维护,由此带来技术和资金成本。云存储模式下,维护工作以及系统的更新升级都由云存储服务提供商完成,企业能够以最低的成本享受到最新最专业的服务。
(3)方式灵活
传统的购买和定制模式下,一旦完成资金的一次性投入,系统无法在后续使用中动态调整。随着设备的更新换代,落后的硬件平台难以处置;随着业务需求的不断变化,软件需要不断地更新升级甚至重构来与之相适应,导致维护成本高昂,很容易发展到不可控的程度。而云存储方式一般按照客户数、使用时间、服务项目进行收费。企业可以根据业务需求变化、人员增减、资金承受能力,随时调整其租用服务方式,真正做到“按需使用”。
3云存储技术趋势
随着宽带网络的发展,集群技术、网格技术和分布式文件系统的拓展,CDN内容分发、P2P、数据压缩技术的广泛运用,以及存储虚拟化技术的完善,云存储在技术上已经趋于成熟,以“用户创造内容”和“分享”为精神的Web2.0推动了全网域用户对在线服务的认知

9. 与云计算、云存储相关的IT技术都有哪些

云计算(Cloud Computing)是
分布式计算(Distributed Computing)、
并行计算(Parallel Computing)、
效用计算(Utility Computing)、
网络存储(Network Storage Technologies)、
虚拟化(Virtualization)、
负载均衡(Load Balance)、
热备份冗余(High Available)等传统计算机和网络技术发展融合的产物。
主要体现在虚拟化及其标准化和自动化。

云存储是在云计算概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。

从软件看,VMware、微软的Hpyer-V、Citrix以及开源的KVM等是主要的虚拟化平台,是云计算的基础。Citrix的优势在桌面虚拟化和应用虚拟化。
至于云计算应用软件开发工具,并没有针对云计算、云存储的独特的编程语言。

许多人会将云计算与大数据联系起来,其实两者既有联系又有区别。云计算就是硬件资源的虚拟化,主要是一虚多,充分利用高性能的硬件资源;而大数据就是海量数据的高效处理,通常需要多合一、或多虚一,跨越多台硬件处理海量数据任务。Amazon是云计算应用领域的先驱,而Google则是大数据应用领域的先驱。大数据既可以采用以虚拟化为基础的云计算架构也可以基于高性能计算(HPC,集群技术、并行技术)来处理。

大数据相当于海量数据的“数据库”,而且通观大数据领域的发展也能看出,当前的大数据处理一直在向着近似于传统数据库体验的方向发展,Hadoop的产生使我们能够用普通机器建立稳定的处理TB级数据的集群,把传统而昂贵的并行计算等概念一下就拉到了我们的面前,但是其不适合数据分析人员使用(因为MapRece开发复杂),所以PigLatin和Hive出现了(分别是Yahoo!和facebook发起的项目,说到这补充一下,在大数据领域Google、facebook、twitter等前沿的互联网公司作出了很积极和强大的贡献),为我们带来了类SQL的操作,到这里操作方式像SQL了,但是处理效率很慢,绝对和传统的数据库的处理效率有天壤之别,所以人们又在想怎样在大数据处理上不只是操作方式类SQL,而处理速度也能“类SQL”,Google为我们带来了Dremel/PowerDrill等技术,Cloudera(Hadoop商业化最强的公司,Hadoop之父cutting就在这里负责技术领导)的Impala也出现了。

因此,云计算、云存储均为计算资源的底层,通过虚拟化的方式提供“设备”级(或操作系统级)的服务,用户可以方便地申请使用”设备“来独立地实现自己的任务(就好像给你一台服务器),而实际上在云上提供给你的是一台虚拟机,至于这台虚拟机运行在哪台硬件设备上,却不一定,甚至可以”无缝“漂移,硬件故障时几乎不影响用户使用。