特别注意

两台GFS主机172.18.30.18和172.18.30.36上面务必配置/etc/hosts,否则peer的时候会有问题

172.18.30.18 renhe-18-30-18
172.18.30.18 renhe-18-30-36

客户端安装

yum -y install epel-release

然后 yum  install glusterfs-fuse 就可以了

挂载:

mount.glusterfs 172.18.30.18:/borui-vol /data/br/nfs

fstab 自动挂载

172.18.30.18:/borui-vol /data/br/nfs glusterfs defaults,_netdev,backupvolfile-server=172.18.30.36 0 0

在172.18.30.18上建立新卷,因为只有2个节点,就必须force了

gluster volume create test-zhichi-vol replica 2 transport tcp 172.18.30.18:/glusterfs/test-zhichi-vol 172.18.30.36:/glusterfs/test-zhichi-vol force

启动

gluster volume start test-zhichi-vol

查看一下

gluster volume info test-zhichi-vol

查看卷信息(禁止查看inode,太多了)

gluster volume status test-zhichi-vol detail
gluster volume status test-zhichi-vol clients
gluster volume status test-zhichi-vol mem
gluster volume status test-zhichi-vol fd
gluster volume status test-zhichi-vol inode

开启限额

gluster volume quota test-zhichi-vol enable
gluster volume quota test-zhichi-vol limit-usage / 50GB
gluster volume quota test-zhichi-vol list

限制IP访问

例如允许172.18.31.*网段的主机访问rep-volume:

gluster volume set test-zhichi-vol auth.allow 172.18.31.*`

如果客户端想用NFS挂载

gluster volume set test-zhichi-vol nfs.disable off

开启性能分析(慎用)

gluster volume profile test-zhichi-vol start

开启后性能分析后,显示I/O信息:

gluster volume profile gv0 info

Glusterd 启动失败,原因未知处理办法(慎用,拷出数据后再用):

rm -rf /var/lib/glusterd/*
systemctl start glusterd

脑裂解决方法:

脑裂: 使用replica模式的时候,如果发生网络故障(比如交换机坏了、网线被碰掉了),而两台机器都还活着的时候,它们各自的数据读写还会继续。

当网络恢复时,它们都会认为自己的数据才是正确的,对方的是错误的,这就是俗称的脑裂。

双方谁都不肯妥协,结果就是文件数据读取错误,系统无法正常运行。 在正常的机器上执行以下操作:

gluster volume status nfsp (看看这个节点有没有在线)
gluster volume heal nfsp full (启动完全修复)
gluster volume heal nfsp info  (查看需要修复的文件)
gluster volume heal nfsp info healed  (查看修复成功的文件)
gluster volume heal nfsp info heal-failed  (查看修复失败的文件)
gluster volume heal nfsp info split-brain  (查看脑裂的文件)
Gathering Heal info on volume nfsp has been successful

Brick gls03.mycloud.com.cn:/glusterfs/nfsp
Number of entries: 24

at                    path on brick
-----------------------------------

2014-05-30 10:22:20 /36c741b8-2de2-46e9-9e3c-8c7475e4dd10
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

在有病的那台机器上,删除脑裂的文件: (注意!要删除的文件是在gluster volume info nfsp看到的目录中,不要去删除挂载的目录中的文件,不然就等着哭吧) 把硬链接文件找出来,也要删除:

find /glusterfs/nfsp/ -samefile /glusterfs/nfsp/36c741b8-2de2-46e9-9e3c-8c7475e4dd10 -print

/glusterfs/nfsp/36c741b8-2de2-46e9-9e3c-8c7475e4dd10 /glusterfs/nfsp/.glusterfs/65/26/6526e766-cb26-434c-9605-eacb21316447 (这里看得出硬链接文件的目录名和日志中的gfid的对应关系)

删除掉:

rm /glusterfs/nfsp/36c741b8-2de2-46e9-9e3c-8c7475e4dd10
rm /glusterfs/nfsp/.glusterfs/65/26/6526e766-cb26-434c-9605-eacb21316447

在正常的机器上执行

tail -1 /nfsprimary/36c741b8-2de2-46e9-9e3c-8c7475e4dd10   (读一下这个文件,触发修复)
ls -l /glusterfs/nfsp/36c741b8-2de2-46e9-9e3c-8c7475e4dd10 

人工查看一下两台机器的数据是否一致

其它的脑裂文件也是一样处理。 没问题的话,重新挂载目录:

umount /nfsprimary
/bin/mount -t glusterfs 10.10.10.21:/nfsp /nfsprimary/