分布式存储系统要点.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汉柏科技 分布式存储系统要点 王智民 汉柏科技有限公司 分布式存储系统 分布式存储系统,有块存储、对象存储、文件存储,有不同的开源项目如Ceph、 GlusterFS、Sheepdog、Swift,还有不同的商业实现如Google、AWS、微软、金山、七牛、 又拍、阿里云还有Qingcloud 首先对象存储和文件存储的区别是不大的,存储的都是一样的东西,只是抛弃了统一 的命名空间和目录树的结构,使得扩展起来桎梏少一些。 独立的互联网存储服务一般都是做对象存储的,因为块存储是给计算机用的,对象存 储是给浏览器等HTTP客户端用的。 分布式存储系统的三个问题 •对于一套分布式存储的方案,怎样评估它是好还是不好? •如何对分布式存储的不同实现进行分类? •分布式存储中的 “数据可靠性”是如何计算的? 1.运行或在线系统需要高性能 2.离线或备份数据需要高容量,低价格 3.所有的数据都必须是可靠的,绝对不能丢 •对于块存储,要求的访问时延是 10ms 级的,因为给虚拟机用的,传统硬盘也是 10ms 级的时延,请求尺寸都很小,但qps (iops)可能会很高,那么在这种情况下: ◦ 异地多中心是不现实的,存储要和主机尽量接近,相应地可靠性必然会有所打折 ◦ 强一致副本不会过多,强一致要求对时延有影响 •对于对象存储,要求的访问时延是 100ms - 1s 级的,请求一般是中到大尺寸,低 qps 的,在这种情况下 ◦ 可以用更多的分散副本数来换取更高的可靠性,但过多副 本增加维持一致性的难度,需要折衷 分布式存储系统的三个问题 •对于一套分布式存储的方案,怎样评估它是好还是不好? •如何对分布式存储的不同实现进行分类? •分布式存储中的 “数据可靠性”是如何计算的? 按照存储接口来划分 1.对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他 扩展,如七牛、又拍、Swift、S3 2.块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口 需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如 Sheepdog,AWS的EBS,青云的云硬盘和阿里云的盘古系统,还有Ceph的RBD (RBD是 Ceph面向块存储的接口) 3.文件存储: 通常意义是支持POSIX接口,它跟传统的文件系统如Ext4是一个类型的, 但区别在于分布式存储提供了并行化的能力,如Ceph的CephFS (CephFS是Ceph面向文 件存储的接口),但是有时候又会把GFS,HDFS这种非POSIX接口的类文件存储接口归 入此类。 分布式存储系统的三个问题 •对于一套分布式存储的方案,怎样评估它是好还是不好? •如何对分布式存储的不同实现进行分类? •分布式存储中的 “数据可靠性”是如何计算的? 按照应用场景来划分 1.对象存储(键值数据库):接口简单,一个对象我们可以看成一个文件,只能全 写全读,通常以大文件为主,要求足够的IO带宽。 2.块存储(硬盘):它的IO特点与传统的硬盘是一致的,一个硬盘应该是能面向通 用需求的,即能应付大文件读写,也能处理好小文件读写。但是硬盘的特点是容量 大,热点明显。因此块存储主要可以应付热点问题。另外,块存储要求的延迟是最 低的。 3.文件存储(文件系统):支持文件存储的接口的系统设计跟传统本地文件系统如 Ext4这种的特点和难点是一致的,它比块存储具有更丰富的接口,需要考虑目录、 文件属性等支持,实现一个支持并行化的文件存储应该是最困难的。但像HDFS、GFS 这种自己定义标准的系统,可以通过根据实现来定义接口,会容易一点。 分布式存储系统的三个问题 •对于一套分布式存储的方案,怎样评估它是好还是不好? •如何对分布式存储的不同实现进行分类? •分布式存储中的 “数据可靠性”是如何计算的? 按照实现技术来划分 1.系统的分布式设计:主从、还是全分布式或者是兼而有之,目前现在存储系统因为一致性的要求,以 主从为主。 2.底层的单机存储: 一种是依赖本地文件系统的接口,如GlusterFS,Swift,Sheepdog,Ceph 一种是依赖块接口的,目前只知道Nutanix是使用这个的 一种是依赖键值接口的,目前应该只有Ceph是支持(Ceph支持多种单机存储接口)

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档