您的位置:首页 > 其它

GlusterFS安装配置

2017-08-02 14:31 387 查看
GlusterFS安装配置

公司业务变化需要文件服务器,之前使用的nfs在服务器多的情况下,对用户要求太高导致好多用户不能写入。之后测试了samba、nfs用户体验不好,rsync多主机之间配置比较复杂。

1.GlusterFS文件系统和架构介绍
1)、GlusterFS文件系统简介及优点
GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。
2)、GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。
3)、GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。
4)、GlusterFS支持运行在任何标准IP网络上标准应用程序的标准客户端,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据。
5)、GlusterFS使用用户可摆脱原有的独立、高成本的封闭存储系统,能够利用普通廉价的存储来部署集中管理、横向扩展、虚拟化的存储池,存储容量可扩展至TB/PB级。

2.安装配置
以下是两台主机配置复制模式:

192.168.1.10 server1
192.168.1.20 server2

每台主机必须准备一台没有格式化的硬盘,GlusterFS需要独立使用一块硬盘。

格式化硬盘
mkfs.xfs -i size=512 /dev/sdb1 mkdir -p /data/test echo '/dev/sdb1/data/logs xfs defaults 1 2' >>/etc/fstab mount -a && mount

启动、停止服务
启动glusterfs
service glusterd start service glusterdstatus
service glusterd stop

创建集群
gluster peer probe server2
gluster peer probe server1

创建共享盘
mkdir -p /data/brick1/gv0
gluster volume create gv0 replica 2server1:/data/logs/gv0 server2:/data/logs/gv0 gluster volume start gv0

查看卷信息状态
gluster volume info

启动、停止卷
gluster volume start gv0
gluster volume stop gv0

客户端安装
wget -P /etc/yum.repos.dhttp://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo
yum install -y glusterfs-3.4.2-1.el6glusterfs-fuse-3.4.2-1.el6

客户端挂载磁盘
mount -t glusterfs server1:/gv0 /mnt

测试创建文件 for i in `seq -w 1 100`; docp -rp /var/log/messages /mnt/copy-test-$i; done

ls -lA /mnt | wc -l
ls -lA /data/logs/gv0

删除卷
volume delete gv0

移除集群
gluster peer detach server1 server2

收缩卷
1. glustervolume remove-brick gv0 server1:/data/logs/gv0 server2:/data/logs/gv0 start # 开始迁移
2. glustervolume remove-brick gv0 server1:/data/logs/gv0 server2:/data/logs/gv0 status # 查看迁移状态
3. glustervolume remove-brick gv0 server1:/data/logs/gv0 server2:/data/logs/gv0 commit # 迁移完成后提交

系统运维篇
1、系统配额
# gluster volume quota VOLNAMEenable/disable
//在使用系统配额功能时,需要使用enable将其开启;disable为关闭配额功能命令。
2.设置(重置)目录配额
# gluster volume quota VOLNAME limit-usage/directorylimit-value
#gluster volume quota vg0 limit-usage/quota 10GB
//如上,设置dht_vol卷下的quota子目录的限额为10GB。
PS:这个目录是以系统挂载目录为根目录”/”,所以/quota即客户端挂载目录下的子目录quota
3.配额查看
# gluster volume quota VOLNAME list
# gluster volume quota VOLNAME list/directory name
//可以使用如上两个命令进行系统卷的配额查看,第一个命令查看目的卷的所有配额设置,第二个命令则是执行目录进行查看。
//可以显示配额大小及当前使用容量,若无使用容量(最小0KB)则说明设置的目录可能是错误的(不存在)。
4.地域复制、灾备(geo-replication)
# gluster volume geo-replication MASTERSLAVE start/status/stop
地域复制是系统提供的灾备功能,能够将系统的全部数据进行异步的增量备份到另外的磁盘中。
#gluster volume geo-replicationdht_vol192.168.2.104:/mnt/sdb1 start
//如上,开始执行将dht_vol卷的所有内容备份到2.104下的/mnt/sdb1中的task,需要注意的是,这个备份目标不能是系统中的Brick。
5. I/O信息查看
Profile Command 提供接口查看一个卷中的每一个 brick 的 IO 信息。
#gluster volume profile VOLNAME start
//启动profiling,之后则可以进行IO信息查看

#gluster volume profile VOLNAME info
//查看IO信息,可以查看到每一个Brick的IO信息

# gluster volume profile VOLNAME stop
//查看结束之后关闭profiling功能
6. Top监控
Top command 允许你查看bricks 的性能例如:read,write, file opencalls, file read calls, file write calls, directory open calls,and directoryreal calls
所有的查看都可以设置top 数,默认100

# gluster volume top VOLNAME open[brickBRICK-NAME] [list-cnt cnt]
//查看打开的fd

#gluster volume top VOLNAME read [brickBRICK-NAME][list-cnt cnt]
//查看调用次数最多的读调用

#gluster volume top VOLNAME write [brickBRICK-NAME][list-cnt cnt]
//查看调用次数最多的写调用

# gluster volume top VOLNAME opendir[brickBRICK-NAME] [list-cnt cnt]
# gluster volume top VOLNAME readdir[brickBRICK-NAME] [list-cnt cnt]
//查看次数最多的目录调用

# gluster volume top VOLNAME read-perf[bsblk-size count count] [brick BRICK-NAME] [list-cnt cnt]
//查看每个Brick的读性能

# gluster volume top VOLNAME write-perf[bsblk-size count count] [brick BRICK-NAME] [list-cnt cnt]
//查看每个Brick的写性能

性能调优示例:
gluster volume start file-backup
gluster volume quota file-backup enable
gluster volume quota file-backuplimit-usage /800TB
gluster volume set file-backupauth.allow192.168.10.31,192.168.12.27
gluster volume setfile-backupperformance.cache-size 4GB
gluster volume setfile-backupperformance.flush-behind on
gluster volume info file-backup

gluster 性能优化、报错解决:
peer 节点从一个集群,加入到另外一个集群的时候,节点不能启动 glusterd 报错解决方法:

[root@server114 glusterfs]#vi/usr/local/glusterfs/etc/glusterfs/glusterd.vol
volume management
typemgmt/glusterd
option working-directory /var/lib/glusterd
optiontransport-type socket,rdma
optiontransport.socket.keepalive-time 10
optiontransport.socket.keepalive-interval 2
optiontransport.socket.read-fail-log off
# optionbase-port 49152

/var/lib/glusterd 里面有记录信息,删除下面的所有信息,清空历史记录配置文件,服务即可启动

扩容server1硬盘,server1之前100G 扩容后200G。
fdisk /dev/xvdb 重新分配硬盘空间
mkfs.xfs -i size=512 /dev/xvdb1 格式化硬盘
gluster volume start vol force 卷修复 数据自动同步

参考内容 https://www.tecmint.com/perform-self-heal-and-re-balance-operations-in-gluster-file-system/磁盘格式化修复
测试删除其中一个节点内容,删除后几分钟后会自动同步回来。
关闭集群或机器大概两、三分钟不能访问挂载文件夹,之后一切正常启动后机器会自动复制内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  FS 文件服务器 Gluster