常用分布式文件系统对比表格
文件系统 | 适合场景 | 数据存储方式 | 系统性能 | 复杂度 | FUSE | POSIX | 备份机制 | 通讯协议接口 | 社区支持 | 去重 | 开发语言 | 开源协议 | 在线扩容 | 跨集群同步 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FastDFS | 4KB~500MB<br/>单集群的中小文件 | 小文件合并存储不分片处理<br/>文件/Trunk | 很高 | 简单<br>安装简单,社区相对活跃 | 不支持 | 不支持 | 组内冗余备份 | 专有Api和HTTP | 国内用户群 | C语言 | GPL V3 | 支持 | 部分支持 | |
TFS | 所有文件<br/>跨集群的小文件 | 小文件合并,以block组织分片<br/>以块的形式存储 | 复杂<br/>安装复杂,官方文档少 | 不支持 | 不支持 | Block存储多份,主辅灾备 | 专有API和http | 少 | C++ | GPL V2 | 支持 | 支持 | ||
MFS | 大于64K | 分片存储 | Master占内存多 | 支持 | 支持 | 多点备份动态冗余 | 使用fuse挂载 | 较多 | Perl | |||||
HDFS | 大文件 | 大文件分片分块存储 | 简单 | 支持 | 支持 | 多副本 | 原生api | 较多 | Java | |||||
Ceph | 对象文件块<br/>单集群的大中小文件 | OSD一主多从<br/>对象/文件/块 | 复杂<br/>安装简单,官方文档专业化 | 支持 | 支持 | 多副本 | 原生api | 较少 | C++ | LGPL | 支持 | 不适用 | ||
MogileFS | 海量小图片 | 高 | 复杂 | 可以支持 | 不支持 | 动态冗余 | 原生api | 文档少 | Perl | GPL | 支持 | - | ||
GlusterFS | 大文件 | 跨集群云存储<br/>文件/块 | 简单<br/>安装简单,官方文档专业化 | 支持 | 支持 | 镜像 | 多 | C | GPL V3 | 支持 | 支持 |
推荐使用的几个
fastDFS:
出自于淘宝,在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mogileFS更好的性能。适用于海量小文件(建议范围:4KB < file_size <500MB)、使用相对简单、小文件存储网上大多推荐使用FastDFS
Ceph:
这前写的一个仿百度网盘用的这个文件存储系统,感觉用起来挺不错的.