一 分布式存储概述

1.1 存储分类:

  • 单机存储
  • SCSI/IDE/SATA//SAS/USB/PCI-E/SSD/M.2 NVME 协议(提升性能)
  • 网络存储(带文件系统)
  • NFS、NAS、SAN、samba。
  • 商业解决方案 EMC、Netapp、戴尔、华为、浪潮。
  • 分布式存储
  • Ceph、GlusterFS、Sheepdog、Lustre、Swift、TFS、HDFS、MooseFS、FastDFS、MogileFS。

存储系统

Ceph

GlusterFS

Sheepdog

Lustre

Swift

TFS

HDFS

MooseFS

FastDFS

MogileFS

开发语言

C++

C

C

C

Python

C++

Java

C

C

Perl

开源协议

LGPL

GPL V3

GPL V2

GPL 

Apache

GPL V2

Apache

GPL V3

GPL V3

GPL

数据存储方式

对象/文件/块

文件/块

对象

对象

文件

文件

文件/块

文件

集群节点通信协议

私有协议(TCP)

私有协议(TCP)/RDAM(远程直接访问内存)

totem协议

私有协议(tcp)/RDAM(远程直接访问内存)

TCP

TCP

TCP

TCP

TCP

HTTP

专用元数据存储点

占用MDS

双MDS

占用NS

占用MDS

占用MFS

占用DB

在线扩容

支持

支持

支持

支持

支持

支持

支持

支持

支持

支持

冗余备份

支持

支持

支持

支持

支持

支持

支持

支持

不支持

单点故障

不存在

不存在

不存在

存在

不存在

存在

存在

存在

不存在

存在

易用性

安装简单

安装简单

-

安装复杂

-

安装复杂

安装简单

安装简单

安装简单

安装简单

使用场景

单集群的大中小文件

跨集群云存储

弹性块存储虚拟机

大文件读写

OpenStack块存储

夸集群的小文件

Mapreduce使用的文件存储

单集群的大中小文件

单集群的中小文件

-

  • 开源协议说明
    GPL: 不允许修改后和衍生的代码做为闭源的商业软件发布和销售,修改后该软件产品必须也采用GPL协议。
    GPL V2:修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。
    GPL V3:要求用户公布修改的源代码,还要求公布相关硬件。
    LGPL:更宽松的GPL。

1.2 数据分类

  • 数据分为数据和元数据:
  • 元数据即是文件的属性信息(文件名、权限(属主、属组)、大小、时间戳等),在分布式存储中当客户端或者应用程序产生的客户端数据被写入到分布式存储系统的时候,会有一个服务(Name Node)提供文件元数据路由功能,即告诉应用程序去哪个服务器去请求文件内容。然后在有(Data Node)提供数据的读写请求及数据的高可用功能。