分布式存储系统

四大分布式存储系统:ceph ,glusterFS,MFS,lustre

特点:

GlusterFS无元数据节点,无中心架构 (元数据节点会是瓶颈)

scale-out ,横向扩展,通过多增加节点(机头)来实现(无需磁盘柜,nas,san阵列等)

高可用/自动复制

全局统一命名空间

posix(可移植操作系统接口 Portable Operating System Interface ,缩写为 POSIX)pisix协议

x86架构(无需特殊硬件建构)

支持标准nas协议(如果比较老的os不支持posix)

infiniband

 

 

 

p_w_picpath

设计目标

elasticity(弹性)缩减元数据 (优势,读写性能提供,如果要列出所有的文件list就很慢,需要汇聚)

scale linearly 线性扩展

eliminate metadata消除元数据

simplicity 简单

 

p_w_picpath

软件定义(sds),无中心架构,全局命名空间,高性能,用户空间实现(使用用户namespace,ps还不是很理解),堆栈式设计(模块化),弹性横向扩展,高速网络通信,数据自动修复

p_w_picpath

 

 

p_w_picpath

 

p_w_picpath

 

p_w_picpath

元数据还是会存储,使用文件系统的扩展属性(所以底层文件系统要支持扩展属性)

p_w_picpath

p_w_picpath

 

node/peer 运行glusterFS daemon的节点 ,用peer构建一个cluster

Brick 一个目录就是一个brick,可以是一块盘,一个目录,一个raid,一个lun

translator 将功能串起来,将bits(底层数据)与namespaces(用户访问入口)串起来

volume bricks合并成一个volume,通过translators串起来,提供给用户访问

 

p_w_picpath

translators

p_w_picpath

 

弹性hash算法

使用davies-meyer算法

文件名参加哈希计算,扩展名也参加哈希算法。目录不参加

以目录进行文件分布(每个brick上的目录结构都一样,

哈希值能定位节点,定位到节点到对应目录取数据

哈希范围是等分的p_w_picpath

支持弹性哈希

增加了新的brick后,之前的节点hash不用变

增加新的节点后,可以让新的数据在新的节点上存储,老的数据还在老的节点上(可配置,弹性哈希)

p_w_picpath