作为近几年兴起的云计算的一大重要组成部分,云存储承担着最底层以服务形式收集、存储和处理数据的任务。
企业用户和个人将数据托管给第三方,通过公有云、私有云或混合云形式对数据进行按需存取操作。云存储的优势主要在于:按需使用,按需付费;无需增加额外的硬件设施或配备专人负责维护,减少管理难度;将数据复制、备份、服务器扩容等工作交由第三方执行;快速部署配置,随时扩展增减,更加灵活可控。
在商业前景方面,以“用户创造内容”和“分享”为精神的Web2.0推动了全网域用户对在线服务的认知。随着相关背景技术的完善,云存储在技术上已经趋于成熟。
云存储的关键技术
随着如语音、数据、图像等业务需求的多样化,网络建设不断向宽带化方向发展。网速越来越快,能承载的业务种类越来越多,传输质量越来越高。
只有宽带网络得到充足的发展,使用者才有可能获得足够大的数据传输带宽,实现大量容量数据的传输,真正享受到优于本地存储的云存储服务。
云存储的关键技术包括CDN、Web2.0、数据编码技术、虚拟化存储技术等这些技术的发展都成为云计算和云存储发展的内在需求和关键动力。
CDN即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
WEB2.0的用户既是网站内容的浏览者,也是网站内容的制造者。用户使用互联网的同时提供了云计算的接入模式,也为云计算培养了用户习惯。用户更加习惯将自己的数据在网络上存储共享。
云存储不仅仅是存储,更多的是应用。应用存储技术的发展可以大量减少云存储中服务器的数量,从而降低系统建设成本。它还能减少系统中由服务器造成单点故障和性能瓶颈,在减少数据传输环节、提高系统性能和效率和保证整个系统的高效稳定运行方面起着重要作用。
云存储系统是一个多存储设备、多应用、多服务协同工作的集合体,任何一个单点的存储系统都不是云存储。多个存储设备之间的协同工作,对外提供同一种服务,并提供更大、更强、更好的数据访问性能。如果没有分布式技术,云存储只能是一个个独立系统,更谈不上云了。
对于云存储的运营单位来讲,必须要通过切实可行和有效的手段来解决集中管理难、状态监控难、故障维护难、人力成本高等问题。因此,云存储必须要具有一个高效的类似与网络管理软件一样的集中管理平台,可实现云存储系统中设有存储设备、服务器和网络设备的集中管理和状态监控,该平台就建立在存储虚拟化技术之上。
云存储的典型架构
Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,运行在廉价的普遍硬件设备上,提供灾难冗余的能力,为大量客户机提供了高性能的服务,是基于分布式技术实现云存储的典型架构。
一个GFS集群包含一个单独的Master节点、多台Chunk服务器,并且同时被多个客户端访问。所有的这些机器通常都是普通的Linux机器,运行着用户级别的服务进程。
GFS存储的文件都被分割成固定大小的Chunk。在Chunk创建的时候,Master服务器会给每个Chunk分配一个不变的、全球唯一的64位的Chunk标识。Chunk服务器把Chunk以linux文件的形式保存在本地硬盘上,并且根据指定的Chunk标识和字节范围来读写块数据。出于可靠性的考虑,每个块都会复制到多个块服务器上。
Master节点管理所有的文件系统元数据,同时还管理着系统范围内的活动。Master节点使用心跳信息周期地和每个Chunk服务器通讯,发送指令到各个Chunk服务器并接收Chunk服务器的状态信息。
GFS客户端代码以库的形式被链接到客户程序里。客户端代码实现了GFS文件系统的API接口函数、应用程序与Master节点和Chunk服务器通讯,以及对数据进行读写操作。客户端和Master节点的通信只获取元数据,所有的数据操作都是由客户端直接和Chunk服务器进行交互的。