GlusterFS分布式文件系统

GlusterFS是一个开源的分布式文件系统,软件的结构设计良好,易于扩展和配置,通过各个模块的灵活搭配得到针对性的解决方案。可解决一下问题:网络存储,联合存储,冗余备份,大文件的负载均衡。可靠性也未经过长时间的考验,还不适合应用于提供24小时不间断服务的产品环境。目前适用于大数据量的离线应用。

GlusterFS通过infiniband RDMA或者TCP/IP的方式将许多廉价的X86主机,通过网络互联成一个并行的网络文件系统。

注释:

BrickGFS中的存储单元,通过一个受信存储池中的服务器的一个导出目录。

Client:挂在GFS卷的设备。

Node:存放Brick的设备。

RDMA:远程直接内存访问。

GFIDGFS卷中每个文件或目录都有一个唯一的128位的数据相关联。

FUSE:是一个可加载的内核模块,支持非特权用户创建自己的文件系统而不需要修改内核代码。

GlusterFS的部署:

安装依赖包

#yum -y install xfsprogs fuse fuse-libs libacl-devel flex bison openssl-devel sqlite-devel libxml2

# rpm -ivh userspace-rcu-0.9.2-2.fc25.x86_64.rpm

# rpm -ivh userspace-rcu-devel-0.9.2-2.fc25.x86_64.rpm

安装三部曲

#./configure --prefix=/usr/local/gluster

#make && make install

手动指定系统找到URCU

# ldconfig

# pkg-config --libs --cflags liburcu-bp liburcu

定义系统变量

# vim /etc/profile

添加内容:

PATH=$PATH:/usr/local/gluster/sbin

开启Glusterd服务

# glusterd start

# ps aux |grep glusterd

 

Gluster的使用:

Gluster群集关联

#gluster peer probe 1.1.1.1

#gluster peer probe 1.1.1.2

#gluster peer probe 1.1.1.3

主机添加一块硬盘,格式化与挂载

#fdisk -l

#fdisk /dev/sdb

#mkfs /dev/sdb1

#mount /dev/sdb1 /a

创建卷

多块磁盘组成一个卷,不做RAID

# gluster volume create renvg  1.1.1.1:/a  1.1.1.2:/b  1.1.1.3:/c

多块磁盘组成一个卷,做成RAID1

# gluster volume create renvg replica 2 1.1.1.1:/a  1.1.1.2:/b  1.1.1.3:/c

将卷挂载在文件夹即可

#mount -t glusterfs -o acl master:/renvg  /opt/a

Gluster基本命令汇总

命令

描述

Gluster volume stop renvg

停止卷的使用

Gluster volume start renvg

开始卷的使用

Gluster volume delete renvg

删除卷

修复卷中的磁盘

Gluster volume replace-brick renvg 1.1.1.1:/a 1.1.1.3:/new

Gluster volume heal renvg full

修复卷

扩展卷容量

Gluster volume add-brick renvg 1.1.1.4:/new

在线扩展卷的容量

Gluster volume rebalance renvg start

平衡数据

减少卷容量

Gluster volume remove-brick renvg 1.1.1.1:/a start

在线减少卷的容量

Gluster volume remove-brick renvg 1.1.1.1:/a status

查看删除卷的状态

Gluster volume remove-brick renvg commit

提交移除操作

磁盘配额

Gluster volume quota renvg enable

开启磁盘配额

Gluster volume quota renvg limit -usage /quo_a 10Gb

设置该目录只可以使用卷的10Gb

Gluster volume quota renvg list

显示当前的配额使用量

Gluster volume quota renvg remove /quo_a

去除目录配额

Gluster volume quota renvg disable

停用磁盘配额

创建卷使用RAID

Gluster volume create renvg stripe 3 1.1.1.1:/a  1.1.1.2:/b  1.1.1.3:/c

 

RAID0

Gluster volume create renvg replica2 stripe 3 1.1.1.1:/a  1.1.1.2:/b  1.1.1.3:/c

 

RAID1+0

Gluster volume create renvg disperse 6 redundancy 1 1.1.1.1:/a  1.1.1.2:/b  1.1.1.3:/c

 

RAID5

Gluster volume create renvg disperse 10 redundancy 5

RAID6

注:绿色的为卷的名字。