glusterfs info

GlusterFS 简介

1
2
3
GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端.GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据.

说起glusterfs可能比较陌生,可能大家更多的听说和使用的是NFS,GFS,HDFS之类的,这之中的NFS应该是使用最为广泛的,简单易于管理,但是NFS以及后边会说到MooseFS都会存在单点故障,为了解决这个问题一般情况下都会结合DRBD进行块儿复制.但是glusterfs就完全不用考虑这个问题了,因为它是一个完全的无中心的系统.
1
2
3
4
5
6
7
8
9
* GlusterFS是一个分布式的可横向扩展的文件系统,支持快速扩充更多的存储空间.自动地失效转移是它的一项基础功能.GlusterFS没有一个集中式的元数据管理服务.
* 你可以尽可能多得向GlusterFS中添加存储,即使在使用中发现存储不足了,也可以通过简单的几个步骤完成添加新存储空间的工作.
* 你可以设置为自动处理失效转移,这样即可在一个主机节点当机后,你仍然可以访问你的数据,不需要手工干预.当你修复了故障主机并重新上线后,你也不需要做任何手工干预.
* 可以使用传统的NFS,SMB/CIFS协议访问GlusterFS的数据,也可以直接使用一个本地化的GlusterFS文件系统
* GlusterFS不适合于存储结构化数据,建议不要直接作为数据库的数据存储空间使用,存储数据库的备份数据并没有问题.一般地,我们建议使用GlusterFS存储的数据应该是大小大于16KB的文件.当然如果能大于128KB,效果会更好
* 建议存储主机使用XFS的文件系统,当然EXT4也还不错
* 在生产环境中使用GlusterFS,建议部署DNS和NTP服务
* 在安装主机的操作系统时,不需要对用于GlusterFS的分区进行格式化,因为在创建GlusterFS集群时会对加入到逻辑卷的brick进行特殊的格式化处理
* 建议关闭系统防火墙

GlusterFS 特点

1
2
3
4
5
6
* 扩展性和高性能
GlusterFS利用双重特性来提供几TB至数PB的高扩展存储解决方案.Scale-Out架构允许通过简单地增加资源来提高存储容量和性能,磁盘,计算和I/O资源都可以独立增加,支持10GbE和InfiniBand等高速网络互联.Gluster弹性哈希(ElasticHash)解除了GlusterFS对元数据服务器的需求,消除了单点故障和性能瓶颈,真正实现了并行化数据访问
* 高可用性
GlusterFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问.自我修复功能能够把数据恢复到正确的状态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载.GlusterFS没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3,ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问
* 弹性卷管理
数据储存在逻辑卷中,逻辑卷可以从虚拟化的物理存储池进行独立逻辑划分而得到.存储服务器可以在线进行增加和移除,不会导致应用中断.逻辑卷可以在所有配置服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行.文件系统配置更改也可以实时在线进行并应用,从而可以适应工作负载条件变化或在线性能调优

GlusterFS 术语

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
* GNFS和KNFS
前者是GlusterFS自带的NFS Server,而后者指的是操作系统内核提供的kernel NFS服务.两者可选其一,也可以配置成同时提供服务
* Brick
存储块,指可信主机池中由主机提供的用于存储的专用分区,是GlusterFS中的基本存储单元
* Volume
逻辑卷,一个逻辑卷是一组bricks的集合
* Subvolume
一个在经由至少一个的转换器处理之后的brick,被称为sub-volume
* Volfile
指GlusterFS的各种配置文件,定义了服务端和客户端使用到的各种转换器以及卷和块的配置信息
GlusterFS共包含三部分,服务端,客户端和管理进程,每部分都有自己的配置文件.其中服务端和客户端的vol files放置在/var/lib/glusterd/vols/VOLNAME目录下,后台管理进程的配置文件在/etc/glusterfs/目录下
* Glusterd
后台管理进程,需要在存储集群中的每个节点上都要运行
* Extended Attributes
扩展属性是文件系统的一个特性,允许用户或应用为文件和目录关联更多的元数据信息
* FUSE
用户空间内的文件系统
* GFID
每个GlusterFS中的文件或目录都有一个128bit的数字标识,称为GFID
* Quorum
该参数设置了在一个可信的存储池中最多可失效的主机节点数量,超出该值则认为该可信存储池已不可用了
* Rebalance
当一个brick被加入或移除后,会有一个修复进程对数据分布进行重新计算与优化
* RRDNS
是随机式域名解析的缩写,用于对一个域名设置多个IP解析时,实现数据读负载的分布式处理
* Split-brain
脑裂,即处于一个镜像复制关系中的bricks之间,发生了数据或元数据的不一致问题,而无法认定哪边的数据正确