glusterfs是一个流行的分布式文件系统,它的存储卷分为几种


一、分布式卷(Distributed volume)

又称哈希卷,近似于raid0,文件没有分片,文件根据hash算法写入各个节点的硬盘上,优点是容量大,缺点是没冗余。


二、条带卷(Striped volume)

相当于raid0,文件是分片均匀写在各个节点的硬盘上的,优点是分布式读写,性能整体较好。缺点是没冗余,分片随机读写可能会导致硬盘IOPS饱和。


三、复制卷(Replicated volume)

相当于raid1,复制的份数,决定集群的大小,通常与分布式卷或者条带卷组合使用,解决前两种存储卷的冗余缺陷。缺点是磁盘利用率低。


四、冗余卷(Dispersed volume)

近似于raid5,文件分片存储在各个硬盘上,但有部分硬盘用于冗余用途,数量可以指定。

比如一共10块硬盘,2块盘用于冗余,那么就可以承受同时损坏两块硬盘,总容量是8块盘。

优点是在冗余和性能之间取得平衡,缺点是比较新,成熟度不够。(gluster 3.6+ 新增功能)


glusterfs适用大文件存储,尤其是分片存储可以同时读写多块硬盘,性能比较好。


尽管glusterfs 3.7引入多线程epoll,号称对小文件读写性能提升了40%,但总体来讲,glusterfs还是不适合海量小文件。