Glusterfs篇之实现glusterfs server与client端的关联

一、前言
当我们使用Glusterfs作为服务器中的数据文件共享时,当搭建好了glusterfs server端后,这时需要进行gfs server与client的关联,然后通过数据挂载 实现服务器中数据文件的资源共享。

这个是需要在Glusterfs server以及client上做相关的配置。

二、实现配置关联步骤
1、实现配置关联的前提:server端与client端机器要保持相互通信,即就是可以互相ping通。
要实现机器之间可以互通,可参考我的该篇文章:
https://blog.csdn.net/xu710263124/article/details/120058098?spm=1001.2014.3001.5502
注意:这里所有节点保持一致的host即可, 以node1 节点为例。
#绑定hosts不是必须的,后续组件受信任池也可以使用ip形式
192.168.122.1 node1【server】
192.168.122.2 node2【client】

假设:gfs server:192.168.122.1
gfs client:192.122.122.2 【client端可以有多个】
2、首先需要在glusterfs client上进行client端的安装
可选择源码安装或者yum安装、以及rpm包进行安装
我这里是采用的rpm包的安装方式
环境:Centos7
gfs client版本:3.8.10
3、搭建gfs client端需要的rpm包
如下:
glusterfs-api-3.8-10.el7.x86_64.rpm
glusterfs-cli-3.8-10.el7.x86_64.rpm
glusterfs-client-xlators-3.8-10.el7.x86_64.rpm
glusterfs-fuse-3.8-10.el7.x86_64.rpm
glusterfs-libs-3.8-10.el7.x86_64.rpm

分别上传包到所需要安装gfs client端的主机:这里的client端机器为192.122.122.2

4、检查每台机器中的防火墙状态

systemctl status firewalld

如果防火墙是开启的话,需要为其开放对应的端口

如果没有其他特别要求,关闭即可。

5、开启时间同步 【这个可装可不装~】
如果没有安装chrony的话,可进行如下安装

yum install -y chrony

安装完成后,启动服务并设置开机自启动

systemctl start chronyd
systemctl start chronyd

node1开启chrony服务功能
node1可添加以下操作:
sudo vim /etc/chrony.conf

allow 0.0.0.0/0     #添加允许网段
# Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
# Serve time even if not synchronized to any NTP server.
local stratum 10        #取消注释

6、然后在client端机器上进行如下配置

sudo vim /etc/chrony.conf
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.105.71 iburst

然后重启chrony服务

sudo systemctl restart chronyd.service
sudo systemctl enable chronyd.service

查看时间同步情况

sudo chronyc sources -v

7、client端安装配置集群【rpm包安装】

sudo rpm -ivh glusterfs-*.rpm --force --nodeps

安装完成后,可通过 rpm -qa | grep glusterfs 进行查询

 rpm -qa | grep glusterfs

如下所示,表示包已经安装完成
在这里插入图片描述
8、创建client端 挂载的gfs 目录

mkdir -p /mnt/glusterfs   # 挂载的gfs 目录

9、然后在gfs server端进行client端信息的配置添加并允许client端机器的权限
这里为:192.168.122.1 node1
配置文件为:/opt/gltfs/etc/glusterfs/glusterd.vol
在其对应的配置文件/opt/gltfs/etc/glusterfs/glusterd.vol下:

volume management
    type mgmt/glusterd
    option working-directory /etc/glusterd
    option transport-type socket,rdma
    option transport.socket.keepalive-time 10
    option transport.socket.keepalive-interval 2
end-volume

volume brick
  type storage/posix
  option directory /mnt/glusterfs/   【server端数据块】
end-volume

#client1
volume remote1
  type protocol/client      【client端配置】
  option transport-type tcp
  option remote-host 192.168.122.2
  option remote-subvolume brick
end-volume

允许client端机器的权限问题

gluster volume set vol01 auth.allow 192.168.122.2  

10、启动服务

sudo systemctl start glusterd
sudo systemctl status glusterd
sudo systemctl enable glusterd

**或者可以通过编写执行脚本 client-ctl.sh

vim client-ctl.sh
#!/bin/bash

umount  /mnt/glusterfs

echo "Start client process..."

mount -t glusterfs -o log-level=ERROR,log-file=./client.log,transport=tcp wdtest02:/vol01 /mnt/glusterfs

#chmod 777 /mnt/glusterfs/taeblob/cloudapi-instwall -R
echo "done."

注:要实现gfs的互通,必须确保server端和client端的机器能够互通。
这里的互通不单指 ping通,在server端的

mount -t glusterfs -o log-level=ERROR,log-file=./client.log【配置log信息】,transport=tcp【以TCP的形式实现文件共享】 abtest02:/vol01 【abtest02为gfs server端的主机名 】/mnt/glusterfs   【为将server端的挂载的共享数据文件】
**解释:**
这里,如果要执行该命令,需要先创建对应的目录,即:/mnt/glusterfs 
1、log-level=ERROR,log-file=./client.log   #配置log信息
2、transport=tcp【以TCP的形式实现文件共享】
3、abtest02:/vol01 【abtest02为gfs server端的主机名 ,其中 vol01 为gfs server中的数据卷
4/mnt/glusterfs  【为将gfs server端的文件挂载到gfs client端的对应的目录下】

11、执行完成后,可通过查询分布卷状态

sudo gluster volume status

在这里插入图片描述
注:
1、TCP Port为对应gfs开放端口
2、volume:为对应的卷:vol01

12、注意,这里如果挂载不成功,一般都是因为防火墙规则问题
因为要实现机器之间的互相通信,这时需要进行防火墙规则允许。
即:在server的机器的防火墙规则上加上client机器。
这里的话,如果报错,会出现如下信息:
12.1 报错信息:

socket_connect_finish 0-vol01-client-1:connection to xxx.xxx.xxx.xxx failed (Connection timed out)

12.2 报错原因:socket链接不成功,说明机器之间并没有实现通信。
12.3 解决方案:一般出现这类问题,基本都是防火墙规则未设置。
1、检查:server端的机器是否开启了对client端机器的防火墙规则
查看防火墙规则配置文件:/etc/sysconfig/iptables
如图所示:
在这里插入图片描述
2、如果没有添加防火墙规则的话,添加规则

-A INPUT -s IP地址 -j ACCEPT

3、添加完成后,重启防火墙服务

service iptables restart

重启完成之后,然后执行挂载指令,即可完成。

4、添加完成之后,可以通过如下指令来检查:

# 查看现有防火墙过滤规则:
iptables -nvL --line-number

5、挂载完成后,可通过df -h 进行查询

df -h

如下:
在这里插入图片描述
6、查看进程 ps -ef | grep glusterfs

ps -ef | grep glusterfs

在这里插入图片描述
如此,则说明 gfs 挂载成功~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听说唐僧不吃肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值