CentOS7下分布式系统GlusterFS安装配置

1.主机规划
192.168.1.52 gfs1
192.168.1.71 gfs2

2.配置ssh免密码登录
在两个节点上分别执行
1).生成密钥文件
ssh-keygen -t rsa
2).将公钥拷贝到对方
#在192.168.1.52 gfs1上执行
ssh-copy-id root@192.168.1.71
#在192.168.1.71 gfs2上执行
ssh-copy-id root@192.168.1.52
3).测试
#在192.168.1.52 gfs1上执行
ssh root@192.168.1.71
#在192.168.1.71 gfs2上执行
ssh root@192.168.1.52

3.安装
1).在node{1-2}上安装glusterfs服务器和客户端
yum install -y centos-release-gluster38 glusterfs glusterfs-server glusterfs-fuse
2).设置开机自启动并启动
systemctl enable glusterd
systemctl start glusterd
3).在gfs1-gfs2节点上配置整个GlusterFS集群,把各个节点加入到集群
vim /etc/hosts
修改内容如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.52 gfs1
192.168.1.71 gfs2
4).在任意一个节点上执行(添加对方为到集群)
如gfs1节点上执行
gluster peer probe gfs2
如果gfs2节点上即执行
gluster peer probe gfs1
5).在gfs{1-2}设置防火墙
systemctl start firewalld
systemctl enable firewalld
firewall-cmd –add-service=glusterfs –permanent
firewall-cmd –zone=public –add-port=24007-24008/udp –permanent
firewall-cmd –zone=public –add-port=24007-24008/tcp –permanent
firewall-cmd –zone=public –add-port=49152/tcp –permanent
firewall-cmd –reload

4.查看节点状态
gluster peer status

5.在gfs{1-2}上创建数据存储目录
mkdir -p /home/share/models

6.在gfs1上创建GlusterFS磁盘
注意:加上replica 2就是2个节点中,每个节点都要把数据存储一次,就是一个数据存储2份,每个节点一份
如果不加replica 2,就是2个节点的磁盘空间整合成一个硬盘
gluster volume create models replica 2 transport tcp gfs1:/home/share/models gfs2:/home/share/models force

7.创建/启动/停止/删除卷
gluster volume start models
gluster volume stop models
gluster volume delete models
注意,删除卷的前提是先停止卷

8.设置卷参数,如关闭只读,启动写,删除操作
gluster volume set models features.read-only Off
gluster volume set models nfs.trusted-write On

9.客户端以glusterfs方式挂载(此步重要,数据同步)
部署GlusterFS客户端并mount GlusterFS文件系统
注:ro:只读模式 rw:读写模式
1). 在gfs{1-2}上创建数据存储目录
mkdir -p /mnt/models
2). 在192.168.1.52 gfs1上执行
mount -t glusterfs -o rw gfs1:models /mnt/models/
3). 在192.168.1.71 gfs2上执行
mount -t glusterfs -o rw gfs2:models /mnt/models/
4).在gfs{1-2}上设置开机自动挂载卷
vim /etc/fstab
在192.168.1.52 gfs1上执行添加内容:
gfs1:models /mnt/models glusterfs defaults,_netdev 0 0
在72.168.30.71 gfs2上执行添加内容:
gfs2:models /mnt/models glusterfs defaults,_netdev 0 0

10.修改客户端只读为读写方式
1).检查是否有ro只读模式
mount
如果发现有ro,先umount后重新mount
umount /mnt/models
2).如果发现有提示“device is busy”,执行以下操作
在192.168.1.52 gfs1上执行
gluster volume stop models
umount /mnt/models
gluster volume start models
mount -t glusterfs -o rw gfs1:models /mnt/models/
在192.168.1.71 gfs2上执行
gluster volume stop models
umount /mnt/models
gluster volume start models
mount -t glusterfs -o rw gfs2:models /mnt/models/