分布式文件存储阶段小结

分布式文件存储阶段小结

一. 分类

块存储

SAN,DAS, 网盘,EBS

块存储读写快,不利于共享

文件存储

NAS(NFS,CIFS)

文件存储读写慢,利于共享

对象存储

S3,OSS, TFS, HDFS

兼顾块存储和文件存储的优点

二. 基本概念

volume

fuse

posix

机架感知

存储自动rebalance

扩容/缩容

去重

元数据管理

中心化与去中心化

Erase Code(EC)

三. 主流DFS比较

NAS

使用简单,共享方便。但是支持的文件数有限制,备份/HA/跨机房双活运维成本高。系统层面的rsync增量备份延迟不是很可控,crontab job设置不合理时会给NAS服务器造成严重的性能问题。总的来说,应用层面控制能力不强。

TFS

Taobao自研并验证过小文件存储系统,借鉴了业内文件存储的先进的思想。支持的文件量大,扩容/缩容方便,完整的集群,HA,跨机房双活方案。缺点是社区缺乏支持,除非使用方吃透代码自己演进代码分支,否则开发,运维会变得不可控。据说淘宝OSS也没有继续采用TFS。 实际使用过程中nginx,meta server组件出问题比较多。2.2.16分支中block 迁移工具错误比较多,集群间文件迁移需要特别注意。

HDFS

apache开源的大文件存储方案。适合离线批处理系统,是hbase,hadoop的基础。社区支持好,特性丰富。

fastDFS

架构简单,但是不能直接支持自定义文件路径。据说稳定性待验证。

GlusterFS

提供类似于NAS,raid的网络存储方案。采用弹性hash算法路由具体存储(去中心)。性能待验证。

Ceph

提供了RBD(Ceph Block Device),CephFS(Ceph File System), RGW(RADOS GateWay)存储功能。功能丰富,重量级,有待生产验证。

MooseFS

MogileFS

perl based FS

GridFS

mongoDB based FS

OpenStack Cinder/Swift

  • Cinder, openstack 块存储服务
  • Swift, openstack 对象存储服务

Facebook Haystack

Search

    Table of Contents