普通存储方案:Rsync、DAS(IDE/SATA/SAS/SCSI等块)、NAS(NFS、CIFS、SAMBA等文件系统)、SAN(FibreChannel, iSCSI, FoE存储网络块),Openfiler、FreeNas(ZFS快照复制)由于生产环境中往往由于对存储数据量很大,而SAN存储价格又比较昂贵,因此大多会选择分布式
存储来解决一下问题:
海量数据存储问题数据高可用问题(冗余备份)问题较高的读写性能和负载均衡问题支持多平台多语言问题高并发问题二、常用的分布式文件系统
常见的分布式文件系统有FastDFS,GFS、HDFS、Ceph 、GridFS 、mogileFS、TFS等,各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务:
指标
适合类型
文件分布
系统性能
复杂度
FUSE
POSIX
备份机制
通讯协议接口
社区支持
去重
开发语言
FastDFS
4KB~500MB
小文件合并存储不分片处理
很高
简单
不支持
不支持
组内冗余备份
Api
HTTP
国内用户群
C语言
TFS
所有文件
小文件合并,以block组织分片
复杂
不支持
不支持
Block存储多份,主辅灾备
API
http
少
C++
MFS
大于64K
分片存储
Master占内存多
支持
支持
多点备份动态冗余
使用fuse挂在
较多
Perl
HDFS
大文件
大文件分片分块存储
简单
支持
支持
多副本
原生api
较多
java
Ceph
对象文件块
OSD一主多从
复杂
支持
支持
多副本
原生api
较少
C++
MogileFS
海量小图片
高
复杂
可以支持
不支持
动态冗余
原生api
文档少
Perl
ClusterFS
大文件
简单
支持
支持
镜像
多
C
适用场景分析