GlusterFS分布式部署

本文介绍了GlusterFS的概述和主要特征,包括其扩展性、高性能、高可用性和统一命名空间。详细阐述了如何在Linux环境中进行服务器端和客户端的NTP配置,以及如何分区、格式化磁盘,安装GlusterFS服务器,创建和管理分布式卷,并进行挂载测试。通过实例展示了GlusterFS的同步机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GlusterFS概述

Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.
Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源.
Glusterfs基于堆叠的用户空间设计,可以为不同的工作负载提供高优的性能.
Glusterfs支持运行在任何标准IP网络上标准应用程序的标准客户端,如下图1所示,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据.
Glusterfs主要特征:
扩展性和高性能
高可用
全局统一命名空间
弹性hash算法
弹性卷管理
基于标准协议

官方文档 https://docs.gluster.org/en/latest/Quick-Start-Guide/Quickstart/
1.Server端:
yum install ntp -y
编辑配置文件(/etc/ntp.conf)
restrict default nomodify notrap
在这里插入图片描述
restrict default nomodify notrap (允许所有节点同步)
server ntp1.aliyun.com国内阿里云校时服务器

server 127.127.1.0 iburst local clock
#local clock
如果上面的服务器都无法同步时间,就和本地系统时间同步。127.127.1.0在这里是一个IP地址,不是网段。
server 127.127.1.0 iburst local clock
#127.127.1.0 为第10层。ntp 和127.127.1.0同步完后,就变成了11层。 ntp是层次阶级的。同步上层服务器的stratum 大小不能超过或等于16。

restrict default nomodify notrap (允许所有节点同步)
restrict 127.0.0.1
restrict ::1
server ntp1.aliyun.com
server ntp2.aliyun.com
server 127.127.1.0 iburst local clock
fudge 127.0.0.1 stratum 10
重启ntpd服务 systemctl restart ntpd

2.配置ntp客户端
编辑配置文件(/etc/ntp.conf)
添加如下信息(192.168.79.128为内部ntp server)
restrict 192.168.79.128 nomodify notrap noquery
server 192.168.79.128
重启ntpd服务
在这里插入图片描述
服务端:
在这里插入图片描述
客户端:
在这里插入图片描述
ntpq -p 参数说明
remote: 远程NTP服务器的IP地址或域名,带 “*” 的表示本地NTP服务器与该服务器同步。
refid: 远程NTP服务器的上层服务器的IP地址或域名。
st: 远程NTP服务器所在的层数。
t: 本地NTP服务器与远程NTP服务器的通信方式,u: 单播; b: 广播; l: 本地。
when: 上一次校正时间与现在时间的差值。
poll: 本地NTP服务器查询远程NTP服务器的时间间隔。
reach: 是一种衡量前8次查询是否成功的位掩码值,377表示都成功,0表示不成功。
delay: 网络延时,单位是10的-6次方秒。
offset: 本地NTP服务器与远程NTP服务器的时间偏移。

jitter: 查询偏差的分布值,用于表示远程NTP服务器的网络延时是否稳定,单位为10的-6次方秒。

3.分区、格式化新增磁盘(所有节点均执行)
mkfs.xfs -i size=512 /dev/sdb1
mkdir -p /data/brick1
echo ‘/dev/sdb1 /data/brick1 xfs defaults 1 2’ >> /etc/fstab
mount -a && mount
在这里插入图片描述
安装应用(所有节点执行如下命令)
yum search centos-release-gluster
yum install centos-release-gluster7
yum install glusterfs-server
systemctl start glusterd (systemctl enable glusterd)

T001节点要信任其他节点,执行如下名命令
gluster peer probe T002
gluster peer probe T003
gluster peer status

配置glusterfs 卷
mkdir -p /data/brick1/gv0 (所有节点执行如下命令)
gluster volume create gv0 replica 3 T001:/data/brick1/gv0 T002:/data/brick1/gv0 T003:/data/brick1/gv0 (任意节点执行)
gluster volume start gv0 (启动卷gv0)
gluster volume info 查看卷状态为start
在这里插入图片描述
测试glusterfs卷

测试:
mount -t glusterfs t001:/gv0 /mnt服务器来装载该卷

for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
seq命令用于生成某个范围内的整数,格式为:seq [选项]... [首数] [增量] 尾数。
-f:格式化数据,使用%g表示整数,例如%g aaa%03g。
-s:指定字符分隔产生的所有数字,默认为\n。
-w:使所有数据同宽,位数小的前面补零,不能和-f同时使用。

在这里插入图片描述
在这里插入图片描述
例如:挂载glusterfs t001:/gv1 /mnt/ (测试/data/bricks/gv1 与/mnt一致)
t002 t003 /gv1都会同步t001的
挂载glusterfs t001:/gv3 /hhq/
t002 t003 /gv3都会同步t001的

如果再挂载t003的gv3 mount -t glusterfs t003:/gv3 /hhq1/
那么t001 t003也会同步
并且t003 操作删除 t001 t002同步
而t002 没挂载操作的话,操作不会影响

总结:挂载的操作,其他同步;同挂载的操作会影响
没挂载的操作没什么影响;挂载目录/mnt 与/data/bricks/gv1 同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值