云存储基础架构剖析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云存储基础架构剖析
模型,功能和内部机制
M. Tim Jones, 资深软件工程师
简介:云存储(或数据存储即服务)是对接口后的存储的抽象,可在该接口内按需管理存储。此外,接口抽象化存储的位置,这样一来,不管存储是在本地还是远程(或混合)都无关紧要。云存储基础架构引入新的架构,能够支持为大量潜在用户提供不同水平的服务,以及地理上分散的存储容量。了解云存储架构的关键架构属性—从数据保护和完整性到存储优化。
本文的标签:cloud, cloud-storage, computing, 云存储基础架构, 云计算, 存储, 应用开发, 硬件平台, 管理, 资产管理
常用缩略词
∙API:应用程序编程接口
∙FTP:文件传输协议
∙HTTP:超文本传输协议
∙HTTPS: 通过安全套接字层的 HTTP
∙JFS: 日志文件系统
∙NFS:网络文件系统
∙NIC:网络接口卡
∙RAID:独立磁盘冗余阵列
∙REST:具象状态传输
∙SAN:存储区域网络
∙SCSI:小型计算机系统接口
∙SLA:服务级别协议
∙TCP:传输控制协议
∙UDP:用户数据报协议
∙WAN:广域网
以目前数据增长的速度来看,云存储越来越流行不足为奇。增长速度最快的数据是归档数据,鉴于很多因素它是云存储的理想之选,这些因素包括成本、访问频率、保护和可用性。但是并非所有云存储都是相同的。一家提供商可能主要关注于成本,而另一家提供商关注于可用性或性能。没有一个架构具有单一侧重点,但是一个架构实现给定特征的程度定义了其市场和适当的使用模型。
不从效用角度谈论架构是很难的。我的意思是,通过各种特征度量一个架构,包括成本、性能、远程访问,等等。因此,我首先定义一组可度量云存储模型的标准,然后探究云存储架构内的一些有趣的实现。
首先,我们讨论一个通用的云存储架构,设置上下文以供后面探究独特的架构特性。
通用架构
云存储架构主要关乎以一个高度可扩展和多租户的方式按需交付存储。通用(参见图 1)的云存储架构包含一个导出 API 以访问存储的前端。在传统的存储系统中,这个 API 是 SCSI 协议;但是在云环境中,这些协议在演化。在那里您可以找到 Web 服务前端、基于文件的前端,甚至更多传统前端(比如 Internet SCSI 或 iSCSI)。在前端后面是一个中间件层,我将它称作存储逻辑。该层通过传统的数据放置算法(考虑地理布局)实现各种功能,比如复制和数据简缩。最后,后端实现对数据的物理存储。这可能是一个实现特定功能的内部协议或物理磁盘的一个传统后端。
图 1. 通用的云存储架构
从图 1 中,您可以看到当前云存储架构的一些特征。注意,没有特征在特定层中是独有的,而是充当本文探讨的特定主题的指导。这些特征的定义见表 1。
表 1. 云存储特征
特征说明
可管理性以最少的资源管理系统的能力
访问方法公开云存储所用的协议
性能根据宽带和延迟衡量的性能
多租户支持多个用户(或承租者)
可扩展性通过扩展满足更高要求或以得体的方式加载的能力
数据可用性对一个系统的正常运行时间的衡量
控制控制系统的能力—特别是为成本、性能或其他特征进行配置
存储效率度量如何高效使用原始存储
成本度量存储成本(通常以美元每 GB 为单位)
可管理性
云存储的一个重点是成本。如果客户可以购买并在本地管理存储,而不是在云中租赁它,那么云存储市场就会消失。但是成本可划分为两个高级类别:物理存储生态系统本身的成本和管理它的成本。管理成本是隐式的,但却是总体成本的一个长期组成部分。为此,云存储必须能在很大程度上进行自我管理。引入新存储(其中系统通过自动自我配置来容纳它)的能力和在出现错误时查找和自我修复的能力很重要。在未来,诸如自主计算这样的概念将在云存储架构中起到关键的作用。
访问方法
云存储与传统存储之间最显著的差异之一是其访问方法(参见图 2)。大部分提供商实现多个访问方法,但是 Web 服务 APIs 是常见的。许多 APIs 是基于REST 原则实现的,即在 HTTP 之上开发(使用 HTTP 进行传输)的一种基于对象的方案。REST APIs 是无状态的,因此可以简单而有效地予以提供。许多云存储提供商实现 REST APIs,包括 Amazon Simple Storage Service (Amazon S3)、Windows Azure™ 和 Mezeo Cloud Storage Platform。
Web 服务 APIs 的一个问题是,它们需要与应用程序集成,以利用云存储。因此,对云存储也使用常见的访问方法来提供即时集成。例如,NFS/Common Internet File System (CIFS) 或 FTP 等基于文件的协议,iSCSI 等基于块的协议。Nirvanix、Zetta 和 Cleversafe 等云存储提供商提供这些访问方法。
尽管上面提到的协议是最常用的,但也有适合云存储的其他协议。最有趣的其中一个是基于 Web 的分布式创作与版本控制(WebDAV)。WebDAV 也基于 HTTP,且将 Web 作为一种可读写的资源加以启用。WebDAV 的提供商包括 Zetta 和Cleversafe 等。
图 2. 云存储访问方法
您还可以寻找支持多协议访问的解决方案。例如,IBM® Smart Business Storage Cloud 从同一存储虚拟化架构同时启用基于文件(NFS 和 CIFS)的协议和基于SAN 的协议。
性能
性能表现为很多方面,但是在用户与远程云存储提供商之间移动数据的能力是云存储最大的挑战。问题就是 TCP,它同时也是互联网的主力。TCP 基于数据包确认从对等端点控制数据流。数据包丢失或延迟到达情况下将启用阻塞控制,进一步限制性能以避免更多全局网络问题。TCP 适用于通过全局 Internet 启用小量数据,但不适用于会增加往返时间(RTT)的大型数据移动。
通过 Aspera Software,Amazon 解决了这个问题,方法就是从程式中删除 TCP。且开发了一个称为Fast and Secure Protocol(FASP™) 的新协议,以在大型 RTT 和严重数据包丢失情况下加速批量数据移动。关键是 UDP 的使用,它是 TCP 的缔约方传输协议。UDP 允许主机管理阻塞,将这个方面推进到 FASP 的应用层协议中(参见图 3)。