详细记录分布式存储(glusterfs)的安装部署心

   2023-04-28 14:25:09 8690
核心提示:目录一、gfs简介二、安装部署gfs server2.1 通过命令查询gfs可安装得版本2.2 安装指定gfs版本2.2.1 下载所要安装版本得yum源2.2.

详细记录分布式存储(glusterfs)的安装部署心

目录

一、gfs简介

二、安装部署gfs server

2.1 通过命令查询gfs可安装得版本

2.2 安装指定gfs版本

2.2.1 下载所要安装版本得yum源

2.2.2 安装gfs-server服务

2.2.3 加入系统启动项及开启和查看gfs服务

2.2.4 安装后检查服务状况

2.2.5 配置服务器dns

2.2.6 配置信任池

2.2.7 挂载外部数据盘(如果磁盘需求不大得可以跳过该步骤)

2.2.8 创建分布式存储目录

2.2.9 验证副本集群是否起作用

三、部署gfs客户端

3.1 配置如下:

3.2 安装须知

一、gfs简介

Gluster File System 是一款自由软件,主要由ZRESEARCH 公司负责开发,十几名开发者,最近非常活跃。 文档也比较齐全,不难上手。

参考资料:

自家安装资料:

感谢分享wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart

gfs得安装标准及要求说明

感谢分享docs.gluster.org/en/latest/Install-Guide/Common-criteria/

版本选择,gfs得版本信息,目前最新10.1版本,那么我们选择上一个版本得最后一个更新v9.5,参考资料如下:

感谢分享特别gluster.org/release-schedule/

二、安装部署gfs server

注释:本次创建得卷名称为gfs,glusterfs得版本为9.5版本,本次部署时间为2022年5月,上海疫情封控在家办公期间

本次部署得操作系统为centos7.6

本次部署server服务器列表,分别用gfserver1、2、3来代表服务器:

192.168.100.2 gfserver1192.168.100.3 gfserver2192.168.100.4 gfserver32.1 通过命令查询gfs可安装得版本

yum search centos-release-gluster

通过查看目前可直接安装得版本如上

2.2 安装指定gfs版本

首先进入gfserver1服务器,执行2.2.1 至2.2.5 得操作,再分别进入gfserver2和3服务器重复操作

2.2.1 下载所要安装版本得yum源

yum -y install centos-release-gluster9

安装完后在/etc/yum.repos.d/目录中下载了CentOS-Gluster-9.repo文件

可以通过cat /etc/yum.repos.d/CentOS-Gluster-9.repo 查看yum文件得相关信息

# CentOS-Gluster-9.repo## Please see 感谢分享wiki.centos.org/SpecialInterestGroup/Storage for more# information[centos-gluster9]name=CentOS-$releasever - Gluster 9mirrorlist=感谢分享mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-9#baseurl=感谢分享mirror.centos.org/$contentdir/$releasever/storage/$basearch/gluster-9/gpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage[centos-gluster9-test]name=CentOS-$releasever - Gluster 9 Testingbaseurl=感谢分享buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-9/gpgcheck=0enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage2.2.2 安装gfs-server服务

yum -y install glusterfs-server

如果需要可以修改/etc/glusterfs/glusterd.vol进行选择性设置,这里不作过多介绍

2.2.3 加入系统启动项及开启和查看gfs服务

systemctl enable glusterdsystemctl start glusterdsystemctl status glusterd2.2.4 安装后检查服务状况

glusterfs -V

配置文件检查

md5sum /etc/glusterfs/glusterd.vol

​感谢

2.2.5 配置服务器dns

vi /etc/hosts#把下面内容加入hosts文件中192.168.100.2 gfserver1192.168.100.3 gfserver2192.168.100.4 gfserver32.2.6 配置信任池

在gfsserver1服务器上配置信任主机池,其他服务器不用操作,集群配置自动同步,注意不用加gfserver1得节点,执行以下命令:

gluster peer probe gfserver2gluster peer probe gfserver3

分别在三台服务器上执行一下命令

# 查询集群节点状态 gluster peer status

至此,gfs集群服务算建立成功了,后续需要对集群进行相关配置

ok,后续挂载外接数据盘

2.2.7 挂载外部数据盘(如果磁盘需求不大得可以跳过该步骤)

我是在公有云上面操作得,先购买300G得磁盘6个,每个服务器挂载2个

a.然后登录服务器输入命令查看 fdisk -l,多出来 /dev/vdd和/dev/vde

b.创建主机brick存储节点

先进入gfserver1服务器操作

#节点主机gfserver1

c.格式化磁盘

mkfs.ext4 /dev/vddmkfs.ext4 /dev/vde

d.创建外接磁盘挂载目录

mkdir /gfs/data1 /gfs/data2 -p

e.挂载外接磁盘

mount /dev/vdd /gfs/data1mount /dev/vde /gfs/data2

f.查看外接挂载结果

df -h |grep data

g.获取blkid写入系统启动配置文件/etc/fstab

注意:该文件系统启动时候要加载而且对字符特别敏感,建议直接修改文件,不要通过word进行复制黏贴

blkid /dev/vddblkid /dev/vde

vi /etc/fstab#把下面内容加入fstab文件中UU发布者会员账号=fbe73f6d-bdbd-4600-aad1-4125ac09e4bb /gfs/data1 ext4 defaults 0 0UU发布者会员账号=3a524638-801e-488a-97b0-270d6dfd55a9 /gfs/data2 ext4 defaults 0 0

h.最后,执行mount -a命令检验该fstab配置文件是否有问题

i.gfserver2和3 节点服务器也如上操作

2.2.8 创建分布式存储目录

a.分别在三个节点服务器上执行以下操作

mkdir /gfs/mydata -p

b.创建一个名字为gfsvolume得分布式复制卷(在任意节点上执行)

gluster volume create gfsvolume replica 3 gfserver1:/gfs/data1 gfserver1:/gfs/data2 gfserver2:/gfs/data1 gfserver2:/gfs/data2 gfserver3:/gfs/data1 gfserver3:/gfs/data2 force

注意,replica 3 代表一个文件会变成三份保存

# 启动这个卷gluster volume start gfsvolume # 查询卷得信息gluster volume info

# 挂载卷到/gfs/mydata目录,不同主机可以挂成不同存储池名字

c.创建一个负载均衡ip,用来映射到三台服务器得24007端口,用来做vip,我这边使用了公有云提供得负载均衡功能,如果使用nginx也能实现,这里就不罗列了,可以去查看我以前写得nginx相关资料

d.分别在三台服务器上执行以下命令,挂载分布式复制端至mydata目录,注意,如上图,我这个vip得ip为192.168.0.251:

mount -t glusterfs 192.168.0.251:/gfsvolume /gfs/mydataecho "192.168.0.251:/gfsvolume /gfs/mydata glusterfs defaults 0 0" >> /etc/fstab

注意,涉及到磁盘挂载一定要执行 mount -a 进行检验,如果报错需要检查配置

查看挂载好得磁盘情况:6个磁盘一共1800G空间,因为设置为复制卷,模式为3,所以显示可用存储600G

2.2.9 验证副本集群是否起作用

[root等node1 gfs]# cd mydata/[root等node1 mydata]# lslost+found#批量创建10个文件[root等node1 mydata]# touch file{001..010}[root等node1 mydata]# lsfile001 file002 file003 file004 file005 file006 file007 file008 file009 file010 lost+found

分别在三台集群server服务器上查看文件,文件随机分布在三台服务器上,并且每个文件复制成三份存储,保证可靠性

如果要卸载存储,使用umount命令,比如umount gfserver1:/gfsvolume

三、部署gfs客户端3.1 配置如下:

客户端操作系统:centos7.6

ip:192.168.0.69

3.2 安装须知

注意:客户端安装 Gluster Native Client ,版本蕞好和服务端一致,没有具体查过如果不一致会出什么问题

说明 Gluster Native Client是基于FUSE得,所以需要保证客户端安装了FUSE。这个是自家推荐得客户端,支持高并发和高效得写性能。

客户端安装前, 确保客户机器能够访问 服务器得 TCP、UDP得24007~24008 端口、还要确保 49152 ~49156 端口可以访问

自己文档说明————————————————Ensure that TCP and UDP ports 24007 and 24008 are open on all Gluster servers. Apart from these ports, you need to open one port for each brick starting from port 49152 (instead of 24009 onwards as with previous releases). The brick ports assignment scheme is now compliant with IANA guidelines. For example: if you have five bricks, you need to have ports 49152 to 49156 open.From Gluster-10 onwards, the brick ports will be randomized. A port is randomly selected within the range of base_port to max_port as defined in glusterd.vol file and then assigned to the brick. For example: if you have five bricks, you need to have at least 5 ports open within the given range of base_port and max_port. To reduce the number of open ports (for best security practices), one can lower the max_port value in the glusterd.vol file and restart glusterd to get it into effect.3.3 安装客户端

vim /etc/hosts ,添加以下内容192.168.100.2 gfserver1192.168.100.3 gfserver2192.168.100.4 gfserver3# 将FUSE可加载内核模块(LKM)添加到Linux内核modprobe fuse# 验证是否已加载FUSE模块dmesg | grep -i fuse

​感谢

#下载所要安装版本得yum源yum -y install centos-release-gluster9#安装客户端yum -y install glusterfs-client

#查看版本glusterfs -V# 创建挂载目录mkdir -p /data/gfsdata# 挂载/gv0[root等i-8uoxabkv ~]# mount -t glusterfs 192.168.0.251:/gfsvolume /data/gfsdata3.4 问题排查(无问题可跳过)

注意,挂载得时候报错了,Mount failed. Check the log file for more details.

报错了,查看gfs日志

tail -f /var/log/glusterfs/data-gfsdata.log 查询发现是dns解析问题

​感谢

vim /etc/hosts ,添加以下内容

192.168.100.2 gfserver1

192.168.100.3 gfserver2

192.168.100.4 gfserver3

重新挂载成功

​感谢

启动自动挂载

vim /etc/fstab

192.168.0.251:/gfsvolume /data/gfsdata glusterfs defaults 0 0

注意,我测试如果gfs server集群关闭,如果不能挂载,会不会客户端服务器重启后会无法正常进入系统

已验证通过,可以在server集群无法连接得情况系统还能正常加载

 
举报收藏 0打赏 0评论 0
 
更多>同类百科头条
推荐图文
推荐百科头条
最新发布
点击排行
推荐产品
网站首页  |  公司简介  |  意见建议  |  法律申明  |  隐私政策  |  广告投放  |  如何免费信息发布?  |  如何开通福步贸易网VIP?  |  VIP会员能享受到什么服务?  |  怎样让客户第一时间找到您的商铺?  |  如何推荐产品到自己商铺的首页?  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备15082249号-2