云存储关键技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

接口
∗ GFS提供了一个类似传统文件系统的接口,虽然它并没有 实现类似POSIX的标准API。文件在目录中按照层次组织, 用路径名来标识。GFS支持常用的操作,如创建,删除, 打开,关闭,读和写文件。 ∗ GFS有快照和记录追加操作。快照操作可以用很低的成本 创建文件或者目录树的拷贝。记录追加操作可以在保证 原子性的前提下,允许多个客户端同时在一个文件上追 加数据。这对于实现多路结果合并以及"生产者-消费者" 模型非常有好处,多个客户端可以同时在一个文件上追 加数据,而不需要任何额外的锁定。
SALESFORCE
• SaaS先驱 • 络应用软件平台Force.com
IBM
云存储关键技术
∗ 六、存储虚拟化技术、存储网络化管理技术 云存储中的存储设备数量庞大且分布在多不同地域,如何实现 不同厂商、不同型号甚至于不同类型(如FC存储和 IP存储)的多 台设备之间的逻辑卷管理、存储虚拟化管理和多链路冗余管理将 会是一个巨大的难题,这个问题得不到解决,存储设备就会是整 个云存储系统的性能瓶颈,结构上也无法形成一个整体,而且还 会带来后期容量和性能扩展难等问题。云存储中的存储设备数量 庞大、分布地域广造成的另外一个问题就是存储设备运营管理问 题。虽然这些问题对云存储的使用者来讲根本不需要关心,但对 于云存储的运营单位来讲,却必须要通过切实可行和有效的手段 来解决集中管理难、状态监控难、故障维护难、人力成本高等问 题。因此,云存储必须要具有一个高效的类似与网络管理软件一 样的集中管理平台,可实现云存储系统中设有存储设备、服务器 和网络设备的集中管理和状态监控。
块尺寸
∗ 64MB ∗ 它减少了客户端和主服务器通讯的需求 ∗ 由于块尺寸很大,所以客户端会对一个给定的块进 行许多操作,这样就可以减少通过跟块服务器保持 较长时间的TCP连接所带来的网络负载 ∗ 它降低了主服务器需要保存的元数据的尺寸。这就 允许GFS把元数据放在内存中
元数据
∗ 主服务器保存三种主要类型的元数据: 文件和块的命名空间 文件到块的映射 每个块副本的位置 ∗ 所有的元数据都保存在主服务器的内存里
简介( ) 简介(2)
∗ 在08年6月的Google I/O会议上,Jeffrey Dean略微透露一点Google 庞大数据中心的内部情况,在Dean眼里,1,800台的服务器集群根 本是小菜一碟。 ∗ Dean Dean说,更多的硬件并不意味着可靠性更高,你还需要在软件层 次上提高可靠性。“如果你运行1万台机器,肯定每天都会有问题 发生。”Dean用了一个计算机集群来说明硬件故障频率,他说, “在一个集群上线的第一年,会有1000台独立的机器发生故障, 数以千计的硬盘故障,一个分布式电力单元出问题, 500到1,000 台机器下线6小时;20个柜式服务器会出现问题;每次会导致40到 80台机器从网络中消失;5个柜会变得不可靠,通过其中的一半信 息包会丢失;集群需要更换一次连接的电线,每次会影响5%的机 器停止工作两天。”Dean还称,一个集群有50%的几率过热,不到 5分钟内整个服务器瘫痪,需要花1到2天时间去恢复。
架构
单一主服务器
单一的主服务器大大简化了设计,这样主服务 器可以通过全局的信息精确确定块的位置以及进 行复制决定。然而,GFS必须减少主服务器对数据 读写的影响,避免使主服务器成为系统的瓶颈。 实际上,客户端通常在一次请求中查询多个 块,而主服务器的回应也可以包含紧跟着这些请 求块后面的块的信息。这些额外的信息实际上, 在没有代价的前提下,避免了客户端和服务器未 来的几次通讯。
一致性模型
由于客户端缓存块位置,所以在信息刷新前,他们有可能从一个失效 的副本读取数据。时间窗口由缓存的超时以及文件的下一次打开时间 决定,文件打开后会清除缓存中与文件有关的所有块信息。而且由于 GFS的文件大多数都是只进行追加的,所以一个失效的副本通常返回 一个提前结束的块而不是过期的数据。读取者重新尝试并联络主服务 器后,就会立刻得到当前的块位置。 成功操作很久以后,组件的失效当然也可以损坏或者毁掉数据。GFS 用主服务器和块服务器之间的定期握手来找到失效的块服务器,用校 验和来检测数据的损坏。一旦发现问题,数据会尽快从有效的副本中 恢复出来。只有一个块的所有副本在GFS做出反应之前,全部丢失, 这个块才会不可逆转的丢失,而通常GFS的反应是在几分钟内的。即 使在这种情况下,块不可用,而不是损坏:应用程序会收到清晰的错 误信息而不是损坏的数据
云存储关键技术
∗ 二、 WEB2.0技术 Web2.0 技术的核心是分享。只有通过web2.0技 术,云存储的使用者才有可能通过 PC、手机、移动 多媒体等多种设备,实现数据、文档、图片和视音 频等内容的集中存储和资料共享。Web2.0技术的发 展使得使用者的应用方式和可得服务更加灵活和多 样。
云存储关键技术
首个云存储标准CDMI
∗ 2009年4月成立SNIA云存储技术工作组。 ∗ 2009年7月提出云存储数据管理接口标准—CDMI。 ∗ CDMI CDMI定义了应用程序将用于在云中创建、搜索、更 新和删除数据组件的功能接口。客户端将可以发现 云存储服务的功能,并利用CDMI来管理封装器和其 中的数据。 ∗ 2010年4月,奥兰多SNW网络存储世界大会,正式批 准CDMI 1.0。
∗ 三、应用存储的发展 云存储不仅仅是存储,更多的是应用。应用存储是 一种在存储设备中集成了应用软件功能的存储设备,它 不仅具有数据存储功能,还具有应用软件功能,可以看 作是服务器和存储设备的集合体。应用存储技术的发展 可以大量减少云存储中服务器的数量,从而降低系统建 设成本,减少系统中由服务器造成单点故障和性能瓶颈, 减少数据传输环节,提供系统性能和效率,保证整个系 统的高效稳定运行。
GFS设计理念
• 组件失效不再被认为是意外,而是被看做正常的现象。 • 按照传统的标准来看,GFS的文件非常巨大。数G的文件 非常寻常。 • 在Google大部分文件的修改,不是覆盖原有数据,而是 在文件尾追加新数据。对文件的随机写是几乎不存在的。 一般写入后,文件就只会被读,而且通常是按顺序读。 • 应用程序和文件系统API的协同设计(简化设计),提高 了整个系统的灵活性。
云存储解决方案
∗ ∗ ∗ ∗ ∗ ∗ ∗
谷歌—— 亚马逊—— IBM—— Salesforce—— 联想—— 清华大学—— 兴宇中科——兴云系统
Google File System浅析
简介( ) 简介(1)
∗ Google文件系统(Google File System - GFS),用来满足 Google迅速增长的数据处理需求。GFS与过去的分布文件 系统拥有许多相同的目标,例如性能,可伸缩性,可靠 性以及可用性。然而,它的设计还受到对应用负载和技 术环境观察的影响,不管现在还是将来,GFS和早期文件 和早期文件 系统的假设都有明显的不同。 系统的假设都有明显的不同 ∗ 没人确切知道搜索巨人有多少台服务器,但以小可见大: 一次简简单单的搜索查询就要动用到700到1000台服务器。 根据08年初的资料,Google有36个数据中心,每个数据 中心有150个柜式服务器,每个柜含40台服务器,这样计 算起来Google拥有的服务器超过20万台,这个数字每天 还在增加。
云存储关键技术
∗ 五、数据压缩、加密技术 数据压缩技术、重复数据删除技术、数据加密 技术 。数据加密技术保证云存储中的数据不会被未 授权的用户所访问,同时,通过各种数据备份和容 灾技术保证云存储中的数据不会丢失,保证云存储 自身的安全和稳定。如果云存储中的数据安全得不 到保证,想来也没有人敢用云存储,否则,保存的 数据不是很快丢失了,就是全国人民都知道了。
容错和诊断
• 高可用性 快速恢复 块复制 主节点复制 • 数据完整性 • 诊断工具
亚马逊
亚马逊网络服务
• Amazon Web Services Simple Storage Service Elastic Compute Cloud Simple Queuing Service SimpleDB
云存储关键技术
∗ 四、集群技术、网格技术和分布式文件系统 云存储系统是一个多存储设备、多应用、多服务协 同工作的集合体,任何一个单点的存储系统都不是云存 储。既然是由多个存储设备构成的,不同存储设备之间 就需要通过集群技术、分布式文件系统和网格计算等技 术,实现多个存储设备之间的协同工作,使多个的存储 设备可以对外提供同一种服务,并提供更大更强更好的 数据访问性能。如果没有这些技术的存在,云存储就不 可能真正实现,所谓的云存储只能是一个一个的独立系 统,不能形成云状结构。
副本布置
∗ GFS集群是多层高度分布的。 ∗ 块副本布置策略服务于两个目标:最大化数据可靠 性和可用性,最大化网络带宽利用率。
创建,重新复制, 创建,重新复制,负载均衡
∗ (1)GFS希望把新的副本放置在低于平均硬盘使用率的块服务器。 这样平衡块服务器之间的硬盘使用率。 ∗ (2)GFS希望限制每一个块服务器上“近期”创建操作的数量。虽 然创建操作本身是廉价的,但是它总是会紧跟着沉重的写操作, 因为写入者需要写的时候才会进行创建,而在GFS的“追加一次写 多次读”的工作负载下,块一旦被成功写入就会变为只读。 ∗ (3)如上面讨论过的,GFS希望把块分布在机架之间。 ∗ 主服务器周期性地对副本进行负载均衡:它检查当前的副本分布 情况,然后移动副本以得到更好的硬盘剩余空间以及负载的均衡。 同时在这个过程中,主服务器逐渐的填满一个新的块服务器,而 不是用新块以及随之同时涌入的沉重的写通讯淹没它。
设计概述
∗ ∗ ∗ ∗ ∗ ∗ ∗
设计预期 接口 架构 单一主服务器 块尺寸 元数据 一致性模型
设计预期
∗ 这个系统由许多廉价易损的普通组件组成。它必须持续监视自 己的状态,它必须在组件失效作为一种常态的情况下,迅速地 侦测、承担并恢复那些组件失效。 ∗ 这个系统保存一定数量的大文件。GFS预期有几百万文件,尺寸 通常是100MB或者以上。数GB的文件也很寻常,而且被有效的 管理。小文件必须支持,但是不需要去优化。 ∗ 负载中主要包含两种读操作:大规模的流式读取和小规模随机 读取。 ∗ 负载中还包括许多大规模的顺序的写操作,追加数据到文件尾 部。 ∗ 系统必须高效的实现良好定义的多客户端并行追加到一个文件 的语意。 ∗ 允许增加延迟以换取高速稳定的带宽。
主服务器的操作
∗ ∗ ∗ ∗ ∗
名称空间管理和锁 副本布置 创建,重新复制,负载均衡 垃圾回收 过期副本检测
名称空间管理和锁
• GFS没有一个用来列出目录内全部文件的,每个目录的数据结 构。而且不支持同一文件或者目录的别名(Unxi术语中的符号 链接或者硬链接)。 GFS展现名称空间的逻辑就像一个全路径 映射到元数据的查找表。 • 每个主服务器操作运行之前都需要获得一系列的锁。例如,如 果操作包含/d1/d2/.../dn/leaf,首先获得目录/d1,/d1/d2,..., /d1/d2/.../dn的读取锁,以及全路径/d1/d2/.../dn/leaf的读写锁。 • 因为名称空间可以有许多节点,所以读写锁需要的时候才会被 分配,一旦不再使用就会被删除。
云存储及商业案例浅析
天空的那朵云
∗ 云的概念 ∗ 云的应用场景
什么ຫໍສະໝຸດ Baidu云存储
∗ 云存储是一种资源,一种服务。 ∗ 信息为重是云存储以人为本的体现。 ∗ 云存储需要解决的重要问题:
∗ ∗ ∗ ∗ ∗ 速度 安全 容量 价格 便捷
云存储关键技术
∗ 一、宽带网络的发展 真正的云存储系统将会是一个多区域分布、遍 布全国、甚至于遍布全球的庞大公用系统,使用者 需要通过ADSL、DDN等宽带接入设备来连接云存储, 而不是通过FC、 SCSI或以太网线缆直接连接一台独 立的、私有的存储设备上。只有宽带网络得到充足 的发展,使用者才有可能获得足够大的数据传输带 宽,实现大量容量数据的传输,真正享受到云存储 服务。
相关文档
最新文档