1. Linux安装部署集群
启动并设置为系统服务
yum install -y glusterfs-server
systemctl start glusterd.service
systemctl enable glusterd.service
other:
systemctl status/stop glusterd.service
必要时需要配置yum源:(/etc/yum.repos.d/)
[centos-gluster312]
name=CentOS-$releasever - Gluster 3.12
baseurl=http://vault.centos.org/7.7.1908/storage/$basearch/gluster-3.12/
gpgcheck=0
enabled=1
修改主机名 /etc/hostname
192.168.1.1 node1
192.168.1.2 node2
在node1上执行,将node2加入集群修改 /etc/hosts
192.168.1.1 node1
192.168.1.2 node2
在node1上执行,将node2加入集群
gluster peer probe node-2
挂载磁盘并创建启动volume
创建磁盘Glusterfs只能在单独挂载的磁盘上面创建volume)
mkfs.xfs -f -i size=512 /dev/sdb
mkdir -p /data/brick1
echo '/dev/sdb /data xfs defaults 1 2' >> /etc/fstab
mount -a && mount
mkdir -p /data/brick1/473aedde263b470aa53128df230271c3
#创建volume
gluster volume create 473aedde263b470aa53128df230271c3 replica 2 node1:/data/brick1/473aedde263b470aa53128df230271c3 node2:/data/brick1/473aedde263b470aa53128df230271c3
#启动volume
gluster volume start 473aedde263b470aa53128df230271c3
挂载验证
mkdir -p /mnt/gluster-object/473aedde263b470aa53128df230271c3/
mount -t glusterfs node2:/473aedde263b470aa53128df230271c3 /mnt/gluster-object/473aedde263b470aa53128df230271c3/
|
2. glusterfs 集群去节点
gluster peer status #查看集群存储池信息
gluster volume info #查看卷信息
gluster volume remove-brick 473aedde263b470aa53128df230271c3 replica 2 gs-3:/data/brick1/473aedde263b470aa53128df230271c3 force #去掉brick
gluster peer detach gs-3 #从集群中去掉节点
(加新节点及brick操作:)
gluster volume add-brick 473aedde263b470aa53128df230271c3 replica 3 node3:/data/brick1/473aedde263b470aa53128df230271c3 force
gluster peer probe node3
3. 脑裂问题
脑裂相关说明:
https://blog.csdn.net/lblxyh/article/details/40894635
http://www.aiuxian.com/article/p-1937523.html
双节点会增加脑裂概率,集群最好三节点及以上。glusterfs 提供了quorum机制来预防脑裂。(https://docs.gluster.org/en/release-3.7.0beta1/Features/server-quorum/)
如果为了节省资源,可以把其中一台节点不做存储,只用于在quorum机制仲裁。
相关设置:
gluster volume set 473aedde263b470aa53128df230271c3 cluster.server-quorum-type server
gluster volume set all cluster.server-quorum-ratio 51%
4. 其他问题(还没解决)
本来项目要给glusterfs集群节点磁盘扩容,从集群下了一个节点后过了几天才扩容的,再次放到集群,我理解的是应该集群已有节点会自动将文件同步给重新上的节点,结果发现同步不完整(部分文件同步了部分文件不同步),按脑裂的方法去查发现也没有脑裂问题的文件。但是能看出俩节点的gfid是不一样的